Launchpad hook on Arc
Uniswap v4 Hook Contract 0x4f68e54df2fbf48c3d7ae4be134bf45ec805e0ec on Arc · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $21.48K
- All-time volume
- $24.28K
- Pools using this hook
- 40
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 158
What it does
A launchpad-style hook that applies buy, sell and early-snipe taxes to a pool during a launch window, routing the collected tax away from traders.
How it works step by step
- Records a launch block per pool when the pool is initialized
- Applies buy, sell and snipe tax rates in basis points during swaps
- Takes the tax share via return deltas, accounted through the vault and pool manager
- Sends collected tax to a sink address defined as an immutable
- Uses a fixed window in blocks to decide when the snipe tax applies
- Swap behaviour
- beforeSwap and afterSwap apply per-pool buy, sell or snipe tax (in basis points) based on swap direction and how many blocks have passed since launch, taking the tax as a return delta.
- Liquidity behaviour
- afterAddLiquidity and afterRemoveLiquidity callbacks are present and appear to track or take a currency delta; the exact accounting cannot be confirmed without source.
- Fee behaviour
- Applies per-pool buy, sell and snipe tax rates (basis points) read from stored per-pool state, with a launch window measured in blocks; taxes are likely taken via return deltas and routed to a sink address, while the pool itself uses a fixed LP fee of the constant LP_FEE_PIPS.
- Owner & admin controls
- No admin controls found in dispatched selectors (no owner or setter functions identified); parameters appear as immutable constants (BPS, LP_FEE_PIPS, WINDOW_BLOCKS, VAULT, POOL_MANAGER, LAUNCHER, SINK, USDC) and per-pool tax values are read via view getters (buyTaxBps, sellTaxBps, snipeTaxBps, launchBlockOf).
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeDonate, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize records pool launch state; beforeSwap and afterSwap apply the launch-window tax logic and use return deltas to take a portion of the swap amount; afterSwapReturnDelta and beforeSwapReturnDelta let the hook modify settled amounts; beforeDonate is present but its behaviour is not confirmed; afterAddLiquidity and afterRemoveLiquidity are present with unclear use.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: No privileged setter was identified in the dispatched selectors, so the hook appears non-upgradeable and parameters appear fixed, but this is inferred from bytecode only and unverified.
Risk to user funds: The hook can take a share of swap currency through return deltas and mint or take claim balances via the vault, so user swap proceeds are exposed to the hook's tax logic; it does not show an obvious ability to block swaps, but this is not fully confirmed.
Security findings
- [medium] Hook takes swap proceeds via return deltas: The hook takes currency via return deltas and calls take and mint on the vault/pool manager, so it can hold or redirect a share of swap proceeds to the sink address.
- [low] ERC6909 minting within pool accounting: The mint selector and ERC6909 claims tag indicate the hook can mint claim tokens to itself or others, which affects accounting of pool funds.
- [info] Launch-window snipe tax: Taxes are applied during a launch window measured in blocks, so early buyers may pay materially higher rates, a behaviour that depends on the stored per-pool parameters.
- [info] Unverified source: No verified source is available, so function names, storage layout and exact fee routing are inferred from selectors and bytecode only.
Contract details
- Verified source
- No
- Bytecode size
- 11,050 bytes
- Upgradeable proxy
- No
- Detected patterns
- erc6909-claims, moves-currency, return-delta
Pools using Launchpad hook
- USDC / 360 (Dynamic fee) — 24h volume $0, TVL $21.35K, 0 swaps today
- USDC / KSTRL (Dynamic fee) — 24h volume $0, TVL $51, 0 swaps today
- USDC / CRV (Dynamic fee) — 24h volume $0, TVL $1.97, 0 swaps today
- USDC / CNRY4 (Dynamic fee) — 24h volume $0, TVL $2.37, 0 swaps today
- EURC / EUCAN (Dynamic fee) — 24h volume $0, TVL $2.21, 0 swaps today
- USDC / WREN (Dynamic fee) — 24h volume $0, TVL $50, 0 swaps today
- USDC / DEVB (Dynamic fee) — 24h volume $0, TVL $4.42, 0 swaps today
- cirBTC / BTCAN (Dynamic fee) — 24h volume $0, TVL $0.75, 0 swaps today
- USDC / FNCH (Dynamic fee) — 24h volume $0, TVL $0.09, 0 swaps today
- USDC / LVMX (Dynamic fee) — 24h volume $0, TVL $1.85, 0 swaps today
- USDC / AGE0 (Dynamic fee) — 24h volume $0, TVL $2.49, 0 swaps today
- USDC / BURN (Dynamic fee) — 24h volume $0, TVL $1.27, 0 swaps today
- WETH / ETCAN (Dynamic fee) — 24h volume $0, TVL $0.55, 0 swaps today
- USDC / DPTH (Dynamic fee) — 24h volume $0, TVL $0.31, 0 swaps today
- XAUM / XACAN (Dynamic fee) — 24h volume $0, TVL $0, 0 swaps today
- USDC / ROBN (Dynamic fee) — 24h volume $0, TVL $0.98, 0 swaps today
- USDC / LVDV (Dynamic fee) — 24h volume $0, TVL $0.49, 0 swaps today
- USDC / BH (Dynamic fee) — 24h volume $0, TVL $0.23, 0 swaps today
- USDC / TNY (Dynamic fee) — 24h volume $0, TVL $0.21, 0 swaps today
- USDC / LOP (Dynamic fee) — 24h volume $0, TVL $0.21, 0 swaps today