Markets, Outcomes, and Contracts
A market is a question with a defined resolution rule — for example, “Will the Fed cut rates in Q3?” Every market belongs to exactly one venue (Polymarket, Kalshi, Predict.fun, etc.) and has a lifecycle that ends when the question resolves. An outcome is one possible answer to that question. Binary markets have two outcomes (YES and NO). Multi-outcome markets have three or more (e.g., DEM, REP, IND for a party-share market).
A contract is the tradeable instrument tied to one outcome. It has its own order book, price feed, and OHLCV candle series. Contracts are what you reference when placing orders or fetching candles.
On Polymarket, contracts map to ERC-1155 CTF outcome tokens. On Kalshi, contracts map to ticker-based series. Kairos normalizes both into the same structure so your code works across venues.
Canonical IDs and Cross-Venue Normalization
Each venue uses its own identifier scheme. Polymarket uses hex token addresses; Kalshi uses human-readable tickers likeKXBTCD-25JUN-T60000. Kairos assigns a canonical market ID to every contract so you can reference markets consistently regardless of venue.
Use POST /v1/market-identifiers/resolve on the Market Data API to translate any venue-native ID into a canonical Kairos ID:
Market Metadata Fields
Every market exposes a standard set of metadata fields. Fetch them withGET /markets/metadata on the Data API or GET /v1/markets/{provider}/{market_id} on the Market Data API:
Market Lifecycle
Markets move through a predictable set of states from creation to settlement:1
Active
The market is open for trading. The order book accepts new orders, and prices move with supply and demand.
2
Paused
Trading is temporarily suspended. This can happen before a major event, during a venue incident, or while the resolution source is being verified.
3
Resolved
The outcome is final. Winning contract holders can redeem their tokens for the full $1.00 payout. Losing contracts expire worthless.
4
Cancelled
The market was voided before resolution — for example, the underlying event never occurred. Kairos routes redemption calls accordingly.
Tick Size and Price Grid
Prediction market contracts trade between 1.00, representing implied probability. Not every price is valid — each market defines a tick size that constrains the price grid. A tick size of0.01 means prices must be multiples of one cent (0.01, 0.02, … 0.99).
Fetch the current grid for any contract from the Market Data API — no API key needed:
0.001 below 0.04 and above 0.96, and 0.01 in between). Read ranges, not a single tick size, and treat the values as decimals rather than floats.
When a Kalshi market’s live band layout is not available you get one flat band at the finest step, marked "synthetic": true. The minimum tick is correct; the boundaries are not described, so render the ladder at min_tick and let the venue reject anything its coarser band disallows at submit.
Market Categories
Kairos surfaces markets in several broad categories, each with its own subcategory taxonomy:Politics
Elections, legislation, government appointments, and geopolitical events across global jurisdictions.
Crypto
Price prediction markets for BTC, ETH, SOL, and other assets — including up-or-down markets at 5m, 15m, and 1h intervals.
Sports
Game winners, totals, and futures across NFL, NBA, MLB, NHL, soccer, esports, and more — matched across Polymarket and Kalshi.
Finance
Equities, forex, commodities, and macro indicators including Fed rate decisions and economic data releases.
Crypto Prediction Markets
Kairos provides a dedicated endpoint for short-horizon crypto up-or-down prediction markets. These markets ask whether an asset’s price will be higher or lower than a reference level at a specific future timestamp.GET /markets/crypto/ptb to fetch the current Price-to-Beat (PTB) value — the strike price an asset must exceed for the UP contract to resolve YES.
Sports Markets
Sports markets are matched across Polymarket and Kalshi, giving you a unified view of the same game across both venues. UseGET /sports/live-events to find active games with cross-provider prices, and GET /sports/game-markets to browse all market families (spreads, totals, moneylines) for a specific game.

