Docs / Protocol
Architecture
One contract, cloned tokens, Uniswap v4, no server.
The pieces
┌──────────────────────────────────────────────────┐
launch() ─────▶ │ FomoLaunchpad │
buy()/sell() ─▶ │ one curve per token ── sold out ──▶ graduation │
claim() ──────▶ │ claimable fees (pull) │
collectPoolFees │ locked LP positions, pool fees │
└────────────┬───────────────────────┬─────────────┘
│ clone + initialize │ unlock / modifyLiquidity / swap / settle / take
┌───────▼───────┐ ┌───────▼───────────────┐
│ StarToken │ │ Uniswap v4 PoolManager│
│ (EIP-1167) │ │ 0x8366…0951 │
└───────────────┘ └───────────────────────┘- FomoLaunchpad is the only address to know. It indexes every token (
tokens,tokensOf(star),curveOf(token)). - StarToken is a standard OpenZeppelin ERC20, deployed once and cloned per launch. Clones skip constructors, so name, symbol and star are set by
initialize, callable exactly once by the launchpad in the same transaction. The implementation is initialised in its constructor and can never be claimed. - The PoolManager is Uniswap's. The launchpad talks to it directly through the unlock/callback pattern; no periphery contract sits in between.
No indexer, no server
The site reads state through multicall and rebuilds history from the launchpad's own events: Trade for the tape and chart, Launched for descriptions and icons. Log scans start at the deployment block. There is nothing to run and nothing to trust besides the RPC.
Native ETH everywhere
The curve takes native ETH, the pool is native ETH / token, sells pay native ETH. No WETH, no wrapping. In Uniswap v4 native ETH is address(0) as currency0, which is also where the long tail on this chain trades.