Launchpad hook on Robinhood Chain
Uniswap v4 Hook Contract 0x72202d778c6e47c424aa38003cefe233fcc05ac4 on Robinhood Chain · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $6.54K
- All-time volume
- $477.08K
- Pools using this hook
- 11
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 4,961
What it does
A launchpad-style Uniswap v4 hook that takes a share of swap output into a platform treasury and uses it for buybacks, based on decoded bytecode without verified source.
How it works step by step
- Records pool configuration and initial state in afterInitialize
- Gates or tracks liquidity additions and removals in before and after liquidity callbacks
- Takes a share of swap output via afterSwapReturnDelta
- Routes collected value to a platform treasury address
- Exposes executeBuyback and sweepToken entry points for token handling
- Uses DISCOUNT_BPS and TWAP_WINDOW constants in its pricing or buyback logic
- Swap behaviour
- beforeSwap reads pool state, afterSwap updates tracked state and afterSwapReturnDelta lets the hook take part of the swap output as a return delta for platform fees and buybacks.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity callbacks are enabled and afterAddLiquidity/afterRemoveLiquidity selectors exist in the dispatcher, indicating liquidity actions are checked or tracked by the hook. The hook does not appear to hold LP positions itself, but its exact gating logic cannot be determined.
- Fee behaviour
- Hook uses return deltas in afterSwap and a platform treasury address; fee or delta mechanics appear tied to a buyback and treasury flow, with a DISCOUNT_BPS constant (0x94718213) and TWAP_WINDOW constant (0xe2c1d1d1) present. Exact fee rates cannot be determined from decoded bytecode alone.
- Owner & admin controls
- Decoded selectors suggest a platform-level configuration: setter-style entry point 0x99aa254e (nonpayable, three addresses) writes storage slots 0x0f, 0x10 and 0x11, which are read as platform treasury and platform token addresses. Whether this setter is access-controlled cannot be confirmed without source; no owner() or pause selector was identified. The sweepToken(address,address) selector 0x258836fe and executeBuyback(...) 0x22ebb0f8 are also nonpayable and likely restricted to a privileged role, but this is unverified.
Enabled Uniswap v4 callbacks
afterInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta
afterInitialize: records pool configuration and state at pool creation. beforeAddLiquidity: checks or gates liquidity additions. beforeRemoveLiquidity: checks or gates liquidity removals. beforeSwap: reads pool state before a swap. afterSwap: updates tracked state after a swap. afterSwapReturnDelta: lets the hook take a share of the swap output as a return delta, which is used for the fee and buyback mechanism.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A privileged key may be able to set the platform treasury and token addresses, execute buybacks and sweep tokens held by the hook. Without source, the exact scope of these powers and any timelock or multisig are unknown.
Risk to user funds: The hook can take value from swaps through its return delta and may hold tokens that can be moved by sweepToken or buyback functions. Whether ordinary LP or trader funds are exposed depends on access control, which cannot be confirmed from decoded bytecode.
Security findings
- [medium] Hook takes swap value via return delta: afterSwapReturnDelta is enabled, so the hook can take part of every swap's output and direct it to its own accounting. This is a standard but significant mechanism.
- [high] Token sweep and buyback entry points: Selector 0x258836fe sweepToken(address,address) and executeBuyback are nonpayable; if callable by an unrestricted caller they could move hook-held tokens. Access control not verifiable from bytecode alone.
- [medium] Mutable treasury and token addresses: Platform treasury and platform token addresses are stored in slots 0x0f to 0x11 and set through selector 0x99aa254e. Changing them could redirect fees if that setter is not restricted.
- [info] Unverified source: No verified source is available, so behaviour and access control are inferred from selectors and storage access patterns only.
Contract details
- Verified source
- No
- Bytecode size
- 24,325 bytes
- Upgradeable proxy
- No
- Detected patterns
- return-delta
Pools using Launchpad hook
- ETH / SMURF (0.30% fee) — 24h volume $0, TVL $6.50K, 0 swaps today
- ETH / test2 (0.30% fee) — 24h volume $0, TVL $9.53, 0 swaps today
- ETH / test7 (0.30% fee) — 24h volume $0, TVL $4.77, 0 swaps today
- ETH / test6 (0.30% fee) — 24h volume $0, TVL $4.77, 0 swaps today
- ETH / test5 (0.30% fee) — 24h volume $0, TVL $4.77, 0 swaps today
- ETH / test4 (0.30% fee) — 24h volume $0, TVL $4.77, 0 swaps today
- ETH / test3 (0.30% fee) — 24h volume $0, TVL $4.77, 0 swaps today
- ETH / test1 (0.30% fee) — 24h volume $0, TVL $4.77, 0 swaps today
- ETH / SMURF (0.30% fee) — 24h volume $0, TVL $2.38, 0 swaps today
- ETH / SMURF (0.30% fee) — 24h volume $0, TVL $2.38, 0 swaps today
- test7 / PLATFORM (0.30% fee) — 24h volume $0, TVL $0, 0 swaps today