Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0x117fbbb38f2f3f406c3446c81f9f9cba9d2e00cc on Robinhood Chain · Launchpad

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

What it does

Appears to be a launch-style pool hook that applies a configurable swap tax on a quote token and routes the collected funds to rewards, with privileged launch-manager control.

How it works step by step

  • Stores a per-pool tax configuration (tax BPS, tax-related parameters) keyed by pool id.
  • Records the quote token for each pool and whether the pool is registered.
  • Applies a tax on swaps by taking a portion of swap currency through return deltas.
  • Forwards collected currency via take and notifies a reward contract via notifyReward.
  • Restricts pool registration and launch-manager changes to privileged addresses.
Swap behaviour
beforeSwap and afterSwap run on every swap; the hook reads the pool's tax configuration and quote token, and uses return-delta permissions to take a share of the swap currency.
Liquidity behaviour
beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity and donate hooks are present as selectors but appear to be default/no-op style callbacks; no liquidity mutation confirmed.
Fee behaviour
Hook maintains per-pool tax configuration (poolTaxConfig, MAX_TAX_BPS, BPS constants) read during swaps, indicating a dynamic tax taken from swaps; the exact tax rate and recipient split cannot be determined without source.
Owner & admin controls
bootstrapAdmin() and setLaunchManager(address) are selectors present; setLaunchManager appears to be restricted (NotBootstrapAdmin / NotLaunchManager errors present). Storage slot 0 holds a privileged address written by setLaunchManager. Pool-level tax parameters are written via registerPool/0c77f5ad-type functions. Exact authorization logic cannot be fully confirmed from bytecode alone.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeSwap: reads pool tax configuration and quote token and may return a swap delta. afterSwap: post-swap accounting, likely collecting or distributing tax. beforeSwapReturnDelta and afterSwapReturnDelta: the hook can alter swap amounts by taking a portion of the currency via the pool manager, which is the core mechanism of a tax or launch fee.

Security & trust assessment

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

Who controls it: A privileged launch manager and bootstrap admin can register pools and set tax parameters; a compromised key could configure taxes up to the MAX_TAX_BPS limit on registered pools and redirect reward notifications (notifyReward).

Risk to user funds: The hook can take a portion of swap currency through return deltas and forward it via take and notifyReward, so swap proceeds for traders are reduced by the configured tax, bounded by MAX_TAX_BPS per the bytecode constants.

Security findings

  • [medium] Swap return-delta taxation: beforeSwap and afterSwap are enabled together with return-delta permissions, so the hook can take a portion of swap currency and alter the net amounts traders receive.
  • [medium] Privileged configuration without verified source: Selectors for setLaunchManager, registerPool and bootstrapAdmin indicate privileged configuration; the access control path could not be fully verified from bytecode.
  • [medium] Hook holds and forwards funds: The hook calls take() and notifyReward(), meaning it holds and forwards pool currency to a reward destination.
  • [info] Tax cap present: Bytecode includes a MAX_TAX_BPS cap constant, which limits how high the tax can be set.
  • [info] Unverified source: No verified source is available, so function behaviour is inferred from selectors and storage layout only.

Contract details

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

Pools using Launchpad hook