Launchpad hook on Robinhood Chain
Uniswap v4 Hook Contract 0x69d323c1780fc5de35acc8738dcd29c3d0392ac0 on Robinhood Chain · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $443
- All-time volume
- $253.92K
- Pools using this hook
- 38
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 4,709
What it does
A Uniswap v4 hook that manages token launch controls such as sniper tax, dev buy caps and volume bot restrictions for pools it is registered to.
How it works step by step
- Registers per-pool launch configuration including sniper tax, dev buy caps and launch mode via registerLaunch
- Gates liquidity additions and removals through beforeAddLiquidity and beforeRemoveLiquidity
- Applies swap-time restrictions in beforeSwap, such as volume bot wallet blocking and exemption checks
- Tracks per-user balances and launch state in afterSwap
- Maintains an owner-managed volume bot wallet blocklist and global exemption list
- Toggles per-pool activation-in-progress state through setActivationInProgress
- Swap behaviour
- beforeSwap and afterSwap run on every swap and apply launch rules including sniper tax, dev buy caps, volume bot checks and per-user balance tracking, based on decoded storage and selectors.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity are present as callbacks. Their logic likely checks launch state or exemptions before allowing liquidity changes, but the specific restrictions cannot be confirmed without source.
- Fee behaviour
- Launch-time configuration stores per-pool sniper tax (sniperTaxBps) and dev buy parameters (DEV_BUY_CAP_BPS, devBuyAmount). Fee and tax handling is likely applied in beforeSwap/afterSwap during the early launch window, but the exact fee formula cannot be determined from the decoded bytecode alone.
- Owner & admin controls
- Owner-gated functions exist (owner() is referenced in bytecode). setGlobalExemption(address,bool) lets the owner exempt addresses, setVolumeBotWallets(address[]) lets the owner set a volume bot blocklist, setActivationInProgress(bytes32,bool) toggles per-pool activation state, and registerLaunch(...) registers launch configuration including fee and sniper tax parameters. The owner address is stored in a storage slot (0x0d) and can be changed via a function that appears to be dispatched at ownership-related selectors, but the exact transfer mechanism cannot be confirmed without source.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap
beforeInitialize: registers per-pool launch state when a pool is initialized. beforeAddLiquidity: gates liquidity additions for pools under launch controls. beforeRemoveLiquidity: gates liquidity removals for pools under launch controls. beforeSwap: enforces launch rules such as sniper or volume bot restrictions on swaps. afterSwap: updates per-user balances and launch tracking after swaps.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: The owner can register launches, set global exemptions, manage a volume bot blocklist and toggle activation state. A privileged key could potentially exempt itself from restrictions or block specific wallets from trading, which could materially affect who can trade a pool.
Risk to user funds: The hook does not appear to custody pool funds directly from the decoded selectors, but it can restrict who can swap or add and remove liquidity and can charge launch-time sniper tax, which affects user outcomes. Exact fund flows cannot be confirmed without source.
Security findings
- [medium] Owner-controlled trading restrictions: Owner can change the volume bot blocklist and global exemptions, which directly determine which addresses are allowed to swap or provide liquidity.
- [medium] Owner-set launch fee and tax parameters: Launch parameters including sniper tax and dev buy caps are stored per pool and set by the owner via registerLaunch, so the owner controls the fee and restriction profile of each launch.
- [info] Hook sits in the swap path: The hook implements beforeSwap and afterSwap and stores per-user balances, so it observes all swap activity for registered pools; this is expected for launch tracking but means the hook is in the critical path of trading.
- [info] Single owner trust assumption: The bytecode references owner() and Panic errors but no verified source or upgrade mechanism was found in the decoded selectors, so the owner key is the main trust assumption.
Contract details
- Verified source
- No
- Bytecode size
- 10,059 bytes
- Upgradeable proxy
- No
- Detected patterns
- ownable
Pools using Launchpad hook
- ETH / Fluffy (Dynamic fee) — 24h volume $0, TVL $308, 0 swaps today
- ETH / HOODIEZ (Dynamic fee) — 24h volume $0, TVL $0.53, 0 swaps today
- ETH / SIMBA (Dynamic fee) — 24h volume $0, TVL $0.39, 0 swaps today
- ETH / PUSS (Dynamic fee) — 24h volume $0, TVL $0.13, 0 swaps today
- ETH / BUFF (Dynamic fee) — 24h volume $0, TVL $0.22, 0 swaps today
- ETH / PONY (Dynamic fee) — 24h volume $0, TVL $0.13, 0 swaps today
- ETH / WWW (Dynamic fee) — 24h volume $0, TVL $0.66, 0 swaps today
- ETH / V4 (Dynamic fee) — 24h volume $0, TVL $25, 0 swaps today
- ETH / GTAVI (Dynamic fee) — 24h volume $0, TVL $0.21, 0 swaps today
- ETH / GNOME (Dynamic fee) — 24h volume $0, TVL $2.49, 0 swaps today
- ETH / RWA (Dynamic fee) — 24h volume $0, TVL $0.12, 0 swaps today
- ETH / GNOME (Dynamic fee) — 24h volume $0, TVL $1.73, 0 swaps today
- ETH / GWIZ (Dynamic fee) — 24h volume $0, TVL $0.14, 0 swaps today
- ETH / HULK (Dynamic fee) — 24h volume $0, TVL $0.13, 0 swaps today
- ETH / PROMETHEUS (Dynamic fee) — 24h volume $0, TVL $0.18, 0 swaps today
- ETH / GNOME (Dynamic fee) — 24h volume $0, TVL $1.61, 0 swaps today
- ETH / REMUS (Dynamic fee) — 24h volume $0, TVL $0.12, 0 swaps today
- ETH / LEGENDS (Dynamic fee) — 24h volume $0, TVL $0.12, 0 swaps today
- ETH / PARKIFY (Dynamic fee) — 24h volume $0, TVL $0.12, 0 swaps today
- ETH / FROG (Dynamic fee) — 24h volume $0, TVL $0.12, 0 swaps today