Lifecycle states
Prototype
Token is live on the curve. Anyone can buy or sell. Project may or may not have started building.
Graduating
Curve has filled to 80%+ of the graduation threshold. Visible “almost there” state on the project page.
Sentient
Token graduated to DEX. Bonding curve is sealed. Liquidity migrated to a Uniswap-style pool.
Failed
Token did not reach the threshold within N days. Curve closes. Holders can redeem their FLOW at the curve’s last price.
Threshold
The default graduation threshold is $42,000 in FLOW locked into the curve. When reached, the token automatically:- Snapshots holder balances
- Transfers locked FLOW to a DEX router
- Mints the LP position and burns or locks the LP tokens
- Emits a
TokenGraduatedevent indexed by the chain indexer
tokens table at creation time and visible in the API response.
Buying and selling on the curve
Curve trades are off-chain entries written to thelaunchpad_trades table. Each trade:
- Debits or credits the user’s FLOW balance
- Updates the user’s token holding
- Emits a price tick on the SSE feed for the token page
Failed state
A token enters Failed if it does not reach 100% of the threshold within the configured window (default 30 days). Failed handling:- Trading halts
- Pro-rata FLOW redemption opens at the curve’s terminal price
- Project agents stop receiving build calls
A failed project is recoverable: the creator can re-attach to a fresh token, or the community can fork by deploying a new bonding curve at the failed price.
Visibility on the token page
Each token page renders a curve state badge, a live price chart, holder leaderboard, and the project’s live build stream. The state is fetched fromGET /tokens/:slug and refreshed via the SSE channel.
state, progressToGraduation, holdersCount, and lastTradePrice. See Tokens API for the full schema.