Markets & settlement
Markets & settlement
Market types
SCALAR (numeric-range) markets are defined in the model but not yet live — today’s
tradable markets are binary, multiple-choice, sports, and crypto-price.
Lifecycle
A market moves through this status machine:
The normal path is DRAFT → PENDING → ACTIVE → CLOSED → RESOLVED. ACTIVE is the only
status open for trading; once trading closes the market awaits resolution. CANCELLED and
DISPUTED are the off-path terminals below.
There is no HALTED status. Trading can be paused by automatic circuit breakers
(volatility / spread / imbalance) at the market level, but a halt is a transient trading
pause tracked separately, not a value in the market-status enum above.
Resolution & disputes
When the outcome is known, the market resolves: the winning outcome is recorded and payouts
run. Resolution is dual-controlled and evidenced on the platform side. A contested resolution
moves the market to DISPUTED while it is reviewed; a dispute can adjust the resolved
outcome and re-run payouts.
What a winning share pays
Settlement pays each position shares × payout_per_share, where payout_per_share is set
at resolution: 1 (CAD) for the winning outcome and 0 for the others. So a winning
share settles at CAD 1.00 and a losing share at 0 — but the amount is always read from the
resolved payout_per_share, never a hardcoded constant (app/services/AGENTS.md). Payout is
idempotent (it runs exactly once per position).
Cancellations and voids
A CANCELLED market voids all activity and refunds — no outcome pays. This is the safe
terminal for a market that can’t be fairly resolved.
Related
- How pricing works — how prices move before resolution.
- Market data — reading market state, the book, and trades.
- Compliance & regions — which markets are restricted, and for whom.

