Kalshi's API: data and orders
- Public market data needs no key. Series, events, markets and order books for the BTC 15-minute series (
KXBTC15M) can be read without authentication. - Trading and your portfolio need a signed API key. You create one in your Kalshi account and sign each request with its private key.
- It reports prices, not predictions. The current price is the market's own estimate of the chance each side wins. Whether a side is mispriced is left to you.
SpectralEdge's Public Signals API: predictions
The Public Signals API at https://api.cotes.ai returns Cotes AI signals for Kalshi's BTC 15-minute markets as JSON, and as a live stream over server-sent events.
| Endpoint | Returns |
|---|---|
GET /v1/contests/active?series=KXBTC15M | The market trading now and its signals so far |
GET /v1/stream/contests?series=KXBTC15M | A live stream: market opened, signal emitted, market settled |
GET /v1/contests?series=KXBTC15M | Settled markets, newest first, every signal graded win or loss |
GET /v1/contests/{ticker} | One market by its full ticker |
Each signal has a side (up or down), the time it fired, confidence (the model's probability, 0–100), entry_price_cents (the Kalshi quote for that side), edge_cents (confidence minus price) and an outcome of pending, win, loss or void.
Getting access
- Create a key under Account → API keys in the SpectralEdge app. It's shown once, and works while your free trial or subscription is active.
- Send it as
Authorization: Bearer <key>. A missing or revoked key gets401; a lapsed subscription gets402. - The limit is 1 request per second per IP, with bursts of 20. Use the stream for live updates instead of polling.
- The OpenAPI file describes every field, and the agent prompts show how to have an AI coding agent build against it.
Data about a market isn't a prediction of it
Many tools labelled "API" for these markets return the current price, strike and order book. That is the same information Kalshi already publishes. A prediction API has to add an estimate that can differ from the price, and a graded record showing whether that estimate beat the price over time. The history endpoint exists for that check: pair the win rate with the average entry_price_cents. How to judge a signal explains the arithmetic.
SpectralEdge doesn't place orders. To trade on a signal from code, call Kalshi's API from your own program. Running a bot on these markets covers what that program needs.