Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0x32c60768a21e0385fdf266aad2e9a5c0ae97a8a8 on Robinhood Chain · Launchpad

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
1
Swaps (24h)
2 (1 traders)
Total swaps
2

What it does

This hook appears to run a token launch sale in which swaps can be partly filled by the hook at its own staged price, but without source the exact pricing and which trades pay more or less cannot be confirmed.

How it works step by step

  • Exposes an initialize(address) entry point and a poolManager() getter, indicating it is bound to a single Uniswap v4 PoolManager after setup.
  • Implements beforeInitialize to gate pool creation for the hook's pool configuration.
  • Implements beforeSwap with beforeSwapReturnDelta enabled, so the hook can take a custom amount from swaps and settle currency itself.
  • Calls take, settle and sync on the PoolManager, which means the hook moves currency in and out of pool accounting during swaps.
  • References saleOf(address), stage(), executeBuy(address,address), token() and router() selectors, suggesting a sale or staged buy flow in which the hook sells tokens against the pool.
  • Has an initialPrice() getter, consistent with a fixed or staged launch price rather than an AMM curve.
Swap behaviour
beforeSwap runs on every swap and can return a delta, so the hook can fill or divert part of the swap amount. The bytecode also contains executeBuy and take/settle/sync calls, indicating that during the sale stage the hook may execute buys at its own price instead of the pool curve. Which trades pay more or less cannot be determined from decoded bytecode alone.
Liquidity behaviour
beforeAddLiquidity is implemented and can revert or gate liquidity additions; no removal callback is enabled.
Fee behaviour
No dynamic fee callback is enabled; fees are not visibly set by the hook from the decoded selectors, so the pool's configured fee applies unless the swap delta changes the flow.
Owner & admin controls
initialize(address) is a nonpayable setup function; whether it is access-controlled cannot be confirmed without source. No owner, pause or upgrade functions were identified from the selectors.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, beforeDonate, beforeSwapReturnDelta

beforeInitialize: validates pool setup on creation. beforeAddLiquidity: gates or restricts liquidity additions. beforeSwap with beforeSwapReturnDelta: lets the hook intercept swaps and return a custom delta, taking or supplying currency. beforeDonate: gates donations to the pool.

Security & trust assessment

Risk level: high, estimated (decoded bytecode, low confidence).

Who controls it: Without source it is unclear whether a privileged key controls stage transitions, pricing or initialization; if so, that key could change sale terms or redirect flows affecting swappers.

Risk to user funds: The hook can hold and move pool currency through take/settle/sync and return deltas during swaps, so user funds routed through the pool are exposed to its logic.

Security findings

  • [high] Return-delta swap interception: beforeSwapReturnDelta is enabled and the bytecode calls take/settle/sync, so the hook can take or supply currency on swaps and alter the amounts users receive.
  • [medium] Unverified initialize entry point: initialize(address) is nonpayable with no visible access check in decoded form; if it is callable by anyone before proper setup, the hook binding could be hijacked.
  • [medium] Staged buy execution: executeBuy and stage/saleOf selectors suggest the hook sells tokens at a configured price during a stage, so pricing and stage transitions are controlled by hook state that users cannot inspect without source.
  • [info] Missing source: No verified source is available, so the exact conditions and privileged roles could not be confirmed.

Contract details

Verified source
No
Bytecode size
7,500 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, return-delta

Pools using Launchpad hook