Launchpad hook on Arc
Uniswap v4 Hook Contract 0x075d64e14023c4681792d1154829a333080a2044 on Arc · Launchpad
- Volume (24h)
- $19.02K
- Value locked (TVL)
- $11.14K
- All-time volume
- $19.02K
- Pools using this hook
- 1
- Swaps (24h)
- 679 (554 traders)
- Total swaps
- 679
What it does
A launchpad hook that taxes swaps on a newly launched token pair, with a decaying snipe tax early on and bonding state that controls when the pool goes live.
How it works step by step
- Validates the pool in beforeInitialize against the expected token pair and rejects mismatched pool shapes.
- Tracks a bond state and bond tick that gate the launch phase.
- Applies buy and sell taxes to swaps, capped by MAX_TAX_BPS.
- Applies a snipe tax that decays from the launch timestamp to discourage early bot buying.
- Takes the tax as a return delta and routes it to treasury or splitter addresses.
- Swap behaviour
- afterSwap computes a buy or sell tax and takes it from the swap output via the return delta, forwarding it to treasury or splitter addresses.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- Taxes are applied via the afterSwap return delta using buy and sell tax parameters, with a snipe tax that decays from launch time; the exact fee math could not be fully confirmed from the decoded bytecode.
- Owner & admin controls
- No admin controls found. Slot 1 packs token, launch timestamp, bond tick, quote-asset flag and a bonded flag; bindBond(int24) appears callable to set the bond tick and bonded state, with an AlreadyBound guard, and the caller restriction could not be confirmed from bytecode alone.
Enabled Uniswap v4 callbacks
beforeInitialize, afterSwap, afterSwapReturnDelta
beforeInitialize validates pool initialization for the launched pool, afterSwap applies the tax via a return delta and moves currency through take(), and afterSwapReturnDelta lets the hook take part of the swap output as tax.
Security & trust assessment
Risk level: medium (decoded bytecode, low confidence).
Who controls it: A privileged caller of bindBond could influence the bond state and tick, which affects the pricing and tax regime; the treasury and splitter addresses receive tax proceeds, so their keys matter to users.
Risk to user funds: The hook can take a share of swap output through return-delta tax and route it to treasury or splitter addresses; it does not appear to hold a custodial balance of user funds.
Security findings
- [medium] Hook takes tokens on swaps: afterSwapReturnDelta with take() means the hook can withhold part of each swap's output and send it to treasury or splitter addresses.
- [medium] Bond binding callable: bindBond(int24) mutates bond state (bonded flag, tick). Caller restriction could not be verified from decoded bytecode.
- [info] Tax parameters: Tax rates are read from immutable-looking pure getters (buyTaxBps, sellTaxBps, MAX_TAX_BPS), so exposure depends on whether these are constants.
- [info] No upgrade path observed: No proxy or upgrade selectors were found in the bytecode, so the logic appears non-upgradeable.
Contract details
- Verified source
- No
- Bytecode size
- 5,175 bytes
- Upgradeable proxy
- No
- Detected patterns
- moves-currency, return-delta
Pools using Launchpad hook
- USDC / ELON (1.00% fee) — 24h volume $19.02K, TVL $11.14K, 679 swaps today