Prefer WebSocket for order submission. Placing and cancelling orders over the persistent
/ws socket is lower-latency (one round trip instead of the REST submit/poll pair) and simpler to build: one connection, one auth handshake, and pushed order_update/fill events instead of polling. See Order Execution over WebSocket.Base URLs
Quick Start
1. Get credentials
Contact Kairos for API credentials, then export them for the examples below:Authorization: Bearer <token>, for user-facing apps). See Authentication for headers, scopes, and token structure — or the Market Data API’s free tier if you just need read-only market data without a key at all.
2. Discover markets
3. Get market prices
4. Fetch historical candles
5. Submit an order via WebSocket
Connect towss://execution.kairos.trade/ws with your credentials, then send:
kind, time_in_force, and price-format details.
Providers
The Kairos API aggregates data from multiple prediction market providers:
Pass the numeric
provider_id (or the string provider name, e.g. "predictfun") wherever an endpoint takes a provider.
API Modules
See the API Reference for the full endpoint index with parameters and live try-it panels.
Real-Time Data
Kairos exposes live data through two WebSocket streams — the Market Data stream (which also carries live crypto/oracle prices) and the Order Execution stream — plus REST endpoints for current and historical crypto/oracle data.Fee quotes also stream — subscribe to
subscribe_fee_quote on the order-execution socket for live per-order fee estimates. See Fee Quote WebSocket.Response Format
All responses are JSON. Successful responses return data directly:- Data API (
data.kairos.trade):{ "detail": "Error message describing what went wrong" }, or FastAPI’s standard validation envelope on422. - Order Execution API (
execution.kairos.trade):{ "error": "...", "error_details": { "code": "...", "message": "...", "actions": [] } }on most order-mutation endpoints; some auth/ownership/not-found responses return an empty body, so treat the status code as authoritative there. See Orders — Errors.
Rate Limits
Data API (data.kairos.trade)
Order Execution (execution.kairos.trade)
WebSocket (stream.kairos.trade)
Order Execution WebSocket (execution.kairos.trade/ws)
Exceeding connection limits returns
429 Too Many Requests on upgrade.

