Markets & settlement

Market types, the lifecycle from draft to payout, resolution and disputes, and exactly what a winning share pays.

Market types

Market typeMeaning
BINARYYES/NO outcome
MULTIPLEMultiple choice
SCALARNumeric range (future)
SPORTS_GAMESports game with home/away teams
CRYPTO_PRICECrypto price prediction market

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:

StatusMeaning
DRAFTNot yet published
PENDINGAwaiting approval
ACTIVEOpen for trading
CLOSEDTrading closed, awaiting resolution
RESOLVEDOutcome determined, payouts complete
CANCELLEDMarket cancelled, all bets refunded
DISPUTEDResolution under dispute

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.