Token hook on Ethereum

Uniswap v4 Hook Contract 0xfd6ec66d4755eff09a404af8bec55bab7440a8cc on Ethereum · Token

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

What it does

A launch-token hook that charges buyers and sellers a tax on each swap, with a sell tax that appears to change after launch and owner-adjustable rates of unverified cap, while LPs can always withdraw.

How it works step by step

  • Acts as a token-launch hook that charges a buy tax and a sell tax on swaps in its pool, using swap return deltas.
  • Sell tax appears to start at a set level when trading opens and changes over time from an open timestamp; buy tax has a stated maximum constant.
  • The owner can call two admin functions that appear to set tax parameters, and a one-time bind function wires up the token and pool addresses.
  • The hook manages its own liquidity positions through the Uniswap position manager and gates who can add liquidity.
  • Collected taxes are taken out of the pool manager and can be transferred to other addresses.
Swap behaviour
On buys and sells the hook can take a tax from the swap amounts through return deltas, with the sell tax apparently decaying from a starting level after the pool opens. Exact tax rates and caps cannot be confirmed from bytecode.
Liquidity behaviour
Adding liquidity passes through a check that may restrict who can add. Remove-liquidity callbacks are disabled, so the hook cannot block or charge LP withdrawals.
Fee behaviour
Charges separate buy and sell taxes on top of the pool fee; a MAX_BUY_TAX_BPS constant suggests a capped buy tax and SELL_TAX_START_BPS suggests a time-decaying sell tax, but exact percentages are not visible in the decoded data. Taxes are taken by the hook and sent to recipients configured at setup.
Owner & admin controls
The owner can call two functions that appear to adjust buy and sell tax settings and a one-time bind function; whether these are capped cannot be verified from bytecode. Ownership can be transferred or renounced.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: restricts pool setup to the intended pool; beforeAddLiquidity: gates liquidity additions; beforeSwap: computes and may take tax on the input side; afterSwap: takes tax from output and updates tracking; beforeSwapReturnDelta/afterSwapReturnDelta: let the hook deduct tax from swap amounts.

Security & trust assessment

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

Who controls it: A single owner controls tax settings and setup binding. The worst case is raising taxes up to whatever unverified limit the code enforces.

Risk to user funds: The hook can deduct a buy or sell tax from each swap; the exact maximum is unknown from bytecode. LP principal cannot be locked by this hook since withdrawal callbacks are disabled.

Security findings

  • [medium] Owner-adjustable swap taxes: Two owner-only functions write the storage used for buy and sell tax; a max buy tax constant exists but the sell tax cap cannot be confirmed from bytecode.
  • [info] Swap amounts can be deducted: Swap return deltas are enabled, so the hook takes tax directly from trades and pulls it from the pool manager.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs cannot be blocked from withdrawing by this hook.

Contract details

Verified source
No
Bytecode size
14,639 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, ownable, return-delta, tax

Pools using Token hook