Launchpad hook on Arbitrum
Uniswap v4 Hook Contract 0x2ecc5a5321087f068336e11190cc25de345da8cc on Arbitrum · Launchpad
- Volume (24h)
- $1.97
- Value locked (TVL)
- $0
- All-time volume
- $1.97
- Pools using this hook
- 1
- Swaps (24h)
- 2 (1 traders)
- Total swaps
- 2
What it does
This Clanker-style launchpad hook charges dynamic swap fees, which can be higher during early MEV-protected launch periods, splits fees between creators and the protocol, and never blocks LP withdrawals.
How it works step by step
- Runs Clanker-style token launch pools that pair a new token with a paired asset such as WETH, with launch-phase rules and a later 'graduated' state.
- Charges dynamic swap fees per pool, with separate fee rates and constants for the LP fee, an MEV-protection fee and a protocol fee.
- Takes a protocol fee from swaps through return deltas and tracks creator fees accrued per pool.
- Supports an optional per-pool MEV module that can change fees during an early window after pool creation.
- Gates adding liquidity through a beforeAddLiquidity check, likely limiting LP positions to the launch locker or position manager while the launch is active.
- Swap behaviour
- Before and after each swap the hook sets a dynamic fee, may run an MEV module during the launch window, and can take a protocol fee from the swap amounts through return deltas. The exact rates and caps cannot be confirmed from bytecode alone.
- Liquidity behaviour
- The hook checks liquidity additions, which may limit who can add liquidity during launch. Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.
- Fee behaviour
- The swap fee is dynamic and bounded by internal maximums (MAX_LP_FEE, MAX_MEV_LP_FEE, and MIN/MAX_PROTOCOL_FEE), whose exact values are not readable from bytecode. Protocol fees build up in the hook and are sent out with flushProtocolFees, and creator fees are tracked per pool.
- Owner & admin controls
- A privileged caller can change global fee rates (three uint16 values) and flush the collected protocol fees to an address, and MEV modules can set per-pool fees. The exact caps come from hard-coded constants whose values cannot be checked without source.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: sets up the launch pool settings; beforeAddLiquidity: checks or gates new liquidity; beforeSwap: sets the dynamic fee and runs MEV logic; afterSwap: records fees and updates curve state; beforeSwapReturnDelta/afterSwapReturnDelta: lets the hook take protocol fees from swap amounts.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: An owner or factory role can adjust fee rates within coded maximums and decide where protocol fees are sent. Per-pool MEV modules can raise fees during the launch window.
Risk to user funds: Traders pay dynamic fees taken from swap amounts, up to caps whose exact values are unknown. LP principal cannot be locked or drained by the hook.
Security findings
- [medium] Unverified bytecode with active swap deltas: The hook can take part of swap amounts through return deltas, and the fee caps exist as constants but their values cannot be verified from bytecode.
- [low] Admin-adjustable fee rates: A setter writes the global fee parameters, which are presumably bounded by MAX_PROTOCOL_FEE and MAX_LP_FEE.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so LPs can always withdraw.
Contract details
- Verified source
- No
- Bytecode size
- 23,123 bytes
- Upgradeable proxy
- No
- Detected patterns
- dynamic-fee, fee-sharing, launchpad, mev-protection, return-delta, self-unlock
Pools using Launchpad hook
- WETH / TEST (Dynamic fee) — 24h volume $1.97, TVL $0, 2 swaps today