Launchpad hook on Ethereum
Uniswap v4 Hook Contract 0xf75703ed2a799caf52d076e32b2921d1412260c0 on Ethereum · Launchpad
- Volume (24h)
- $102.04K
- Value locked (TVL)
- $84.64K
- All-time volume
- $102.04K
- Pools using this hook
- 1
- Swaps (24h)
- 104 (83 traders)
- Total swaps
- 104
What it does
A token launch hook where early buyers pay a higher fee that decays to a base fee and face a per-wallet buy cap during a guard period, while LPs can always withdraw freely.
How it works step by step
- Launches a single token pool: the owner calls a launch function that creates the pool and seeds it with the hook's own liquidity position (and an anchor position).
- Charges a launch fee that starts high and decays over a set period down to a base fee; the exact start, maximum and base values are constants not readable from the bytecode alone.
- During an early guard period, caps how much each wallet can buy, tracked per address after each swap.
- Keeps a simple price oracle (cumulative tick observations) updated on swaps.
- Lets fees earned by the hook-owned liquidity be collected and sent to a fixed fee recipient.
- Swap behaviour
- Before each swap the hook updates its oracle and sets the current decaying fee; after the swap it records the buyer's purchased amount and can revert buys over the per-wallet limit while the guard period is active. It cannot take tokens from swaps via return deltas.
- Liquidity behaviour
- No add or remove liquidity callbacks are enabled, so third-party LPs can add and withdraw freely; the hook itself manages its own launch liquidity position via the PoolManager.
- Fee behaviour
- Swap fee starts at a START_FEE value (bounded by a MAX_START_FEE constant) and decays to a BASE_FEE over the fee decay period; exact percentages are hard-coded constants not visible in decoded bytecode. Fees from the hook's liquidity position go to a fixed FEE_RECIPIENT.
- Owner & admin controls
- The owner (two-step ownable) can trigger the launch and appears to use one owner-gated function taking an amount and address, likely to manage the hook's own position or funds; fee constants and recipient appear hard-coded.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap
beforeInitialize restricts pool creation to the hook's launch setup; beforeSwap updates oracle and applies the decaying fee; afterSwap enforces the per-wallet buy cap during the guard period.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, medium confidence).
Who controls it: A single owner controls launch and an owner-only function over the hook's own liquidity; they cannot block third-party LP withdrawals or take swap tokens.
Risk to user funds: The hook only controls its own seeded liquidity and its collected fees; traders pay the pool's decaying fee (exact range unverified) and third-party LP principal cannot be locked or drained.
Security findings
- [low] Per-wallet buy cap during guard period: Early buys above a fixed per-wallet limit can be rejected until the guard period ends.
- [low] Decaying launch fee: Early trades pay a higher fee that decays to a base fee; exact percentages cannot be confirmed from bytecode.
- [info] Owner-gated position function: An unnamed owner function taking an amount and address touches the hook's own liquidity position; it cannot touch other LPs' positions.
- [info] LP withdrawals unrestricted: Remove-liquidity callbacks and return deltas are disabled, so LPs cannot be blocked and swaps cannot be skimmed via deltas.
Contract details
- Verified source
- No
- Bytecode size
- 18,486 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, fee-sharing, launchpad, moves-currency, oracle, ownable, self-unlock
Pools using Launchpad hook
- ETH / SQK (Dynamic fee) — 24h volume $102.04K, TVL $84.64K, 104 swaps today