Launching a market
Launching is one form and one transaction. You give the token a name, a symbol and an image, pick what it is paired with, choose the trading fee, and make the first buy. The contract creates the token, opens a Uniswap v4 pool at a $5,000 market cap, puts the entire billion-token supply into it as liquidity, and sends you the tokens your first buy bought. There is nothing to configure afterwards, because nothing afterwards is configurable.
The form
| Field | What it does |
|---|---|
| Name, symbol | ERC-20 name and symbol, fixed at construction |
| Image | Stored as metadataURI on the token, set in the constructor with no setter |
| Pair coin | INT by default; any allow-listed coin, DIEM, or an AI stock |
| Fee | feePips, 10,000 to 30,000, which is 1% to 3%. Static v4 LP fee, no hook |
| First buy | Paid in ETH, USDC or the pair coin itself |
The pair coin is the decision that shapes the market. Pair with INT and your holders are paid in frontier model output. Pair with DIEM and they are paid in Venice capacity directly. Pair with NVDAc and they are paid in NVIDIA. Ten pair coins are allow-listed: the three inference coins, DIEM, and the six AI stocks.
The economics, fixed at creation
Every market opens at a $5,000 market cap and its curve range ends at a $35,000 market cap. Both numbers are converted into raw pair-coin units at the pair coin's feed price at the moment of creation, stored on the market, and never derived again. If INT doubles in dollar terms tomorrow, the market's opening price in INT does not move, because it was written in INT on day one.
The supply is 1,000,000,000 tokens, split into two positions:
- 800,000,000 in the curve range
[openingTick, capTick). This is what buyers walk up. - 200,000,000 in the reserve range
[capTick, maxUsableTick). This is what is left above the cap.
At $5,000 across a billion tokens, the opening price is $0.000005 per token, and the cap price is $0.000035 — a seven-fold walk from the open to the cap. Against INT at $12, that opening price is 0.00000041667 INT per token.
Ticks are floored to the pool's 60 spacing, so the actual opening and cap prices can each sit up to roughly 0.6% below their nominal dollar value. When the token sorts above the pair coin in the pool's ordering, the ranges mirror across the tick axis and the arithmetic inverts; both orderings are covered by the tests.
The launchpad reads decimals() from the pair coin. Inference coins, DIEM and launch tokens are 18-decimal. The B20 stocks are 8-decimal, and the conversion uses 10 ** dec either way.
The first buy
A launch includes a buy in the same transaction, and it has a floor: the pair coin you spend must be worth at least $1 at the feed price, checked as firstBuy × price / 10 ** dec ≥ 1e18. Below that the launch reverts with FirstBuyTooSmall. There is no upper bound; a first buy large enough will walk through the curve range and into the reserve range.
Three entry points exist. Launchpad.launch takes the pair coin straight from you. LaunchRouter.launchWithEth and launchWithUsd convert ETH or USDC to the pair coin first and then call launchFor, which is restricted to the router so that the recorded creator cannot be spoofed. In all three, the creator is recorded on the market and receives the tokens.
A launch also needs a fresh feed for the pair coin. A stale or inactive feed reverts the launch rather than opening a market at a price nobody is standing behind. For an inference coin that means a publish within the last six hours; for a stock, a Chainlink round within 26 hours; for DIEM, live Aerodrome observations and a Chainlink ETH round within two hours.
What the creator gets, and does not get
The creator gets the tokens their first buy bought, at the opening price, before anyone else can trade. That is the whole creator allocation.
There is no creator fee share. The coin-side fee split is 50% holders, 30% protocol token buyback, 20% protocol, token-side fees go to holders in full, and a creator who holds their tokens accrues out of the holders' share like any other holder, block by block. The only lever the creator has is the fee rate itself, chosen once and fixed for the life of the pool.
The creator cannot mint, cannot pause, cannot change the metadata, and cannot withdraw liquidity. Neither can anyone else, including us. Liquidity explains why.