Launchpad hook on Robinhood Chain
Uniswap v4 Hook Contract 0xa22ae081d6b3131fd99a18bb09ea8efe0065c0c8 on Robinhood Chain · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $6.14K
- All-time volume
- $257
- Pools using this hook
- 2
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 5,750
What it does
A launch-phase hook that applies time-dependent fees and anti-snipe limits to a new token pool, with fees pulled to a configured bank address.
How it works step by step
- Sets a higher launch fee (LAUNCH_FEE_BPS) early, then a mid-stage fee (MID_FEE_BPS), then a standard fee (FEE_BPS) based on launchTime.
- Applies anti-snipe limits during SNIPE_SECS, including a max wallet share (MAX_WALLET_BPS) and max swap share of reserves (MAX_SWAP_RESERVE_BPS).
- Tracks per-address purchases during the launch window through launchBought.
- Takes a fee portion via return delta during swaps and accumulates it.
- Withdraws accumulated fees to a bank address through pullFees.
- Uses an unlock callback to settle ERC20 balances with the pool manager.
- Swap behaviour
- beforeSwap adjusts the fee and checks launch limits, and afterSwap updates reserves and accounting; beforeSwapReturnDelta lets the hook take part of the swap amount.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity selectors are present, suggesting liquidity callbacks exist, but the hook permissions list does not enable them, so they are likely unreachable.
- Fee behaviour
- Fees are computed dynamically through currentFeeBps() and constants such as LAUNCH_FEE_BPS, MID_FEE_BPS and FEE_BPS, with a time-based launch window (launchTime, SNIPE_SECS). pullFees() suggests accumulated fees are withdrawn to a bank address.
- Owner & admin controls
- setBank(address) is callable, and seedGenesis(uint160) sets the initial pool state; no owner modifier is decoded, so access control on these setters cannot be confirmed from bytecode alone. Exact admin roles are undetermined.
Enabled Uniswap v4 callbacks
beforeSwap, afterSwap, beforeSwapReturnDelta
beforeSwap: adjusts swap fees and gating during the launch window. afterSwap: updates reserves and launch accounting. beforeSwapReturnDelta: lets the hook take or supply a portion of the swap amount, used for fee capture or reserve management.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: setBank and seedGenesis appear to be privileged setters that can redirect fee destinations or initialise the pool; without verified access checks, a key holder may be able to redirect fees.
Risk to user funds: The hook can take or supply tokens during swaps through return deltas and moves balances via the pool manager, so it can hold and redirect a share of trade value. Launch limits may also block certain wallets or swap sizes.
Security findings
- [medium] Return delta can take part of swap value: beforeSwapReturnDelta lets the hook alter the amounts settled in each swap, so the hook can take a portion of user swap flow.
- [medium] Unverified privileged setters: setBank(address) and seedGenesis(uint160) are state-changing and no access check is visible in the decoded selectors, so the destination of fees may be changeable.
- [info] Hook moves currency via self-unlock: unlockCallback and a self-unlock pattern with take and transfer calls mean the hook moves ERC20 balances through the pool manager.
- [info] Launch-phase trading limits: Launch window and anti-snipe parameters (SNIPE_SECS, MAX_WALLET_BPS, MAX_SWAP_RESERVE_BPS) cap trading for some participants during launch.
Contract details
- Verified source
- No
- Bytecode size
- 12,203 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc20, moves-currency, return-delta, self-unlock
Pools using Launchpad hook
- HAVEN / GLD (0.00% fee) — 24h volume $0, TVL $6.14K, 0 swaps today
- USDG / HAVEN (4.00% fee) — 24h volume $0, TVL $0, 0 swaps today