Launchpad hook on Robinhood Chain

Uniswap v4 Hook Contract 0x49dbd99383649cb4e9a0838166cb3de59aa960cc on Robinhood Chain · Launchpad

Volume (24h)
$0
Value locked (TVL)
$0.01
All-time volume
$1.30K
Pools using this hook
35
Swaps (24h)
0 (0 traders)
Total swaps
420

What it does

A Uniswap v4 hook that gates pool creation and swaps with owner-managed fees, a quote-token allowlist and a pause switch, and routes a dev share of swap value to configured payees.

How it works step by step

  • Validates pool initialization and records creation fees payable in ETH or USDG
  • Maintains a per-pool fee override and fee-tier to tick-spacing mapping
  • Blocks swaps when paused and enforces a quote-token allowlist
  • Takes a share of swap amounts through return deltas and routes it to dev and payee addresses
  • Exposes owner-controlled configuration for fees, payees, dev share and quote tokens
Swap behaviour
beforeSwap checks pause and quote allowlist status and applies the pool's fee; afterSwap records state and dev/payee accounting; the hook takes a return delta on swaps and can route part of the swap amount to payees.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Pool fee is overridable per pool by the owner via setPoolFee (slot 2 mapping), a fee-tier to tick-spacing mapping is maintained (slot 3), and a dev share in basis points (slot 8, uint16 at offset 20) is configured; the exact fee routing is not determinable without source. Creation fees are charged in ETH or USDG at pool creation.
Owner & admin controls
Owner (Ownable2Step: transferOwnership then acceptOwnership) can set creation fees (setCreationFees), pause/unpause swaps (setPaused), manage the quote allowlist (setQuoteAllowed), set payee addresses (setPayees), set dev address and share (setDev), set per-pool fee overrides (setPoolFee) and set the fee/tick mapping (selector 0x2d819906 writes slot 3). Renounce is available.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: validates and records pool initialization (creation fee and pool registration); beforeSwap: enforces pause and quote allowlist checks and applies the pool fee; afterSwap: records swap-related state and dev/payee accounting; beforeSwapReturnDelta and afterSwapReturnDelta: the hook can take a delta from swaps (it calls take(address,address,uint256) on the pool manager), so it can skim or route part of swap amounts to payees.

Security & trust assessment

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

Who controls it: The owner can pause all swaps, change the fee for any pool, change creation fees, change payee and dev addresses and redirect the share of swap proceeds, and allowlist quote tokens. A compromised owner key could redirect fees or halt trading.

Risk to user funds: The hook holds no persistent balance by design visible in the selectors, but it can move swap amounts via take() when return deltas are used, and the owner can pause swaps or route payee shares, so user swap proceeds can be diverted or blocked.

Security findings

  • [medium] Hook takes tokens via return deltas: Return-delta permissions are enabled and the hook calls take on the pool manager, so it can extract a share of swap amounts.
  • [medium] Owner pause can block swaps: setPaused lets the owner halt beforeSwap, which blocks trading in every pool using this hook.
  • [medium] Owner can change fees and payees: setPoolFee and setPayees/setDev let the owner change fees and fee recipients after deployment without a timelock visible in the bytecode.
  • [info] Single owner key: Ownable2Step pattern with renounce available; ownership is a single key.

Contract details

Verified source
No
Bytecode size
8,704 bytes
Upgradeable proxy
No
Detected patterns
moves-currency, ownable, pausable, return-delta

Pools using Launchpad hook