Market types
Eight market kinds plus in-play — what each one is and what settles it.
Every market on a fixture settles from the same proven data. The engine is general: any market that is a predicate over the signed stat feed settles the same proven way.
| Kind | Market | Outcomes | Settles from |
|---|---|---|---|
| 0 | Match result (1X2) | Home / Away / Draw | proven goal totals; level after ET/pens voids (goal facts cannot name a pens winner) |
| 1 | Total goals over/under | Over / Under (per line: 1.5, 2.5, 3.5) | proven goal total; half-lines mean no pushes |
| 2 | Both teams to score | Yes / No | proven scoreline |
| 3 | In-play threshold | Yes / No | a Verdict proven mid-match ("stat ≥ K before minute T") via the monotone-counter trick |
| 4 | Draw no bet | Home / Away | proven goal totals; a draw voids and refunds |
| 5 | Correct score | three target scorelines + Any other | proven scoreline |
| 6 | Total-goals bands | 0–1 / 2–3 / 4+ | proven goal total |
| 7 | Odd / even goals | Odd / Even | proven goal total |
| 8 | Sum threshold (corners) | Over / Under K | a binary Verdict proving stat_a + stat_b > K at full time |
The in-play trick (kind 3)
Goals, cards, and corners are non-decreasing counters, which makes time-bounded proofs contradiction-free:
- YES is proven by any batch at-or-before the deadline showing
stat ≥ K. - NO is proven by any batch at-or-after the deadline showing
stat < K(the full-time batch always exists, so NO is always eventually provable).
The market derives both canonical questions on-chain and accepts only a verdict whose hash matches one of them — a supplied account cannot smuggle a different predicate.
The corners sum (kind 8)
The classic parametric example — "Team A corners + Team B corners > 10" — settles from a single binary verdict: the proof carries both corner stats, and the oracle evaluates the sum inside the CPI. The same verdict can simultaneously settle the tradeable market and release a goalshield insurance payout.