Token hook on Ethereum

Uniswap v4 Hook Contract 0x1b6a1070a5289a31495d085c82eb6725614720c4 on Ethereum · Token

Volume (24h)
$425
Value locked (TVL)
$0
All-time volume
$425
Pools using this hook
1
Swaps (24h)
10 (2 traders)
Total swaps
10

What it does

Token launch hook that blocks swaps until the owner enables trading, then charges owner-set buy and sell taxes (capped at an unverified maximum) sent to a treasury, with tax-exempt addresses paying nothing and ordinary LPs free to withdraw.

How it works step by step

  • Charges a buy tax and a separate sell tax on swaps in the token's pool, taken from swap output through the hook's return delta.
  • Has a trading switch: swaps revert until the owner calls enableTrading, which cannot be undone according to the visible functions.
  • Collects tax in tokens and ETH, then converts or forwards it to a treasury address chosen by the owner.
  • Can hold and time-lock a liquidity position NFT, which the owner can extend, withdraw after unlock, or use to collect LP fees.
  • The owner can mark addresses as tax-exempt.
Swap behaviour
Before trading is enabled, swaps revert. After that, swaps in the pool pay the current buy or sell tax, which the hook deducts from the swap amount, unless the trader is tax-exempt.
Liquidity behaviour
No liquidity callbacks are active, so LPs can add and withdraw freely through the PoolManager. Separately, the hook can custody its own locked LP position NFT, and the owner can withdraw it after the lock expires.
Fee behaviour
Buy and sell tax rates are set separately by the owner and are capped by a MAX_TAX_BPS constant whose exact value cannot be read from the bytecode. Collected tax is sent to the treasury, with ETH proceeds tracked over time.
Owner & admin controls
The owner can set the buy and sell tax up to an unknown hard-coded maximum, change the treasury, set tax exemptions, enable trading once, and lock, extend, collect fees on, or withdraw the hook-owned LP position. Ownership can be transferred or renounced.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, afterSwapReturnDelta

beforeInitialize: binds the hook to one pool and records its settings; beforeSwap: blocks trading until it is enabled; afterSwap: calculates the buy or sell tax; afterSwapReturnDelta: takes the tax out of the swap amount.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, medium confidence).

Who controls it: A single owner controls the tax rates (up to an unverified cap), tax exemptions, the treasury address, the trading switch and the hook's locked LP position. The worst case is raising tax to the cap or exempting favored addresses.

Risk to user funds: The hook deducts the buy or sell tax from swap amounts, up to a cap whose exact size is unknown. Ordinary LP positions cannot be locked or charged because remove-liquidity callbacks are disabled.

Security findings

  • [medium] Owner-adjustable buy and sell tax: The owner can change the tax rates up to a MAX_TAX_BPS cap, but the size of that cap cannot be confirmed from the bytecode.
  • [low] Trading gate before launch: All swaps revert until the owner enables trading. No function to turn trading off again is visible.
  • [low] Selective tax exemptions: The owner can exempt chosen addresses from tax, so those traders pay less than everyone else.
  • [info] Hook-held LP position: Only the hook's own time-locked position NFT is held. The owner can withdraw it once the unlock time passes, and other LPs' withdrawals are unaffected.

Contract details

Verified source
No
Bytecode size
13,116 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, ownable, return-delta, self-unlock, tax

Pools using Token hook