Launchpad hook on Arc

Uniswap v4 Hook Contract 0x0d98f325826885128f123f948ac7c92bd1fc2880 on Arc · Launchpad

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
1
Swaps (24h)
57 (17 traders)
Total swaps
57

What it does

A launchpad hook that only allows registered launcher pools and charges a time-based dynamic swap fee set from launch terms, likely higher right after launch and lower later, while LPs can always withdraw freely.

How it works step by step

  • Works with a token launcher contract that registers per-pool fee terms (start fee, end fee, timing, decay settings) for newly launched tokens.
  • On each swap, looks up the pool's registered terms and sets a time-based dynamic fee through a fee-now calculation, likely decaying from a high launch fee to a lower one.
  • Checks pools at creation and when liquidity is added, rejecting pools that are not registered with the launcher.
  • Does not touch swap amounts directly and never runs on LP withdrawals.
Swap behaviour
Before each swap the hook reads the pool's stored fee terms and returns a dynamic LP fee, which may differ by swap direction (the fee calculation takes a direction flag). It cannot take tokens from swaps via return deltas.
Liquidity behaviour
Adding liquidity is checked against the pool's registration and may be restricted, for example to the launcher or locker. Removing liquidity is never called into the hook, so LPs can always withdraw.
Fee behaviour
Swap fee is a dynamic LP fee computed from per-pool terms (start and end fees stored as fee values, a duration, and a direction flag), going to LPs through the normal pool fee. Exact caps are unknown from bytecode, though a BadFee check suggests registered fees are validated against some limit.
Owner & admin controls
A registration function, apparently restricted to a launcher or locker address, writes fee terms per pool. No owner functions to pause swaps or change fees later were identified, but exact restrictions cannot be confirmed from bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap

beforeInitialize: only allows registered launcher pools; beforeAddLiquidity: gates who can add liquidity to registered pools; beforeSwap: sets the current dynamic fee from stored terms.

Security & trust assessment

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

Who controls it: The launcher/locker contract sets per-pool fee terms at registration; no further admin control over existing pools was found.

Risk to user funds: The hook holds no funds and cannot deduct swap tokens; traders pay only the dynamic LP fee, whose maximum is unverified. LP principal cannot be locked or drained by the hook.

Security findings

  • [low] Unverified fee bounds: Fee terms are set by the launcher at registration and validated by a BadFee check, but the maximum fee cannot be confirmed without source.
  • [info] Liquidity additions gated: Adding liquidity may be restricted to approved parties; this does not affect withdrawals.
  • [info] Withdrawals unrestricted: Remove-liquidity callbacks and return deltas are disabled, so the hook cannot block withdrawals or take tokens from swaps.

Contract details

Verified source
No
Bytecode size
5,779 bytes
Upgradeable proxy
No
Detected patterns
launchpad

Pools using Launchpad hook