Launchpad hook on Arc
Uniswap v4 Hook Contract 0xca55cdde6578f6f8113dd339520e13418abc2acc on Arc · Launchpad
- Volume (24h)
- $2.68K
- Value locked (TVL)
- $57.94K
- All-time volume
- $3.61M
- Pools using this hook
- 268
- Swaps (24h)
- 13 (11 traders)
- Total swaps
- 21,639
What it does
A launchpad-style hook that manages creator-tax and distributor accounting on a Uniswap v4 pool, with snipe protection and trusted-router gating during launch.
How it works step by step
- Registers and validates pools at initialization via beforeInitialize
- Applies snipe-start and base-fee parameters to early swaps
- Restricts swap and liquidity access to trusted routers
- Tracks pending creator and distributor balances per pool and per token
- Takes or gives currency through beforeSwapReturnDelta and afterSwapReturnDelta
- Allows creator ownership transfer and acceptance, plus withdrawals and settlement via unlock callback
- Swap behaviour
- beforeSwap applies snipe and router checks and may charge a base or creator fee; afterSwap updates pending creator and distributor balances; return-delta permissions let the hook take a share of swap currency.
- Liquidity behaviour
- beforeAddLiquidity is non-view and records state keyed per pool and sender; beforeRemoveLiquidity is view-only. Withdrawals via withdraw(bytes32,address,address) debit a per-pool, per-user, per-token accounting mapping. Liquidity may be restricted to trusted routers via isTrustedRouter.
- Fee behaviour
- Hook exposes baseFeeBps, POOL_FEE, MAX_BASE_FEE_BPS and a creator tax (maxCreatorTaxBps, pendingCreator/pendingOf/grossOf accounting), suggesting dynamic or creator-taxed fees on swaps; exact fee formula could not be decoded.
- Owner & admin controls
- Owner-set factory via setFactory(address) (storage slot 0 writes). Creator-driven functions: transferCreator and acceptCreator manage creator ownership per pool key; authorizeMint and settle gate token minting/settlement. Other admin-style parameters (baseFeeBps, snipeStartBps, windowBlocks, maxCreatorTaxBps, treasury, protocolFeeBps) are referenced via external calls and read getters, but the setter paths for them could not be confirmed from the decoded bytecode.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize: validates and registers pools on creation. beforeAddLiquidity: records or gates liquidity additions. beforeRemoveLiquidity: checks removals. beforeSwap: enforces snipe protection and trusted-router rules and may apply fee logic. afterSwap: updates creator/distributor accounting after each swap. beforeSwapReturnDelta and afterSwapReturnDelta: the hook can take or give currency deltas during swaps, so it moves pool funds and fee proceeds (heuristic 'moves-currency' and 'return-delta' tags).
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: The factory owner can point the hook at a new factory via setFactory. Creator accounts control transferCreator and acceptCreator, and the distributor implementation is referenced by address, so a compromised creator or factory key could redirect creator fees or proceeds.
Risk to user funds: The hook holds per-pool accounting for creator and distributor balances and can take currency through return deltas and unlock/settle flows, so user swap proceeds and LP funds passing through the pool are exposed to these flows; the exact amounts taken cannot be determined without source.
Security findings
- [medium] Hook takes currency via return deltas: Heuristic tags flag moves-currency and return-delta: beforeSwapReturnDelta and afterSwapReturnDelta are enabled, so the hook can take a cut of swaps and hold or route tokens during the swap lifecycle.
- [medium] Self-unlock and token movement: The hook calls unlock and settle on the pool manager (self-unlock tag) and performs take and sync calls, so it can itself move tokens out of the pool manager accounting during unlockCallback.
- [medium] Owner can swap factory dependency: setFactory(address) writes to slot 0 with no visible timelock or multisig evidence in the bytecode, allowing a single key to replace the factory dependency.
- [low] Swaps can be restricted by router allowlist: Snipe protection and trusted-router checks (MAX_SNIPE_START_BPS, MAX_SNIPE_EXEMPT, isTrustedRouter) can block or restrict swaps from non-whitelisted routers during the launch window.
- [info] Unverified source: Source is unavailable and function semantics are inferred from selectors, so the exact fee and accounting logic cannot be fully verified.
Contract details
- Verified source
- No
- Bytecode size
- 22,832 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta, self-unlock
Pools using Launchpad hook
- USDC / CATTAX (0.00% fee) — 24h volume $2.23K, TVL $649, 5 swaps today
- USDC / LIFT (0.00% fee) — 24h volume $458, TVL $55.79K, 7 swaps today
- USDC / ARC (0.00% fee) — 24h volume $0.14, TVL $8.10, 1 swaps today
- USDC / NECOARC (0.00% fee) — 24h volume $0, TVL $13, 0 swaps today
- USDC / USDC (0.00% fee) — 24h volume $0, TVL $96, 0 swaps today
- USDC / CDRF (0.00% fee) — 24h volume $0, TVL $44, 0 swaps today
- USDC / UNARC (0.00% fee) — 24h volume $0, TVL $21, 0 swaps today
- USDC / ARC (0.00% fee) — 24h volume $0, TVL $46, 0 swaps today
- USDC / PAIRC (0.00% fee) — 24h volume $0, TVL $42, 0 swaps today
- USDC / ARCHITECTS (0.00% fee) — 24h volume $0, TVL $220, 0 swaps today
- USDC / LABORX (0.00% fee) — 24h volume $0, TVL $2.13, 0 swaps today
- USDC / LIFTDOG (0.00% fee) — 24h volume $0, TVL $2.57, 0 swaps today
- USDC / TPAY (0.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- USDC / BLKEGG (0.00% fee) — 24h volume $0, TVL $67, 0 swaps today
- EURC / ARC (0.00% fee) — 24h volume $0, TVL $210, 0 swaps today
- USDC / CLAWNET (0.00% fee) — 24h volume $0, TVL $54, 0 swaps today
- USDC / LIFTDOG (0.00% fee) — 24h volume $0, TVL $4.43, 0 swaps today
- USDC / LAZY (0.00% fee) — 24h volume $0, TVL $21, 0 swaps today
- USDC / DAEMON (0.00% fee) — 24h volume $0, TVL $10, 0 swaps today
- USDC / ARCDOG (0.00% fee) — 24h volume $0, TVL $26, 0 swaps today