FeeHook on Robinhood Chain

Uniswap v4 Hook Contract 0x62d5a4b6aadf20d24cedf707be5f2183202b22cc on Robinhood Chain · Dynamic fee · Verified contract

Volume (24h)
$456
Value locked (TVL)
$7.13K
All-time volume
$106.82K
Pools using this hook
1
Swaps (24h)
6 (4 traders)
Total swaps
886

What it does

A Uniswap v4 hook for graduated coins that charges a 1% platform fee plus optional creator tax and launch sniping fee on quote-token trades, splitting the proceeds between a DEV seat race, jackpot, treasury and creators while locking protocol liquidity from removal.

How it works step by step

  • Charges 1% platform fee on quote-denominated swap notional on registered coin pools, with optional creator tax and a 3-second decaying snipe fee on top
  • Uses beforeSwapReturnDelta and afterSwapReturnDelta to take the fee from swap amounts and forward it through POOL_MANAGER.take
  • Splits fees: for arena coins 20% of the platform slice to locked LP, the rest to DevSeat seat, jackpot and treasury; for normal coins 20% to treasury and the rest to the creator or burn pool
  • Blocks removal of protocol LP by the market address in beforeRemoveLiquidity
  • Validates pool creation in beforeInitialize so only the market can create the canonical fee 0 and tick 60 pool
  • Rejects trades whose platform fee rounds to zero (DustTrade)
Swap behaviour
On swaps against registered coins, beforeSwap returns a specified-currency fee delta when the specified side is quote and rejects dust trades. afterSwap collects the fee on the quote side for both exact-in and exact-out, takes it from the pool manager, distributes it, and returns an after-swap delta equal to the fee. Protocol zap swaps (sender MARKET with the locked LP hook data) are exempt.
Liquidity behaviour
beforeRemoveLiquidity reverts with LiquidityLocked when sender is MARKET, so protocol LP (salt-0 market position) cannot be withdrawn. Liquidity adds are not hooked. Locked LP is created by the market and credited 20% of platform fees via creditLp.
Fee behaviour
Pool LP fee is 0. The hook charges a platform fee of 1% (PLATFORM_FEE_BPS 100) on the quote notional, plus any creator tax (up to 10%) and a time-decaying snipe fee in the first 3 seconds after launch, capped below 100%. Fees are taken via POOL_MANAGER.take and split: 20% of the platform slice to locked LP for arena coins, 80% of the total fee to DevSeat, treasury, creator, or burn pool depending on arena status and opt-outs. Burn buys (trader == DEAD) pay fees but record no volume.
Owner & admin controls
Hook has no owner, pause or upgrade functions. Admin power sits in DevSeat: the guardian can propose and accept treasury and guardian rotation after a 24 hour delay, and the market can set the hook and token creator. The hook itself cannot change the fee; PLATFORM_FEE_BPS, creator tax and snipe schedule are fixed in code or set per launch by MARKET.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: validates the pool key (hook address, quote currency, canonical fee 0 and tick 60 only from MARKET). beforeRemoveLiquidity: blocks MARKET from removing liquidity. beforeSwap: returns a specified-currency fee delta on quote-denominated swaps and rejects dust trades. afterSwap: takes fees on the unspecified/quote side, distributes them, and returns an after-swap delta equal to the fee taken. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take a fee from the swap amount, which is how the 1% is charged.

Security & trust assessment

Risk level: medium (verified source, high confidence).

Who controls it: The hook has no privileged role. DevSeat guardian can redirect future treasury accruals to a new address after a 24 hour timelock, and the treasury or guardian can cancel a staged change. MARKET controls hook registration (setHook once), token creators and launch parameters. A compromised MARKET could alter launch parameters such as creator tax (bounded to 10%) and creditLp accounting. Past claimable balances are not redirected.

Risk to user funds: The hook can take up to 1% platform fee plus creator tax and snipe fees, up to 99% total cap, on quote-denominated swaps. It holds fee amounts transiently during swaps and forwards them. It cannot move pool liquidity out of the pool and cannot block swaps except via dust-trade and fee-cap reverts. Fee recipients and their share are determined by DevSeat and the market state.

Security findings

  • [info] Protocol LP is locked: beforeRemoveLiquidity blocks MARKET from removing liquidity, so protocol LP stays in the pool by design.
  • [medium] Hook holds and moves user-side fee funds: The hook takes fees via POOL_MANAGER.take and returns a return delta, so it can hold and forward quote-token balances. Failed transfers fall back to burn escrow or treasury, and failed ETH pushes are credited to claimable balances.
  • [low] No explicit reentrancy guard: Fees are pushed to external addresses (treasury, creators, DevSeat) and failures fall back through claimable or burn pools; reentrancy surfaces rely on the pool manager lock but there is no explicit ReentrancyGuard on the hook.
  • [medium] Guardian key can redirect future treasury accruals: The DevSeat treasury and guardian can be rotated with a 24 hour delay and cancelled. Only the guardian can propose changes, so compromise of the guardian key would redirect future fee accruals after the delay.
  • [low] Price-dependent state from market and oracle: Golden board, arena and seat logic depend on mcap read from MARKET and an optional ETH/USD oracle; stale oracle results block transitions rather than mis-price them.

Contract details

Verified source
Yes (FeeHook)
Compiler
solc 0.8.24+commit.e11b9ed9
Bytecode size
7,316 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta

Pools using FeeHook