Case study · launchpad · simulation

A coin launchpad, simulated

Bonding-curve launchpads let anyone start a coin in one step. A curve sets every price, and when the curve sells out the coin graduates into a pool whose liquidity can never be pulled. This case study rebuilds that design as a deterministic simulation run on play credits, then asks which launch rules hold up against sniper bots, bundled wallets and a creator who sells everything.

Play credits only. No value, may reset. No real funds. Credits never leave this page.

4replayable runs
4launch rules
5bot strategies
13policy checks
Porch Night (PORCH), the simulated coin from “A quiet launch”, showing actual Noun #95
A quiet launch
Lightning Bolt (BOLT), the simulated coin from “Snipe war”, showing actual Noun #82
Snipe war
The Slice (SLICE), the simulated coin from “Dev dump”, showing actual Noun #55
Dev dump
Moon Room (MOON), the simulated coin from “Graduation run”, showing actual Noun #64
Graduation run

The curve

Each coin starts with virtual liquidity on both sides of a constant-product curve, so the product of the two sides never falls. Buying adds credits and takes coins out; selling does the reverse. The numbers copy the published curve constants of the best-known Solana launchpad (see Sources), with the credit side scaled up so it reads in whole play credits. Coin percentages are unchanged.

Price rises 14.7 times as the curve takes in 8,500.54 credits, from a starting market cap of 2,795.90 to 41,088.02 at graduation. 02,0004,0006,0008,000 14.7× 1× graduation credits taken in by the curve
Price relative to the first coin, against credits raised.
Chart data
Points along the curve
Coins soldCredits inPrice, × first coinMarket cap
0%0.001.0×2,795.90
12.5%305.391.2×3,394.11
25%680.011.5×4,207.05
37.5%1,150.401.9×5,351.30
50%1,758.672.5×7,034.76
62.5%2,575.843.5×9,658.26
75%3,731.855.0×14,078.20
87.5%5,492.568.0×22,405.60
100%8,500.5414.7×41,088.02
Supply
1,000,000,000 coins
Sold on the curve
793,100,000 (79.31%)
Held for the pool
206,900,000
Starting market cap
2,795.90 cr
Credits to graduate
8,500.54 cr
Market cap at graduation
41,088.02 cr
A first buy of 100 cr, after the fee
34,199,203 coins
Curve fee, inside the buy
1.25% (0.30% creator, 0.95% house)

Two progress bars, not one. Counting coins sold makes a bar read half full when only 1,758.67 of 8,500.54 credits are in, about a fifth of the way. The board below shows both.

Four launch rules

Every run below is replayed under the plain rules most launchpads use (naked) and under a fair-launch preset that turns every defense on. One tick is one simulated second. Within a tick, orders go by priority fee and then by a seeded shuffle, which stands in for the race to land first in a block.

RuleOpening auctionSniper feeEarly cap per walletCreator lock
Naked — — — —
Opening auction 10 ticks, 30 cr per wallet with any priority fee inside, pro-rata fill at one price — — —
Decaying sniper fee — 50% at open, falling to 0 over 60 ticks — —
Fair launch 10 ticks, 30 cr per wallet with any priority fee inside, pro-rata fill at one price 50% at open, falling to 0 over 60 ticks 2% of supply for 120 ticks cannot sell before graduation

Four runs, naked and fair

Seed quiet-launch-1 · 1,800 ticks

A quiet launch

One coin, a small dev buy, light neighborhood trading and three patient bots. Nothing graduates; the curve just finds a level.

Nothing graduated: 2,113.46 credits came in and the risk score stayed low.

MeasureNakedFair
PORCH statuson the curveon the curve
PORCH credits in2,113.462,079.69
PORCH holders3333
PORCH risklow · 3low · 1
PORCH first-minute coins held by snipers0%0%
Sniper fees to the house0.0048.65

Seed snipe-war-1 · 900 ticks

Snipe war

Six sniper bots race for the first block of a new coin with priority fees. Run it under naked rules, then under fair rules, and compare who holds the first minute's supply.

Snipers held 46.1% of the coins bought in the first minute under naked rules, and 18.9% under fair rules.

MeasureNakedFair
BOLT statuson the curveon the curve
BOLT credits in2,577.252,604.89
BOLT holders4141
BOLT risklow · 10low · 1
BOLT first-minute coins held by snipers46.1%18.9%
Sniper fees to the house0.00139.17

Seed dev-dump-1 · 1,200 ticks

Dev dump

The creator buys close to the 5% cap, four wallets it funded buy in the same tick, and four minutes later the creator sells everything. The risk panel should say so before it happens.

Naked rules: DEV_DUMP and BUNDLED and WHALE. Fair rules: no flags — the creator lock refused the sale and the opening auction capped the bundle.

MeasureNakedFair
SLICE statuson the curveon the curve
SLICE credits in3,509.833,118.98
SLICE holders4546
SLICE riskhigh · 23DEV_DUMPBUNDLEDWHALElow · 2
SLICE first-minute coins held by snipers0%0%
Sniper fees to the house0.0073.15

