Launch Life-Cycle
Fig. 01 · A single clearing test at the close of the window routes every round to exactly one of two irreversible paths — graduation into a trading pool, or full USDG refund into Closed.
The Seven States
| State | Trigger | Permitted actions |
|---|---|---|
| Created / Upcoming | Project registered | Preview only. No funds accepted. |
| Batch Auction | Fixed-price snapshot taken | 60-minute deposit window open. ETH, USDG, or Stock Tokens accepted. |
| Snapshotting | Reachable target met | Inputs frozen, fills computed, Merkle root published. |
| Graduating | Snapshot accepted | USDG proceeds converted to Stock Token, LP seeded. |
| Trading | Canonical LP created | Swap, fee accrual, staking, earnings. |
| Draft / Refundable | MONEY or SEATS failure | Full USDG refund only. |
| Closed | Refunds settled | Terminal. Nothing further. |
Irreversibility
Snapshotting, Graduating, Trading, Draft, and Closed are irreversible once entered. Every transition emits an on-chain event, so indexers and front-ends converge on the same view within a bounded confirmation window.
A failed auction closes permanently. The protocol does not support retroactive top-ups of an under-subscribed round, does not lower the target, and does not extend the window. The only remedy is a new roundId.
No partial success
No path exists between "cleared" and "fully refunded" — not a reduced launch, not a partial LP, not a deferred round. This is enforced as a release-blocking invariant, not a policy. See Failure Atomicity.
The Window Boundary
The window runs 60 minutes, and is scheduled to shorten to 3 minutes — see Parameters & Constants. Whatever its length, at its boundary the contract must be in exactly one of open or closing — never both, and never neither. This is tested explicitly at the boundary instant and at the adjacent one-second checkpoints on either side of it.
Fig. 02 · The state-exclusivity invariant at the window boundary, including the checkpoints tested in acceptance criteria.
The reason is narrow and important: any ambiguity at the boundary is a place where a transaction's treatment depends on when it landed — precisely the ordering-dependence the batch auction exists to eliminate.