Likely launchpad hook on Arbitrum

Uniswap v4 Hook Contract 0x9108b68edb06244cd4590bbd27e8afcc45a528cc on Arbitrum · Launchpad

Volume (24h)
$1.31K
Value locked (TVL)
$0.06
All-time volume
$1.31K
Pools using this hook
4
Swaps (24h)
11 (10 traders)
Total swaps
11

What it does

A launchpad hook that charges every swap a bounded fee split among the token creator, the platform, and a round-based prize pot, while LPs remain free to withdraw.

This read was written for the hook 0xeb0a…e8cc on Base and reused here: the two share a code shape, so constants such as fees, owners and addresses can differ.

How it works step by step

  • Acts as a token-launch hook on Base where each launched token gets a pool, a creator, and a configured swap fee.
  • Takes a fee on swaps through return deltas and splits it between the token creator, the platform, and a prize pot.
  • Runs round-based prize pots: a portion of fees accumulates and can be settled and paid out to winners, with part rolling over to the next round.
  • Tracks per-trader 'shield' data at swap time, which appears to relate to the prize game.
  • Lets accrued creator and platform fees be paid out, including unwrapping WETH to ETH.
Swap behaviour
On each swap the hook checks pool configuration and takes a fee from the swap amounts, crediting creator, platform, and prize pot balances. Fee bounds exist (MIN_FEE_BPS and MAX_FEE_BPS constants, BadFee error), but the exact values cannot be read from bytecode alone.
Liquidity behaviour
Before liquidity is added the hook runs a check that may restrict who can add liquidity to launched pools. Remove-liquidity callbacks are disabled, so LPs can always withdraw.
Fee behaviour
A per-pool swap fee within hard-coded minimum and maximum bounds (values not determinable from bytecode) is taken and split between the creator, the platform (fixed platform share constant), and a prize pot with a rollover share. Creators and the platform claim their owed balances later.
Owner & admin controls
A deployer can set the factory address once (AlreadySet error), and the factory registers pools with fee settings; creators can be updated via setCreator. Fee configuration is bounded by min/max constants whose exact values are unverified.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: restricts pool creation to configured launches; beforeAddLiquidity: gates or checks liquidity additions; beforeSwap: applies fees and records trader data; afterSwap: credits fee splits and prize pot; beforeSwapReturnDelta/afterSwapReturnDelta: lets the hook take its fee from swap amounts.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, medium confidence).

Who controls it: The deployer sets the factory once, and the factory configures pools and fees within coded bounds. Exact limits and prize-control rights are unverified.

Risk to user funds: The hook takes a swap fee within unverified min/max bounds and holds accrued creator, platform, and prize balances. LP principal cannot be locked or drained by the hook.

Security findings

  • [medium] Unverified swap fee via return deltas: The hook takes fees directly from swaps using return deltas; fee caps exist as constants but their values cannot be confirmed from bytecode.
  • [low] Prize pot payouts: A sendPrize/settleRound mechanism distributes accumulated fee pots; who controls winner selection is not clear from bytecode.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook cannot block or charge withdrawals.

Contract details

Verified source
No
Bytecode size
12,837 bytes
Upgradeable proxy
No
Detected patterns
erc20, moves-currency, return-delta, self-unlock

Pools using Likely launchpad hook