Launchpad hook on Ethereum

Uniswap v4 Hook Contract 0xbb6e7e3e551647d74146a059773a7a343d3ae888 on Ethereum · Launchpad

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

What it does

A bonding-curve launchpad hook that fills buys and sells itself with a fixed fee shared between creator and treasury, limits trade size and frequency, and later graduates the token to a normal Uniswap pool.

How it works step by step

  • Runs a bonding-curve token launch inside a Uniswap v4 pool: the hook itself prices and fills buys and sells instead of normal pool liquidity.
  • Enforces a per-trader cooldown measured in blocks and a maximum buy size per trade during the curve phase.
  • Charges a fee on curve trades and splits it between the token creator and a protocol treasury, claimable later.
  • Once the curve closes, the market can be graduated: liquidity is moved into a regular Uniswap v4 pool via the position manager.
  • Blocks third-party liquidity additions to the launch pool before graduation.
Swap behaviour
During the curve phase, swaps are handled by the hook, which fills the trade at the bonding-curve price and takes a fee, subject to a block-based cooldown and a maximum buy size. Trades revert if the cooldown is active, the curve is closed, or the pool is unknown.
Liquidity behaviour
Adding liquidity is checked by the hook and appears restricted for launch pools, likely until graduation. Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.
Fee behaviour
A fee (exposed as a fixed constant, exact percentage not readable from bytecode) is taken on curve trades and split between the creator (fixed creator share constant) and the protocol treasury, accrued as claimable balances.
Owner & admin controls
Fee, creator share, cooldown, and max-buy values appear to be hard-coded constants. A drain function and a graduation function exist that move a market's curve funds, likely restricted to the factory or treasury flow, but exact access rules cannot be confirmed from bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnDelta

beforeInitialize: only allows registered/known pools to start; beforeAddLiquidity: gates liquidity additions to launch pools; beforeSwap: applies cooldown, max buy, and curve pricing; beforeSwapReturnDelta: lets the hook fill the swap itself from the bonding curve and keep the fee.

Security & trust assessment

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

Who controls it: Unverified bytecode; a privileged factory or treasury role likely controls graduation and the drain function, which could move a market's accumulated curve funds. Fee constants appear fixed.

Risk to user funds: The hook holds and prices tokens and ETH traded on the bonding curve, minus a fixed fee whose exact percentage is unconfirmed; LP withdrawals are never blocked by the hook.

Security findings

  • [medium] Hook custody of curve funds: Buys and sells settle against the hook through return deltas, so curve reserves are controlled by hook logic; a drain(market, recipient) function exists whose access control could not be verified from bytecode.
  • [low] Trade restrictions: A block-based cooldown and a maximum buy size per trade can cause swaps to revert during the curve phase.
  • [info] LP withdrawals cannot be blocked: Remove-liquidity callbacks are disabled by the address, so liquidity in the pool can always be withdrawn by its owner.

Contract details

Verified source
No
Bytecode size
15,821 bytes
Upgradeable proxy
No
Detected patterns
erc20, launchpad, moves-currency, return-delta

Pools using Launchpad hook