FeeHook on Robinhood Chain
Uniswap v4 Hook Contract 0xac4ee3b6f95685092567e1482f462d9991da80cc on Robinhood Chain · Dynamic fee · Verified contract
- Volume (24h)
- $56
- Value locked (TVL)
- $9.09K
- All-time volume
- $236.52K
- Pools using this hook
- 1
- Swaps (24h)
- 5 (4 traders)
- Total swaps
- 5,232
What it does
A Robinhood Chain launch hook that charges a 3% fee on token buys and sells in ETH, with a 99% decaying anti-sniper fee for a limited window after launch, except for pre-approved wallets.
How it works step by step
- Blocks all swaps until openTrading() is called or 30 days after deployment.
- Charges 3% on buys and sells, always taken in ETH, to an immutable treasury.
- Decays the fee linearly from 99% to 3% over the snipe window for non-exempt wallets.
- Lets allowlisted wallets (via Merkle proof or owner-loaded list before launch) pay 3% during the window.
- Enforces a per-wallet token buy cap for exempt wallets during the window.
- Leaves wallet-to-wallet transfers and liquidity operations untouched.
- Swap behaviour
- On every swap, the hook reverts if trading has not opened. On buys and sells it takes a fee in ETH (currency0) sent to the treasury: in the snipe window the rate decays linearly from 99% to 3% for non-exempt wallets, and exempt wallets pay 3%. Exempt wallets are also capped in how many tokens they can buy during the window.
- Liquidity behaviour
- No liquidity callbacks. Adding or removing liquidity is not affected by the hook.
- Fee behaviour
- Takes a fee on buys and sells only, always denominated in currency0 (ETH), sent to the immutable treasury. Base fee is 3% (FEE_BPS 300). During a launch window of SNIPE_WINDOW seconds the fee decays linearly from 99% at open to 3% at window end; exempt (allowlisted) wallets pay 3% throughout. If the owner never opens trading, the window auto-starts after AUTO_OPEN_AFTER (30 days) from deployment.
- Owner & admin controls
- Owner (two-step transfer, renounceable) can only call openTrading() once and setExemptMany() before trading opens; cannot move funds, change fee rate, treasury, or window length (all immutable/constant). Owner can be renounced.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeSwap: gates all swaps until trading opens and takes the fee when ETH is the specified side. afterSwap: enforces the per-wallet buy cap for exempt wallets in the window and takes the fee when ETH is the unspecified side. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take the fee out of the swap amounts.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: The owner cannot touch user funds or alter fees, but can open trading once (ending the pre-launch closure early) and can add arbitrary addresses to the exempt list before launch, which grants them the 3% rate and a buy cap instead of 99% during the window.
Risk to user funds: The hook takes ETH fees via poolManager.take and return deltas on swaps only; it does not hold a balance or custody user funds and cannot block liquidity withdrawal. Swaps can be blocked before trading opens, and the owner can add exempt wallets before launch.
Security findings
- [info] Swaps blocked before launch: While trading is not open, every swap reverts, so the pool is closed until openTrading() is called or AUTO_OPEN_AFTER elapses.
- [medium] Owner can add exempt wallets before launch: setExemptMany lets the owner add any non-zero address to the exempt list until trading opens, allowing selected wallets to buy at 3% during the snipe window instead of 99%.
- [info] Fee routed to immutable treasury: Fee is taken via poolManager.take to an immutable treasury address on every buy and sell, so the treasury receives 3% of flow and up to 99% during the window.
- [info] No pause or upgrade path: The owner can renounce or transfer ownership in two steps; the owner has no ability to pause trading after it opens or to change fee parameters.
Contract details
- Verified source
- Yes (FeeHook)
- Compiler
- solc 0.8.24+commit.e11b9ed9
- Bytecode size
- 6,758 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, moves-currency, ownable, return-delta
Pools using FeeHook
- ETH / MINR (0.30% fee) — 24h volume $56, TVL $9.09K, 5 swaps today