Launchpad hook on Ethereum

Uniswap v4 Hook Contract 0xff90533a0fcd37428c746dfaced8a04e8802e0cc on Ethereum · Launchpad

Volume (24h)
$485
Value locked (TVL)
$0
All-time volume
$485
Pools using this hook
1
Swaps (24h)
3 (1 traders)
Total swaps
3

What it does

Launches and manages a token paired in a Uniswap v4 pool, taking a platform fee on swaps and accumulating fees for later claim.

How it works step by step

  • Registers pools and launched tokens at pool initialization (beforeInitialize, afterInitialize)
  • Takes a percentage fee on swaps via return deltas, capped by MAX_FEE_BPS
  • Splits collected fees between platformWallet (platformShareBps) and per-pool pending balances
  • Tracks pending fees per pool and in total (pendingFees, totalPending)
  • Lets holders claim accumulated fees through claim(address)
  • Exposes an ERC20-style token interface and a launch registry (launches, poolKeyOf, allTokens)
Swap behaviour
beforeSwap and afterSwap run custom logic and use return deltas to take a fee from swap currency, which is split with the platform wallet and held as pending fees.
Liquidity behaviour
Liquidity add and remove callbacks are present (beforeAddLiquidity, afterAddLiquidity, beforeRemoveLiquidity, afterRemoveLiquidity) but are only decoded as selectors, so their specific effect on positions is not determined.
Fee behaviour
The hook takes a fee on swaps, split between a platform wallet (platformShareBps) and a pending-fee balance per pool (pendingFees, totalPending), with MAX_FEE_BPS as a cap; exact fee formula cannot be confirmed without source.
Owner & admin controls
No admin controls found. Public getters expose platformWallet, platformShareBps, MAX_FEE_BPS and launches; no owner or pause selector was decoded, but no setter for these values was found either.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize registers the pool and token launch; beforeSwap and afterSwap run fee and accounting logic; beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take or give back currency from swaps; liquidity callbacks are enabled for launch-related position handling.

Security & trust assessment

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

Who controls it: The bytecode contains a claim(address) function that pays out accumulated fees; claim authorization is not visible without source, so it is unknown whether a privileged key can redirect fees.

Risk to user funds: The hook can take currency during swaps through return deltas and holds accumulated fees in contract storage that can be claimed, so swap and fee funds pass through hook-controlled accounting.

Security findings

  • [medium] Hook takes currency on swaps via return deltas: The hook sets beforeSwapReturnDelta and afterSwapReturnDelta and moves currency through the pool manager (take, settle, unlock, unlockCallback), so it can take a share of every swap.
  • [medium] Fee claim path cannot be verified: Fee accounting relies on storage slots for pending fees and total pending, and claim(address) withdraws balances; the withdrawal checks cannot be verified without source.
  • [info] Unverified source: No source is verified; behaviour is inferred from selectors and storage layout only.
  • [info] Token launch functionality: The contract exposes an ERC20 interface (name, symbol, totalSupply, balanceOf, transfer) and a launch registry (launches, poolKeyOf, allTokens), indicating it deploys or manages a token tied to the pool.

Contract details

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

Pools using Launchpad hook