Token hook on Ethereum
Uniswap v4 Hook Contract 0x620f75080ec7ee84d53addace146e1da54b460cc on Ethereum · Token
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
This hook charges a tax on taxed swaps, with the amount set per pool, and sends the collected tax to the pool's creator and the treasury, so traders pay more than the pool's base fee while LPs do not receive this tax.
How it works step by step
- Hook sets a per-pool tax configuration in beforeInitialize and stores it in a configs mapping keyed by pool
- Charges a tax on swaps via beforeSwap and afterSwap return deltas, using MIN_TAX_BPS and MAX_TAX_BPS bounds
- Accrues the tax into creatorOwed and treasuryOwed balances, split by CREATOR_BPS
- Lets the creator and the treasury claim their accrued balances through claimCreator and claimTreasury
- Uses a factory address, set by the owner, to register creators via setCreator for pools
- Swap behaviour
- beforeSwap and afterSwap both run and can return deltas, so the hook takes a tax from swaps, which pay more than the static pool fee; the exact direction (buy or sell) and rate could not be confirmed from decoded bytecode.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- A tax in basis points, bounded by MIN_TAX_BPS and MAX_TAX_BPS and stored per pool in configs, is taken by the hook and split between creator and treasury balances; the creator share is CREATOR_BPS.
- Owner & admin controls
- Owner (Ownable) can set the factory address and can renounce ownership; creator and treasury accounts claim their own balances; no pause or upgrade mechanism was observed.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize reads and stores the pool tax configuration; beforeSwap and afterSwap apply the tax and may return deltas that move currency to the hook; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to adjust the swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: The owner controls the factory address and can renounce ownership; the bytecode does not show a direct path to change tax rates after initialization, but this is not confirmed.
Risk to user funds: The hook holds accrued creator and treasury balances and can take a tax from each taxed swap; users pay the tax in the swap amount, and funds held by the hook can only leave through the claim functions.
Security findings
- [medium] Hook takes currency via return deltas: beforeSwapReturnDelta and afterSwapReturnDelta are enabled and the bytecode calls take, so the hook withdraws tokens from the pool on each taxed swap.
- [info] Unverified source: No verified source is available, so the tax math, bounds enforcement and claim logic were inferred from bytecode only.
- [low] Owner can set factory: The owner can change the factory address through setFactory, which controls creator registration via setCreator.
Contract details
- Verified source
- No
- Bytecode size
- 4,452 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, ownable, return-delta, tax
Pools using Token hook
- NVDAon / Test (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today