Skip to main content
Everything here works against the public API. If you prefer to paste into a terminal as you read, have $DP_API_KEY in your shell before you start.
1

Register

curl -X POST https://api.dotprediction.io/v1/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"name": "Your Name", "email": "you@example.com", "password": "correct-horse-battery-staple"}'
The response sets a JWT cookie so the next call is already authenticated. Prefer the dashboard? Sign up at dotprediction.com instead.
2

Create a key

curl -X POST https://api.dotprediction.io/v1/api/auth/api-keys \
  -H "Content-Type: application/json" \
  -b "jwt=YOUR_SESSION_COOKIE" \
  -d '{"name": "my-first-key"}'
The key in the response is shown once — save it. Every request below sends it as X-API-Key.
3

Fetch markets

curl https://api.dotprediction.io/v1/api/markets?provider=polymarket&limit=5 \
  -H "X-API-Key: $DP_API_KEY"
4

Watch an orderbook

curl "https://api.dotprediction.io/v1/api/markets/KXCLIMATE-26/orderbook?provider=kalshi" \
  -H "X-API-Key: $DP_API_KEY"
Normalized bid/ask depth with canonical float prices — same shape on every venue.

What’s next

  • Authentication — JWT vs API keys, and when to use each.
  • Platforms — how Kalshi and Polymarket map onto our unified schema.
  • Pagination — cursor-based, bypassing the cache when you want fresh data.
Questions or something missing? Email support@dotprediction.com or open an issue on GitHub.