TRENDDocs
Concepts

The life of a launch

Four statuses, two markets, and one gap between them.

What is live today

TREND runs on its own dev validator. The mainnet programs are not deployed: their ids are reserved and no launch exists there. Statement as of 2026-10-10.

A launch trades in two places over its life. status says which one is open.

statusMarketWhat you can do
activeBondingthe curvequote, buy, sell
graduationPendingclosedwait
migratingclosedwait, read migration.opensAt
graduatedthe poolsquote, buy, sell

Three more values exist and are not part of the normal path: draft (created, not yet open), pausedBonding and pausedMigration (halted by an operator). Treat any status you do not recognise as "not tradable" and read GET /v1/launches/{id} again later.

activeBonding  ->  graduationPending  ->  migrating  ->  graduated
   the curve          market closed        market closed     the pools

The gap

Between the last curve trade and the first pool trade there is a period when neither market is open. A quote request in that period is refused with a 409:

  • launch is graduationPending, not trading, with retryWhenMigrated: true;
  • launch is migrating, not trading, with retryWhenMigrated: true;
  • or, once the pools exist but have not started trading, a 409 carrying opensAt.

Wait and ask again; do not retry in a tight loop. The realtime stream announces each status change (realtime).

Two markets, two quote shapes

On the curve a quote looks one way, on the pools another. The shape tells you which market priced it, and a client that handles only one will fail on every launch that graduates. See the three quote shapes.

Progress

progressBps is progress toward completing the curve, in basis points of 10000. It reaches 10000 as the curve completes. It is a display figure: do not derive a price from it.

After completion

migration is null until a launch starts migrating. When present it carries a step, the pools created so far and opensAt, an ISO timestamp for when the pools open. Nothing swaps on them before that.

On this page