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