Launchpad hook on Monad

Uniswap v4 Hook Contract 0xdce315f8d00e54103a5418515ba73566cfd9efcf on Monad · Launchpad

Volume (24h)
$4.00K
Value locked (TVL)
$3.05K
All-time volume
$66.00K
Pools using this hook
2
Swaps (24h)
57 (13 traders)
Total swaps
421

What it does

A launchpad-style Uniswap v4 hook that takes a levy on pool activity, routes proceeds to a treasury and creator sink, and manages graduation of pools via a graduator role.

How it works step by step

  • Hooks into pool initialization, liquidity add and remove, and swap callbacks
  • Uses return deltas on swaps and liquidity changes to take a share of flows
  • Tracks per-pool market state, token and quote mappings
  • Accumulates treasury, creator and pending protocol balances that can be swept
  • Restricts certain actions to whitelisted graduator addresses
  • Owner is two-step Ownable with an owner-gated sweep function
Swap behaviour
beforeSwap and afterSwap run on every swap, and the hook uses return deltas to take a share of swap amounts, likely a levy routed to treasury and creator sink.
Liquidity behaviour
Hook callbacks run before and after add and remove liquidity, with afterAddLiquidityReturnDelta and afterRemoveLiquidityReturnDelta enabled, so the hook can adjust balance deltas on liquidity changes. Per-pool state (markets, tokenOf, quoteOf) is tracked, consistent with a graduation or bonding-curve style liquidity flow.
Fee behaviour
Hook takes part in fee logic via beforeSwapReturnDelta and afterSwapReturnDelta, and an MAX_LEVY_BPS constant suggests a levy on swaps. Fees are apparently routed to a treasury and a creatorSink, with pending protocol amounts tracked per pool. Exact fee rates and conditions cannot be determined from bytecode alone.
Owner & admin controls
Owner-controlled via Ownable2Step style (owner, pendingOwner, acceptOwnership, transferOwnership, renounceOwnership). Owner can grant or revoke the isGraduator role via a setter at selector 0x6751a749 (address,bool), and owner-gated functions are present (sweep, parameter setters). Exact parameter scope cannot be confirmed without source.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta, afterAddLiquidityReturnDelta, afterRemoveLiquidityReturnDelta

beforeInitialize and afterInitialize: pool setup and validation. beforeAddLiquidity and afterAddLiquidity: liquidity accounting and graduation checks. beforeRemoveLiquidity and afterRemoveLiquidity: removal accounting. beforeSwap and afterSwap: swap-time fee or levy logic. beforeSwapReturnDelta and afterSwapReturnDelta: the hook can take a share of swap amounts. afterAddLiquidityReturnDelta and afterRemoveLiquidityReturnDelta: the hook can take a share of liquidity deltas.

Security & trust assessment

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

Who controls it: The owner holds the graduator role setter and a sweep function that can move accumulated balances. A compromised owner key could redirect treasury or creator funds, or change which addresses are graduators.

Risk to user funds: The hook can take value from swaps and liquidity changes through return deltas and can hold accumulated treasury, creator and pending protocol balances. The owner can sweep these balances. Without source, the exact amounts and caps are unverified.

Security findings

  • [medium] Return-delta hook takes user value: Multiple callbacks return deltas, so the hook can take tokens from swaps and liquidity operations rather than only observing them.
  • [medium] Owner can sweep accumulated balances: Owner-gated sweep(bytes32) and owner-controlled graduator roles can move or redirect accumulated funds and privileges.
  • [low] Unverified source limits assurance: Ownership is transferable and renounceable, and the hook has no source available to verify the parameter bounds on the levy.
  • [info] Ownable two-step ownership: Hook contract is Ownable with two-step transfer, which reduces but does not eliminate key-loss or key-compromise risk.

Contract details

Verified source
No
Bytecode size
19,373 bytes
Upgradeable proxy
No
Detected patterns
ownable, return-delta

Pools using Launchpad hook