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