prophetx

v2026.09.24

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 use sports-news.

GitHub
Install command
npx skhub add machina-sports/prophetx
Markdown
SKILL.md

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

  1. search_markets --sport=nfl --query="Eagles" — soonest matching events with their markets.
  2. 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

  1. get_todays_events --sport=mlb — today's events (UTC) with home/away and schedule.
  2. Follow with get_markets --event_id=<id> --api_version=v2 for the full catalog (player props, alt lines).

Explore the exchange

  1. get_sports_config — sports and live tournaments.
  2. 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).
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/prophetx

Default branch

main

Latest commit

624c0a5

Tree SHA

68e96fd