Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0x50b9af842dacb8fc7476660cc86d3787cad66ac4 on Robinhood Chain · Launchpad

Volume (24h)
$0
Value locked (TVL)
$14.12K
All-time volume
$2.34M
Pools using this hook
5
Swaps (24h)
0 (0 traders)
Total swaps
29,188

What it does

A Uniswap v4 hook for token launchpad pools that routes swaps and liquidity through a launch bonding mechanism, collects fees and runs buybacks, controlled by an owner-upgradeable proxy.

How it works step by step

  • Creates and manages token launches via createLaunch and recapitalizeLaunch with stored launch keys and settlement data.
  • Handles buys and sells with fee accumulation, buyback accounting and flush thresholds.
  • Uses beforeAddLiquidity and beforeRemoveLiquidity hooks to manage launch pool liquidity.
  • Tracks accumulated token and native fees and protocol surplus, withdrawable by the owner.
  • Delegates all calls through an upgradeable proxy whose implementation is owner-controlled.
Swap behaviour
beforeSwap and afterSwap are enabled and afterSwapReturnDelta is set, so the hook accounts for swaps, collects fees, accumulates buyback amounts and can take a share of swap output.
Liquidity behaviour
beforeAddLiquidity and beforeRemoveLiquidity and the after-liquidity hooks are present in the dispatch table, with a launch-related recapitalizeLaunch entry point; exact liquidity effects cannot be fully determined without source.
Fee behaviour
Fees are taken by the hook on swaps and launch activity: protocol fee basis points, variable fee bps, creator fee split (updateCreatorFeeSplit) and accumulated token and buyback fee flushes; withdrawable fees are tracked per address and withdrawn by the owner-controlled flow. Exact fee splits cannot be determined from bytecode alone.
Owner & admin controls
Owner (renounceOwnership, transferOwnership, two-step acceptOwnership) can set the position manager, viewer, calculator, trading module, protocol fee recipient, limit order settlement, captcha signer, tick spacing, token locker defaults and approve component code hashes; owner can setPaused and setBuybacksDisabled and withdraw protocol surplus and fees; the proxy is upgradeable via upgradeToAndCall by the owner.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, afterSwapReturnDelta

beforeInitialize: validates or sets up pools for launches; beforeAddLiquidity and beforeRemoveLiquidity: gate or account liquidity changes for launch pools; beforeSwap and afterSwap: route trades through the launch bonding logic, collect fees and accumulate buybacks; afterSwapReturnDelta: lets the hook take a share of swap output as a return delta, so it can take tokens from swaps.

Security & trust assessment

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

Who controls it: A single owner key controls pausing, the trading module, the viewer and calculator, fee recipients, component code hash approvals, surplus withdrawals and contract upgrades, so it could redirect fees, change trading logic or upgrade the implementation to alter user flows.

Risk to user funds: The hook holds launch reserves, accumulated token fees, buyback balances and protocol surplus, and can take swap output via return delta; owner actions can withdraw surplus, change fees, pause trading or upgrade the logic that controls these funds.

Security findings

  • [high] Upgradeable proxy controlled by owner: The owner can call upgradeToAndCall on the proxy, replacing the implementation that the hook delegates to and changing all swap and liquidity behaviour.
  • [medium] Hook takes tokens via return delta: Hook uses afterSwapReturnDelta, so it can take a portion of swap output tokens, and the owner can change fee recipients and withdraw protocol surplus.
  • [medium] Owner can pause the hook: setPaused and setBuybacksDisabled let the owner halt trading or buybacks, blocking swaps and liquidity actions for pools using this hook.
  • [medium] Owner can replace pricing and trading modules: setTradingModule, setCalculatorAndViewer and setPositionManager let the owner swap out logic modules used for pricing and quoting.
  • [info] Source not verified: Implementation source is unverified; behaviour is inferred from selectors, storage layout and permissions only.

Contract details

Verified source
No
Bytecode size
130 bytes
Upgradeable proxy
Yes
Detected patterns
ownable, pausable, return-delta, upgradeable

Pools using Launchpad hook