Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0xbd517a8031ffb1bd56922928407d12b31c6b60cc on Robinhood Chain · Launchpad

Volume (24h)
$1.71K
Value locked (TVL)
$8.99K
All-time volume
$65.53K
Pools using this hook
4
Swaps (24h)
10 (10 traders)
Total swaps
643

What it does

A launchpad-style hook that tracks per-pool launch and graduation state and collects pending fees and creator tax on swaps, with the exact rules unverified.

How it works step by step

  • Registers pools at initialization and tracks a launch state per pool
  • Runs custom logic before and after each swap through beforeSwap and afterSwap
  • Uses return deltas to take or adjust currency during swaps
  • Accumulates pending base fees and creator tax per pool
  • Exposes sweep to collect accumulated fees and calls the PoolManager unlock flow to settle them
  • Exposes an isGraduated status that likely gates behaviour after a launch phase
Swap behaviour
beforeSwap and afterSwap run custom logic and can return deltas that change swap amounts and collect currency, updating per-pool fee and launch storage.
Liquidity behaviour
Liquidity add and remove hooks (beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity) are exposed as view functions, and the presence of a launch and graduation state suggests liquidity may be restricted before graduation, but this is not confirmed.
Fee behaviour
Pool fees appear to be tracked per pool and split into pending base fees, pending creator tax and pending fees, with a sweep function to collect them; exact fee rates cannot be determined from the decoded bytecode.
Owner & admin controls
No admin controls found in the decoded selectors; no owner, pause or upgrade functions are visible. The protocolRecipient and feeEscrow references suggest protocol-level fee routing parameters, but who can change them cannot be determined from bytecode alone.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize registers pools; beforeSwap and afterSwap run custom logic around trades and can return deltas; beforeSwapReturnDelta and afterSwapReturnDelta let the hook alter swap amounts and take or give currency; afterInitialize is present in the selectors but not enabled in the permissions.

Security & trust assessment

Risk level: medium (decoded bytecode, low confidence).

Who controls it: Without verified source it cannot be confirmed whether an admin key controls fees, graduation or recipient addresses. Any such privilege would directly affect the amounts users receive.

Risk to user funds: The hook can take and sweep currency through PoolManager accounting and return deltas during swaps, so it can affect amounts traders receive and balances it holds for fees. The exact extent cannot be verified without source.

Security findings

  • [medium] Hook can move currency during swaps: The hook enables return deltas, which allow it to take or give currency during swaps, and it moves currency via take and sweep style calls.
  • [medium] Self-unlock with PoolManager: The bytecode contains a self-unlock pattern calling unlock and unlockCallback, meaning the hook can open its own accounting context with the PoolManager.
  • [medium] Unverified source code: No source is verified, so the logic governing graduation, fee splits and recipient addresses cannot be audited.
  • [low] Fee accounting written during swaps: Storage shows per-pool mappings for launch state, fees and pools that are written during swap hooks, so bookkeeping errors could misallocate fees.

Contract details

Verified source
No
Bytecode size
8,825 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta, self-unlock

Pools using Launchpad hook