Launchpad hook on Robinhood Chain
Uniswap v4 Hook Contract 0x066fa23e6f598838824c2d172d3abd88bcad70cc on Robinhood Chain · Launchpad
- 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 starts pool fees high at launch and lowers them over time toward a floor, so early swaps pay more and later swaps pay less, while it also skims a hook fee from each swap.
How it works step by step
- Initializes a pool and records the launch timestamp (launchedAt) in afterInitialize, with a fee that starts high and decays over time
- Charges a dynamic fee on swaps that starts at START_FEE_BPS and decays per minute by DECAY_BPS_PER_MINUTE down to FLOOR_FEE_BPS
- Takes a hook fee in afterSwap by taking the fee currency from the pool manager and accumulating it in pendingFees
- Uses afterSwap return deltas to take a portion of the swap output or input as hook fees
- Redeems accumulated fees through redeemFees, which unlocks the pool manager via unlockCallback and sends fees out
- Has a game and imd address reference that suggests fee or proceeds routing to external contracts, though their use is not confirmed from bytecode
- Swap behaviour
- beforeSwap and afterSwap run on every swap. The swap fee is derived from feeBps, which is decayed from the start fee over time since launch toward the floor. Swaps made early after launch pay a higher fee and later swaps pay less. Afterwards a hook fee is taken through return deltas and recorded in pendingFees.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity are present as selectors and are likely to be gated or only logged. Their exact logic cannot be confirmed from the decoded bytecode.
- Fee behaviour
- The swap fee starts at START_FEE_BPS and decays by DECAY_BPS_PER_MINUTE toward FLOOR_FEE_BPS since launchedAt. A hook fee is taken on swaps and accumulated in pendingFees, then redeemed via redeemFees.
- Owner & admin controls
- No owner or admin selector was identified in the decoded functions. redeemFees is callable by anyone according to the selector list, so fee redemption is not clearly restricted. No pause or upgrade function was found.
Enabled Uniswap v4 callbacks
beforeInitialize, afterInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize and afterInitialize record pool setup and launch time. beforeSwap sets the dynamic fee for each swap. afterSwap takes the hook fee. beforeSwapReturnDelta and afterSwapReturnDelta let the hook take a cut of swap amounts. Liquidity callbacks are enabled in the bytecode selectors but permissions do not list them.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: Without verified source the owner or privileged roles could not be identified. Any admin role would be unclear from the bytecode, so the exact power of a privileged key cannot be confirmed.
Risk to user funds: The hook takes swap currency through return deltas and holds accumulated fees in pendingFees until redeemed. It can move pool and user funds to fee recipients through the unlock path, but cannot block swaps from the decoded selectors.
Security findings
- [medium] Hook takes currency via return deltas: afterSwap and beforeSwap return deltas let the hook take part of each swap, so every trade routed through the pool pays this cut.
- [medium] Fee redemption may be permissionless: redeemFees (0x3a047bb3) is nonpayable and no access check was identified in decoded bytecode, so anyone may trigger fee withdrawals, which needs confirming.
- [low] Self-unlock pattern: The hook calls unlock and implements unlockCallback, so it runs its own pool manager unlock flow to move currency during fee redemption.
- [info] Decaying fee schedule depends on launch timestamp: The fee depends on launchedAt stored in slot 2 and set during afterInitialize, so the schedule is fixed once the pool is initialized.
Contract details
- Verified source
- No
- Bytecode size
- 5,342 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, liquidity-management, moves-currency, return-delta, self-unlock
Pools using Launchpad hook
- IMD / GAMMA (1.25% fee) — 24h volume $0, TVL $0, 0 swaps today