Markets
Markets are defined per league. Each market has a canonical market_key string that appears in the assertion payload's stat_type field and in any odds data the oracle exposes. Market keys are stable — once a consumer integrates against a key, that key will not be renamed or redefined.
MLB (live)
MLB markets are grouped into batter, pitcher, and combined categories. The oracle resolves both standard over/under markets and their alternate-line variants. The stat values are raw totals from the official box score — the consumer applies its own line to grade.
Batter markets
market_key | Description |
|---|---|
batter_hits | Total hits |
batter_singles | Singles (hits minus 2B, 3B, HR) |
batter_home_runs | Home runs |
batter_rbis | Runs batted in |
batter_runs_scored | Runs scored |
batter_total_bases | Total bases (1B + 2·2B + 3·3B + 4·HR) |
batter_doubles | Doubles |
batter_triples | Triples |
batter_walks | Bases on balls |
batter_strikeouts | Strikeouts (batter) |
batter_stolen_bases | Stolen bases |
batter_hits_runs_rbis | Combined hits + runs + RBIs |
Pitcher markets
market_key | Description |
|---|---|
pitcher_strikeouts | Strikeouts thrown |
pitcher_outs | Outs recorded (innings pitched × 3) |
pitcher_hits_allowed | Hits allowed |
pitcher_earned_runs | Earned runs allowed |
pitcher_walks | Walks issued |
pitcher_record_a_win | Win / no-win, reported as 1.0 / 0.0 |
Total bases is reported as a single computed value in the assertion. Consumers do not need to compute it from component stats.
Planned market expansions
NFL, NBA, and NHL will launch with the canonical player-prop market sets for their respective sports — passing/rushing/receiving yards and TDs for NFL; points, rebounds, assists, steals, blocks, threes for NBA; shots on goal, saves, points for NHL. The exact market_key strings are published when the league goes live. Soccer markets are structurally different from US box-score sports (shots, passes, cards, goals, assists) and will use their own keyspace.
What is not a market
Standard markets — moneylines, spreads, and game totals — are not resolved by Props Oracle. Those belong to a separate game-outcome oracle stream that consumes the same EventRegistry. A consumer building mixed markets (a parlay of player props and a moneyline, for example) reads both streams via the same canonical event ID.