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