PumpFeeHook on Robinhood Chain

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

Volume (24h)
$0
Value locked (TVL)
$10.41K
All-time volume
$2.01M
Pools using this hook
4
Swaps (24h)
0 (0 traders)
Total swaps
17,014

What it does

Charges a market-cap-tiered creator and protocol fee on token swaps for launchpad pools that graduated from a bonding curve, while setting the pool's LP fee dynamically per tier.

How it works step by step

  • Registers a pool in afterInitialize only when initialized by a factory-registered bonding curve migrator for the same token.
  • Derives the token market cap from the pool sqrt price and total supply.
  • Selects a fee tier from an immutable, ascending market cap schedule.
  • Applies the tier LP fee via dynamic fee override on every swap.
  • Takes creator and protocol fees from the input currency via return deltas and tracks them in creatorOwed and protocolOwed.
  • Lets anyone skim accrued fees to the creator and protocol recipient, re-crediting amounts on failed payouts.
Swap behaviour
On each swap the hook resolves the tier from the current pool spot market cap, sets the tier's LP fee override, and takes creator plus protocol fees from the trader's input currency (in beforeSwap for exactInput, afterSwap for exactOutput), accruing them for later payout.
Liquidity behaviour
No liquidity callbacks. Add and remove liquidity hooks are disabled.
Fee behaviour
Each pool resolves a fee tier from its spot market cap (derived from sqrtPriceX96 and token totalSupply). The LP fee is set per swap via an override flag, and the hook takes an additional creator plus protocol fee (combined capped at 15,000 pips, i.e. 1.5%) on the trader's input currency, accrued in creatorOwed and protocolOwed and paid out on skim.
Owner & admin controls
No admin controls found. Tier schedule and PROTOCOL_FEE_RECIPIENT are immutable, set at construction. The hook exposes no owner, pause or upgrade function; the only mutable state is creator sync (permissionless, verified against factory and curve) and skim (permissionless, pays creator and protocol recipient).

Enabled Uniswap v4 callbacks

afterInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

afterInitialize: validates and registers the pool for a graduating bonding curve and records its creator. beforeSwap: resolves the tier, sets the LP fee override and takes the hook fee on exactInput swaps. afterSwap: takes the hook fee on exactOutput swaps from the unspecified input side. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to take input-currency deltas from the pool.

Security & trust assessment

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

Who controls it: No privileged key. Creator and protocol recipient addresses receive fees but cannot alter fee parameters, tiers or pool state. Creator address can be re-synced to the curve's current CREATOR by anyone.

Risk to user funds: The hook holds accrued creator and protocol fee balances in its own balance (taken from the pool) until skim. It cannot move LP principal or block swaps by admin action, and fee payouts are retried on failure rather than lost.

Security findings

  • [info] Hook custody of fee tokens: The hook takes tokens via beforeSwap and afterSwap return deltas, so user swap amounts are reduced by the hook fee; fees accrue as custody in the hook contract until skimmed.
  • [info] Immutable fee schedule: Fee tiers are immutable and capped at 1.5% hook fee plus the LP fee cap; no path exists for owners to raise fees after deployment.
  • [low] Spot-price tier selection can be manipulated: Market cap is derived from the instantaneous pool spot price, which a trader can move with a large swap before a fee-sensitive swap, potentially selecting a cheaper tier within the same transaction.
  • [info] Payout failure handling: skim uses a 30,000 gas stipend for ETH payouts and a try/catch for ERC20 transfers; failed payouts are re-credited, so fees are not lost but can remain stuck if the recipient reverts persistently.

Contract details

Verified source
Yes (PumpFeeHook)
Compiler
solc 0.8.28+commit.7893614a
Bytecode size
7,877 bytes
Upgradeable proxy
No
Detected patterns
erc20, launchpad, moves-currency, return-delta

Pools using PumpFeeHook