Launchpad hook on Arc
Uniswap v4 Hook Contract 0xc48d6a369a6b852fc8ca4882ff7d1c54f1f0a080 on Arc · Launchpad
- Volume (24h)
- $0
- Value locked (TVL)
- $0.12
- All-time volume
- $24
- Pools using this hook
- 5
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 11
What it does
A launchpad-style hook that registers seeded launch liquidity for new tokens and skims fee accruals to creators, a treasury and reflection recipients on swaps.
How it works step by step
- Records launched tokens and creator status through launchedToken and creatorStatus mappings
- Registers seed liquidity positions with tick ranges and amounts per pool
- Accrues a share of swap fees via accrue and accrueWithRedirect calls
- Distributes reflections to holders through distributeReflections
- Routes accrued balances to a treasury and creator claim functions
- Uses an unlock callback to perform pool manager operations during launch
- Swap behaviour
- beforeSwap and afterSwap run custom logic that accrues fees and distributes reflections, moving currency through the pool manager via take and unlock calls.
- Liquidity behaviour
- beforeAddLiquidity and beforeRemoveLiquidity hooks are present, along with after-liquidity hooks. Seed positions are registered via registerSeed and registerSeedPosition, which track tick ranges and liquidity amounts per pool. The hook may restrict or account for seeded liquidity around launch.
- Fee behaviour
- Fees are routed through an external accrual path (accrue, accrueWithRedirect with several uint24 parameters) and a feeShare view. The hook appears to take a share of pool fees for creators and treasury rather than setting a dynamic LP fee, but exact split logic could not be verified.
- Owner & admin controls
- A settable treasury address (setTreasury, guarded by a stored owner-style address at slot 0 or 1) and a one-time factory initialization (initializeFactory). claimTreasury and claim functions exist for routing fees. No pause or upgrade mechanism was identified in the decoded selectors, but the exact authorization checks could not be confirmed without source.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap
beforeInitialize: validates and records pool setup for a launched token. beforeSwap and afterSwap: run swap-time logic, likely fee accrual and reflection distribution. Liquidity callbacks are present in the bytecode and are used to track seeded positions.
Security & trust assessment
Risk level: medium, estimated (decoded bytecode, low confidence).
Who controls it: A privileged address controls treasury assignment and can trigger treasury claims. If that key is compromised, accrued treasury balances could be redirected.
Risk to user funds: The hook can hold and transfer pool and fee balances through take, transfer and modifyLiquidities calls, and can direct accrued fees to the treasury, creators and reflection recipients. Liquidity callbacks may restrict seeded positions.
Security findings
- [medium] Hook moves currency during swaps and unlock callbacks: The hook calls take and unlock/modifyLiquidities and transfers tokens, so it can move pool funds to the treasury, creators and reflection recipients.
- [medium] Treasury address is admin-settable: setTreasury is a privileged setter; changing the treasury address redirects future accrued fees.
- [low] Self-unlock and reentrancy surface: Self-unlock pattern (unlock followed by unlockCallback) means the hook re-enters the pool manager during swaps and liquidity operations; a PayoutReentrancy error suggests reentrancy guards exist.
- [info] Access control not verifiable: Without verified source, exact authorization of setTreasury, claimTreasury and initializeFactory cannot be confirmed.
Contract details
- Verified source
- No
- Bytecode size
- 15,578 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, self-unlock
Pools using Launchpad hook
- USDC / BBOND (1.00% fee) — 24h volume $0, TVL $0.10, 0 swaps today
- USDC / RGXT (1.00% fee) — 24h volume $0, TVL $0.01, 0 swaps today
- USDC / KYCL (1.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- USDC / MRTS (1.00% fee) — 24h volume $0, TVL <$0.01, 0 swaps today
- USDC / LQXT (1.00% fee) — 24h volume $0, TVL $0, 0 swaps today