Launchpad hook on Monad

Uniswap v4 Hook Contract 0x2eb1b03180fa845e39dbca4292608994a90aefcf on Monad · Launchpad

Volume (24h)
$0
Value locked (TVL)
$0.69
All-time volume
$0.14
Pools using this hook
3
Swaps (24h)
0 (0 traders)
Total swaps
5

What it does

A launchpad-style hook that charges a capped levy or creator tax on pool activity and routes proceeds to a treasury and creator sink, with owner-managed graduator status.

How it works step by step

  • Initializes and tracks pools through beforeInitialize and afterInitialize hooks
  • Applies a capped levy or creator tax to swaps via swap return deltas
  • Accrues pending protocol and creator proceeds in storage mappings and exposes sweep to withdraw them
  • Adjusts or accounts for liquidity adds and removes through return-delta liquidity callbacks
  • Gates some operations by a graduator allowlist controlled by the owner
Swap behaviour
beforeSwap and afterSwap callbacks with return deltas apply a levy or creator tax to swap amounts before and after execution, with proceeds accrued to protocol and creator accounts.
Liquidity behaviour
Callbacks before and after add and remove liquidity are enabled with return deltas, and the hook tracks per-position/per-key accounting in storage mappings; it likely accounts for or takes a share of liquidity flows, details unverified.
Fee behaviour
Hook exposes POOL_LP_FEE and tax-related constants (MAX_LEVY_BPS, MAX_CREATOR_TAX_BPS) and a creator sink/treasury, indicating the hook takes a levy or creator tax from swap activity via return deltas and routes it to treasury and creator sink; exact rates cannot be determined from bytecode.
Owner & admin controls
Owned hook with a two-step ownership transfer (transferOwnership, acceptOwnership, renounceOwnership). Owner can set graduator status via 0x6751a749(address,bool) and appears to control treasury, creator sink and fee/levy parameters (MAX_LEVY_BPS, MAX_CREATOR_TAX_BPS constants suggest capped tax settings). Exact parameter setters could not be named without source.

Enabled Uniswap v4 callbacks

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

beforeInitialize and afterInitialize register and configure pools; beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity and afterRemoveLiquidity track and adjust liquidity with return deltas; beforeSwap and afterSwap apply swap-level logic and fee/levy extraction with beforeSwapReturnDelta and afterSwapReturnDelta; beforeDonate and afterDonate are present in the dispatcher.

Security & trust assessment

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

Who controls it: The owner can change graduator membership, which gates some pool-level actions, and likely sets tax and treasury parameters. A malicious or compromised owner could redirect treasury/creator proceeds or adjust levy rates up to the contract caps, affecting swap outcomes for users.

Risk to user funds: The hook can take value from swaps and liquidity operations via return deltas and route it to treasury and creator addresses, and it holds accounting balances (pending protocol and quote/token mappings). It can therefore affect user funds through fees and levies, though exact amounts and blocking capability could not be confirmed from bytecode.

Security findings

  • [medium] Return-delta fee extraction: Hook enables beforeSwapReturnDelta and afterSwapReturnDelta, so it can take a portion of swap amounts from users and LPs.
  • [medium] Owner controls treasury and graduator status: Owner-controlled graduator mapping and treasury/creator sink addresses can be changed by the owner, redirecting protocol and creator proceeds.
  • [low] Single-key ownership: Ownable with transferOwnership and renounceOwnership; ownership is controlled by a single key unless a multisig is used.
  • [info] Unverified source: Contract is about 20 KB of bytecode with many dispatched functions and a sweep and unlockCallback flow; without source the full behaviour and any pause or upgrade paths cannot be confirmed.

Contract details

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

Pools using Launchpad hook