Launchpad hook on Robinhood Chain
Uniswap v4 Hook Contract 0xc1b95888024838d5208e312d8f68590e3843b0cc on Robinhood Chain · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $2.33K
- All-time volume
- $1.44M
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 24,569
What it does
Appears to be a launch-phase hook that applies a decaying snipe fee to early swaps and routes the collected fees into a pot, rewards and a fee sink, while also recording TWAP observations.
How it works step by step
- Records per-pool initialization data and token mapping at pool creation
- Tracks swaps and accumulates snipe fees per pool during an early window
- Splits accumulated fees between a pot, rewards and a fee sink using basis-point parameters
- Maintains a tick and price observation buffer exposing TWAP quote functions
- Provides skim and stray token sweep functions for recovering balances
- Swap behaviour
- beforeSwap and afterSwap are implemented and the hook uses return deltas, so it can adjust or take amounts during swaps, likely charging a snipe fee in the early window and recording observations.
- Liquidity behaviour
- beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity selectors are present, so the hook observes liquidity changes; whether it restricts them is not determinable from selectors alone.
- Fee behaviour
- Exposes feeBps(), snipeBps(bytes32), feesOf(bytes32) and POT_SHARE_BPS/REWARD_SHARE_BPS/SNIPE_START_BPS getters, suggesting a time-decaying snipe fee that is accumulated per pool and split between a pot, rewards and a fee sink; exact formulas could not be confirmed.
- Owner & admin controls
- No owner or pause functions identified in the decoded selectors. sweepStrayToken(address) and skim(bytes32) are callable externally and may be permissionless or access-gated; authorization could not be confirmed from bytecode alone. _setTermLengthDays(uint256) (0x6cc62c88) is present as a selector and could be an admin-set parameter, but its access control is unknown. Parameter getters (feeBps, snipeBps, SNIPE_POWER, POT_SHARE_BPS, REWARD_SHARE_BPS, SNIPE_START_BPS, SNIPE_WINDOW_SECONDS) indicate configurable or constant economic parameters.
Enabled Uniswap v4 callbacks
beforeInitialize, afterInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize and afterInitialize record pool initialization data (initTickOf, tokenOf); beforeSwap and afterSwap track swaps and accumulate fees and TWAP observations; beforeSwapReturnDelta and afterSwapReturnDelta indicate the hook can take a share of swap amounts through return deltas; the liquidity and donate callbacks are present as selectors but are not described by the permission flags.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: Unknown without source. If sweepStrayToken, skim or _setTermLengthDays are owner-gated, a privileged key could redirect stray tokens or alter timing parameters; a sweep function may also be able to reach accumulated fees.
Risk to user funds: The hook can take a share of swap output through return deltas and holds accumulated fees, pot and reward balances, so it can hold and move pool-related funds. Exact amounts and conditions are not confirmed from decoded bytecode.
Security findings
- [medium] Hook takes currency via return deltas: Return-delta permissions plus the take and transfer selectors mean the hook can take part of swap amounts and move currency out of the pool.
- [medium] Token sweep and skim functions with unverified access control: sweepStrayToken(address) and skim(bytes32) are externally callable state-changing functions; whether they are access-controlled could not be verified from bytecode.
- [info] Time-decaying snipe fee logic: Fee accounting, pot and reward splits depend on time-based snipe parameters, so swap pricing for early traders is controlled by hook logic.
- [info] Per-pool state and TWAP oracle: Storage mappings are keyed by pool id and the hook writes oracle-style observations, so behaviour is tied to per-pool state.
Contract details
- Verified source
- No
- Bytecode size
- 12,048 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Launchpad hook
- ETH / BOUNTY (1.00% fee) — 24h volume $0, TVL $2.33K, 0 swaps today