Skip to content

Trading and pricing

Every launch is a canonical Uniswap v4 pool. There is no proprietary curve to reverse-engineer and no custom router.

Pair TOKEN / native ETH
Identified by 32-byte PoolId (no pool address)
Fee Pool LP fee is 0; the launch hook charges the fee
Trading fee 0.25% buys, decaying sell fee with a burned leg, see Fees
Liquidity Single-sided at launch, permanently locked
Token decimals Always 18

There are no token-level taxes; the launch token is inert and cannot impose them. The sell fee’s burned leg is charged by the hook inside the swap, not by the token; a plain ERC-20 transfer of the coin costs nothing.

Coins launch tradeable from block one, with one exception: a creator can gate the first minutes (a frozen game round, or a verified-only window). Every gate ends in permanently open trading. See Launch gates.

Coins from earlier generations trade on V3 pools with a different shape; the API’s dex field says which is which. See Earlier generations.

At launch the whole supply is parked as liquidity over a price range [P_low, P_high], all on the token side. Price starts at the bottom of that range. As buyers trade:

  1. A buy sends the quote asset (ETH or WETH) into the pool and pulls token out.
  2. Price walks up the range along the concentrated-liquidity curve.
  3. The quote stays inside the locked position (it is never withdrawn), so the liquidity floor grows monotonically with cumulative net buying.

Because the position is locked forever, that floor cannot be removed. Selling walks price back down the same curve; the pool always has the quote that prior buyers deposited, up to the current price level.

With the full supply spread over [P_low, P_high], the range and supply are the “curve shape”, the dial for starting market cap:

  • Starting FDVsupply × P_low
  • Fully-bought-out FDVsupply × P_high

The SDK ships a small set of standard presets that pick sqrtPriceX96, tickLower, and tickUpper consistent with the address ordering. Because the on-chain factory independently enforces the zero-quote-consumed seed, a bad preset cannot produce a contaminated launch; it reverts.

Build the swap from the poolKey the API (or the TokenLaunchedV4 event) provides; the key carries the hook, and the hook is what prices the trade. Route through any v4-capable router (the canonical UniversalRouter on 4663 works); there is no per-pool address to look up. The token is always currency1, native ETH sorts first.

For routing the older V3 coins (different routers, different ABIs, a real trap), see Earlier generations.

An Open launch is live from block one, so the launch transaction is MEV-snipeable like any DEX pool. Standard slippage protection applies to every trade; set amountOutMinimum / price limits as you would on any Uniswap pool.

The newer generations blunt the classic snipe patterns rather than pretending they don’t exist:

  • The creator’s own first buy rides inside the launch transaction, so it cannot be front-run; nothing can trade before it fills.
  • The decaying sell fee makes buy-block-one-dump-minute-two expensive: the early exit pays the launch-window burn rate.
  • A creator can gate the first minutes entirely (Game or Verified only), which replaces the open snipe window with a capped, rule-bound one.