ProphetX — Public Exchange Markets (read-only)
Before writing queries, consult references/api-reference.md for sport codes and command parameters.
Read this first — what this skill can and cannot return:
- ✅ Tournaments (leagues), events (with home/away, schedule, status), market catalog (moneyline/spread/total, alt lines, player props on v2), matched stake (
total_stake), primary-line flag (favourite).
- ✅ Exchange odds (American) with derived implied probability — but ONLY on markets where a public order book is exposed. Check
selections_available per market; availability varies (pre-game core markets usually have books; in-play and low-activity markets often come back [null, null]).
- ❌ Guaranteed odds on every market, or full order-book depth/liquidity. When
selections_available is False, only structure and matched stake exist — never invent odds. Complete odds coverage lives behind the authenticated ProphetX Affiliate API, a separate credentialed Machina connector — never wire tokens into this skill.
Quick Start
Prefer the CLI — it avoids Python import path issues:
sports-skills prophetx get_sports_config
sports-skills prophetx search_markets --sport=nfl --query="Eagles"
sports-skills prophetx get_todays_events --sport=mlb
sports-skills prophetx get_tournaments --sport=soccer
sports-skills prophetx get_markets --event_id=19742 --api_version=v2
Python SDK (alternative):
from sports_skills import prophetx
prophetx.get_sports_config()
prophetx.search_markets(sport="nfl", query="Eagles")
prophetx.get_todays_events(sport="mlb")
prophetx.get_events(109) # tournament_id
prophetx.get_markets(19742, api_version="v2") # event_id
prophetx.get_market(19742, 219) # market id or "19742:219"
CRITICAL: Before Any Query
- Market
id is the market-TYPE id (219 = Moneyline on ANY event) — the stable per-event key is market_key ("<event_id>:<market_id>").
api_version="v2" adds category, subType, alt lines (market_lines) and player props; default v1 is the lean catalog. v2 automatically falls back to v1 on failure.
- Check
selections_available before reading odds fields — odds exist only where a public order book does; never present total_stake (matched volume) as odds or liquidity.
- Sport codes:
soccer, tennis, basketball, baseball, ice-hockey, american-football + aliases (nfl, nba, mlb, nhl, epl, mls, worldcup, ...).
Workflows
Market discovery for a game
search_markets --sport=nfl --query="Eagles" — soonest matching events with their markets.
- Present market names/types/lines; quote odds only from markets with
selections_available: true, and say explicitly when a market's public book is empty.
Today's slate
get_todays_events --sport=mlb — today's events (UTC) with home/away and schedule.
- Follow with
get_markets --event_id=<id> --api_version=v2 for the full catalog (player props, alt lines).
Explore the exchange
get_sports_config — sports and live tournaments.
get_tournaments --sport=soccer → get_events --tournament_id=<id>.
Important Notes
- Read-only by design: no login, no cookies, no browser automation, only GETs; conservative throttling + caching + retries with backoff; fails closed on 403/WAF and on schema drift.
- Event
status values observed: not_started, live.
_raw preserves the full provider payload on every normalized record.
- Unified cross-venue discovery:
sports-skills markets search_entity --query="Yankees" includes a prophetx section (top-of-book odds per outcome when a public book exists; events without any exposed book are flagged with a note).
1---2name: prophetx3description: ProphetX betting exchange — public tournaments, events, markets, and exchange odds. No API key, read-only. Covers soccer, tennis, basketball, baseball (MLB), NFL, NHL. IMPORTANT: odds are per-market optional — they appear only when a public order book exists (check `selections_available`); empty/suspended books return market structure and matched stake only. Full guaranteed odds coverage requires the authenticated ProphetX Affiliate API (separate Machina connector). Use when: user asks what markets/lines ProphetX offers for a game, ProphetX exchange odds and order-book prices (when exposed), event/tournament discovery, market structure (spreads, totals, alt lines, player props), or matched-stake activity. Don't use when: user needs guaranteed odds on every market or in-play liquidity — that requires the authenticated Affiliate connector (Machina platform). For prediction-market prices use polymarket or kalshi. For scores/stats use the sport-specific skill (nfl-data, mlb-data, football-data, ...). For news use4license: MIT5---67# ProphetX — Public Exchange Markets (read-only)89Before writing queries, consult `references/api-reference.md` for sport codes and command parameters.1011**Read this first — what this skill can and cannot return:**12- ✅ Tournaments (leagues), events (with home/away, schedule, status), market catalog (moneyline/spread/total, alt lines, player props on v2), matched stake (`total_stake`), primary-line flag (`favourite`).13- ✅ Exchange odds (American) with derived implied probability — but ONLY on markets where a public order book is exposed. Check `selections_available` per market; availability varies (pre-game core markets usually have books; in-play and low-activity markets often come back `[null, null]`).14- ❌ Guaranteed odds on every market, or full order-book depth/liquidity. When `selections_available` is `False`, only structure and matched stake exist — never invent odds. Complete odds coverage lives behind the authenticated ProphetX Affiliate API, a separate credentialed Machina connector — never wire tokens into this skill.1516## Quick Start1718Prefer the CLI — it avoids Python import path issues:19```bash20sports-skills prophetx get_sports_config21sports-skills prophetx search_markets --sport=nfl --query="Eagles"22sports-skills prophetx get_todays_events --sport=mlb23sports-skills prophetx get_tournaments --sport=soccer24sports-skills prophetx get_markets --event_id=19742 --api_version=v225```2627Python SDK (alternative):28```python29from sports_skills import prophetx3031prophetx.get_sports_config()32prophetx.search_markets(sport="nfl", query="Eagles")33prophetx.get_todays_events(sport="mlb")34prophetx.get_events(109) # tournament_id35prophetx.get_markets(19742, api_version="v2") # event_id36prophetx.get_market(19742, 219) # market id or "19742:219"37```3839## CRITICAL: Before Any Query4041- Market `id` is the market-TYPE id (219 = Moneyline on ANY event) — the stable per-event key is `market_key` (`"<event_id>:<market_id>"`).42- `api_version="v2"` adds category, subType, alt lines (`market_lines`) and player props; default v1 is the lean catalog. v2 automatically falls back to v1 on failure.43- Check `selections_available` before reading odds fields — odds exist only where a public order book does; never present `total_stake` (matched volume) as odds or liquidity.44- Sport codes: `soccer`, `tennis`, `basketball`, `baseball`, `ice-hockey`, `american-football` + aliases (`nfl`, `nba`, `mlb`, `nhl`, `epl`, `mls`, `worldcup`, ...).4546## Workflows4748### Market discovery for a game491. `search_markets --sport=nfl --query="Eagles"` — soonest matching events with their markets.502. Present market names/types/lines; quote odds only from markets with `selections_available: true`, and say explicitly when a market's public book is empty.5152### Today's slate531. `get_todays_events --sport=mlb` — today's events (UTC) with home/away and schedule.542. Follow with `get_markets --event_id=<id> --api_version=v2` for the full catalog (player props, alt lines).5556### Explore the exchange571. `get_sports_config` — sports and live tournaments.582. `get_tournaments --sport=soccer` → `get_events --tournament_id=<id>`.5960## Important Notes6162- **Read-only by design**: no login, no cookies, no browser automation, only GETs; conservative throttling + caching + retries with backoff; fails closed on 403/WAF and on schema drift.63- Event `status` values observed: `not_started`, `live`.64- `_raw` preserves the full provider payload on every normalized record.65- Unified cross-venue discovery: `sports-skills markets search_entity --query="Yankees"` includes a `prophetx` section (top-of-book odds per outcome when a public book exists; events without any exposed book are flagged with a `note`).