API documentation

API documentation

Home

Platform REST and WebSocket reference with common endpoints and examples.

REST base
https://{host}/api/v1
WebSocket
wss://{host}/ws/prediction-market/{round_id}

See Swagger or Markdown for authentication details. Never send wallet private keys.

API access & keys

Order book, quotes, trades, complete-set arbitrage, portfolio, and WebSocket require an API application on this site; keys are issued after admin review and payment confirmation. In-browser Fusion betting uses site login, not API keys.

Apply for API accessConnect wallet or sign in first

Quick start

  1. Get round_id and option_id from the site or GET /games?page=1&limit=20.
  2. Use GET /games/rounds/{round_id} for title, status, and schedule.
  3. GET /prediction-markets/{round_id}/snapshot for probabilities and executable arbitrage.
  4. GET /prediction-markets/{round_id}/arbitrage to poll complete-set edges after fees.
  5. See Endpoints below for paths and examples.

Open endpoints (read-only)

Read-only endpoints below need no key; trading APIs require approved API access above.

MethodPathSummary
GET/prediction-markets/{round_id}/snapshotMarket snapshot (read-only)
GET/prediction-markets/{round_id}/arbitrageArbitrage scan (read-only)
GET/gamesGame rounds list
GET/market/pricesCached market prices
GET/healthHealth check
GET/api/v1/prediction-markets/{round_id}/snapshot

Market snapshot (read-only)

Public LMSR probabilities, pool, executable complete-set arbitrage[] (after fees), and mm_exposure. No trading or private positions.

Response

{
  "round_id": "674a...",
  "probability_sum": 100,
  "arbitrage_pricing_model": "complete_set_fee_inclusive",
  "options": [{ "option_id": "up", "yes_cents": 52, "no_cents": 48 }],
  "arbitrage": [],
  "mm_exposure": {
    "liquidity_b": 120,
    "fusion_cash_pool_usdt": 0,
    "theoretical_max_loss_usdt": 83.18
  },
  "mechanism": "fusion_lmsr"
}
curl -s "https://your-domain.com/api/v1/prediction-markets/{round_id}/snapshot"
GET/api/v1/prediction-markets/{round_id}/arbitrage

Arbitrage scan (read-only)

Executable complete-set opportunities after taker fees. Balanced books often return empty opportunities[]. Includes mm_exposure. Optional X-Api-Key for tier rate limits.

Response

{
  "count": 0,
  "pricing_model": "complete_set_fee_inclusive",
  "opportunities": [],
  "mm_exposure": { "liquidity_b": 120, "theoretical_max_loss_usdt": 83.18 }
}
curl -s "https://your-domain.com/api/v1/prediction-markets/{round_id}/arbitrage"
GET/api/v1/games

Game rounds list

Paginated visible rounds (alias of GET /games/rounds; use page+limit).

Query: page, limit, category, status, sort_by

Response

{ "total": 42, "rounds": [{ "round_id": "...", "title": "...", "status": "active" }] }
curl -s "https://your-domain.com/api/v1/games?page=1&limit=20"
GET/api/v1/market/prices

Cached market prices

Cached crypto prices and funding rates synced by the platform.

curl -s "https://your-domain.com/api/v1/market/prices"
GET/api/v1/health

Health check

Liveness and dependency status for monitoring.

curl -s "https://your-domain.com/api/v1/health"

Errors

  • ROUND_NOT_FOUNDRound not found
  • ROUND_NOT_ACTIVERound not open
  • RATE_LIMITEDRate limited