How it works
The life of a coin: creation, bonding curve, graduation, pool.
Creation
The factory clones a fresh ERC-20 with a fixed supply of 1,000,000,000 tokens. Nothing is pre-minted to the creator: the whole supply goes to the curve contract. The creator chooses the name, ticker, image, the quote asset, the coin type (Standard or Reward), an optional initial buy and the length of the anti-snipe window.
Bonding curve
800,000,000 tokens are sold on a constant-product curve with virtual reserves. Every buy raises the price deterministically; every sell lowers it. The target raise — how much of the quote asset the curve collects before it sells out — is set per quote asset and adjusted by a keeper so that graduation happens around the same USD market cap whatever the asset.
Graduation
When the last of the 800M tokens is sold, the coin enters a short “graduating” state. Anyone can then call graduate(): the remaining 200,000,000 tokens and everything the curve raised are deposited into a brand-new Uniswap v4 pool at exactly the curve's final price, so there is no price gap. The liquidity position is held by the migrator contract, which has no function to withdraw it — ever.
Pool
After graduation the coin trades on Uniswap v4 like any token, from the same swap box. The pool has no LP fee; instead an inq hook collects the same 1 % or 2 % fee as the curve did, in the quote asset, and splits it the same way. Swaps are blocked for the first 3 blocks after graduation to keep bots from front-running the pool opening.
supply = 1,000,000,000
curve = 800,000,000 (sold on the curve)
pool = 200,000,000 + everything raised
graduation = 5 × target raise (in FDV)
pool opens at = the curve's final price