Seed graduation-run-1 · 2,400 ticks

Graduation run

A busy coin fills its curve, graduates into a pool with the liquidity tokens burned, and keeps trading there. A second coin launches later and competes for attention.

MOON graduated at tick 265 into a pool with its liquidity tokens burned, then kept trading there.

CoinNakedFair
MOON statusgraduated, tick 265graduated, tick 277
MOON credits in8,500.548,500.54
MOON holders165165
MOON risklow · 5low · 3
MOON first-minute coins held by snipers0%0%
GRID statuson the curveon the curve
GRID credits in2,790.032,808.98
GRID holders6975
GRID risklow · 3low · 1
GRID first-minute coins held by snipers0%0%
Sniper fees to the house0.00249.31

Credits are conserved in every run: what wallets, the curve, the pools, held creator fees and the house sinks hold at the end equals what the wallets started with. Under fair rules the sniper fee also lands on ordinary buyers in the first minute; that cost shows in the last row.

Live board

Play any of the four runs here, or launch your own coin into one. The engine, bots and screener are the same code the exhibits used. You trade from a wallet that starts with 1,000 play credits; every action you take (a launch, a trade, an approval, a kill switch, a policy edit) is a record in the run's action log, applies at the next tick, and travels in the replay link. Nothing is sent anywhere.

How the simulation works

  • Whole numbers. Every amount is a whole number of micro-credits, and every division rounds toward the curve, so the curve can always buy back every coin outstanding. A test checks that across 10,000 random trades, along with quotes that equal fills.
  • One price, fees inside. A buy names one amount, and the curve fee, any sniper fee and any priority fee all come out of it. Fee rates are counted in millionths, so the half-basis-point pool tiers are exact, and the creator, house and pool lines always add up to the whole fee, with the house taking the rounding.
  • Graduation. The buy that sells out the curve fills what is left at curve prices; any remainder buys from the new pool at its opening price in the same step. The pool's liquidity tokens are burned, so nobody can pull the liquidity, and the price moves less than 0.1% across the switch.
  • Bots only propose. Each proposal passes a policy gate that checks, in order: killed, expired, blocked coin, not permitted, cooldown, rate, per trade, window cap, position, slippage, priority fee, credits, needs approval. The first failing check is the reason on record, and every refusal is part of the logged run. Trades above a bot's approval line (25 cr by default) wait for a person: on the board they go to the approval queue under Bots & approvals (or are refused, if you choose), and a queued trade is void after 30 ticks or as soon as the bot's policy or credits change. The Stop buttons are the gate's kill switch.
  • Risk. The score weighs the creator's holdings, same-tick buys from wallets the creator funded, other buys in the first five ticks, how much the top ten holders hold and how much the creator has sold. Hard flags: DEV_DUMP, BUNDLED, WHALE and WASH.
  • Trending. Breadth of buying (the square root of volume per wallet cluster), distinct makers, trade count, price change, holder growth and liquidity, each compared across coins, then scaled down for concentration, warm-up and age. Every input is kept, so any rank can be explained.
  • Same seed, same story. A run, its seed, its rules, its approvals mode and its action log always produce the same event log, which is what a replay link carries. Each run's log hash is pinned in the tests under every rule set and both approvals modes, and a run with no presses here ends on that same hash; configuration hash ba27728bf58b199d.
Bot strategyWhat it does
Market makerKeeps a ±4% band around the 60-tick average on the busiest coin: sells 2% of its holdings above the band, buys 20 cr below it.
MomentumBuys 30 cr when price is up 8% over 30 ticks with buys outnumbering sells 1.5 to 1; exits on a 12% trailing stop. Its buys sit above the default approval line of 25 cr.
SniperBuys 100 cr once per coin, its priority fee inside: as an order during an opening auction, or within 60 ticks after trading opens while any sniper fee is at most 10%. Sells at 2.5× or after 300 ticks.
Dip buyerBuys 20 cr when price sits 20% under its 300-tick high while holders still grow; sells at +30% over its average price.
HolderBuys 20 cr of coins with a risk score under 25 once they are 30 ticks old, holds to graduation, then sells half.

What a live version would need

This page is stage A of three in the plan (docs/plans/2026-10-19-launchpad-case-study.md). A shared version on the PointCast devnet (stage B) would need Mike's go-ahead, a house account that follows the chain, and a kill switch that really stops an agent: on the devnet that is a fresh mandate with no permitted kinds, because clearing a mandate lifts every limit. A production version (stage C) is described in the plan only as a comparison: an audited program, an indexer and wallet policies. None of that is planned or built, and nothing here would ever pay out.

Sources

Play credits only. No value, may reset. No real funds. Credits never leave this page.

Noun art is CC0. Not a Nouns token. Not a claim on the Nouns treasury. No Nouns DAO endorsement. Coins show actual Nouns drawn from their verified seeds (#0–99); they are simulated coins, not Nouns Money notes.

Written by Claude Code for PointCast. Machine edition: launchpad.json. Code: src/lib/launchpad/.