Resources/Kalshi·Reference

Kalshi Price Data Explained: Yes/No Prices, Series, and Depth

Kalshi prices are probabilities, quoted yes and no. Here's how to read them straight from the book — and how the series, windows, and depth fit together.

By DepthFeed··9 min read

Kalshi price data has two layers: each contract's yes/no price — quoted 0 to 1, the market's implied probability — and the underlying crypto reference price that drives it. Because a yes bid at price p is the same as a no offer at 1 − p, the full picture needs both sides of the book; DepthFeed stamps the complete yes/no ladder and the underlying on every snapshot with epoch-millis timestamps.

Yes/no prices are implied probabilities

Every Kalshi crypto contract resolves yes or no, and each side trades between 0.01 and 0.99 (1¢ and 99¢). The yes price is the market's implied probability that the condition resolves true; at settlement one side is worth $1.00 and the other $0.00. So a yes contract trading at 0.33 is the book pricing a 33% chance the condition holds.

As with any market, the honest price is the live best bid and ask — not a last print. Reading it from the book means the probability you record comes with a real spread and real resting size behind it.

Reading both sides of the book

Kalshi's order book has a yes side and a no side, and they are two views of the same market. A bid to buy yes at price p is economically identical to an offer to sell no at 1 − p. So the implied yes ask is 1 − the best no bid.

A real captured example: the market KXBTC15M-26JUN211530 had its best yes bid at 0.32 and its best no bid at 0.67. Because 1 − 0.67 = 0.33, the implied yes ask was 0.33 — a one-cent market quoting 0.32 / 0.33, i.e. ~32–33% odds. You only see that clean a picture by capturing both ladders, not a single side.

The series and window taxonomy

Kalshi organizes crypto markets into a few series per asset, and the ticker tells you which. Replace {ASSET} with the asset code (BTC, ETH, SOL, XRP, DOGE, BNB, HYPE):

  • KX{ASSET}15M — the 15-minute up/down series.
  • KX{ASSET} — the threshold series ('will the asset be above/below level X').
  • KX{ASSET}D — the directional series.

The window is per-market, carried by market_type

The threshold and directional series each run hourly, daily, and weekly markets concurrently, so you cannot read a market's window from its series alone. Each market's actual window lives in its market_type field, exposed on the DepthFeed API as a ?type= filter (15m, 1h, 24h, 1w). And identify the asset from the series prefix, not by substring-matching the ticker — 'bnb', for example, appears inside unrelated codes.

A threshold example: KXHYPED-26JUN0717-T73.9999 asks whether HYPE settles above $73.9999 that day — a daily (24h) market in the KXHYPED series, still quoted yes/no from 0.01 to 0.99. Same price mechanic as an up/down market, but against a level instead of a direction.

Anatomy of a real Kalshi snapshot

Each captured snapshot carries: yes_prices / yes_sizes and no_prices / no_sizes (both full ladders as price + size), ticker / series (the asset and series), market_type (the window), and recv_ts_ms (the epoch-millis capture time, which joins to the underlying). With both ladders you reconstruct the exact mid, spread, and depth at any moment.

On a representative BTC 15-minute market DepthFeed captures a median of 96 price levels on each side (up to the full 100) — so every probability you read has its resting size attached, not just the touch.

The underlying reference, joined

A crypto contract is a bet on where the underlying lands, so the underlying price is part of the data. Every yes/no snapshot ASOF-joins to a high-frequency Binance reference price for the asset by epoch-millis timestamp, so you can line the contract's probability up against the spot move that is repricing it — and against the reference that ultimately settles it.

How Kalshi capture works

Kalshi's public market data is REST, so DepthFeed polls the full-depth orderbook continuously, from a US region (Kalshi is a CFTC-regulated US exchange) so the book is captured the way the exchange serves it. Order-book depth cannot be backfilled after the fact, which is why it is recorded live and continuously.

Kalshi vs Polymarket price data, briefly

KalshiPolymarket
Price unitYes/no, 0–1Per-outcome (Up/Down), 0–1
Book shapeYes ladder + no ladderBid/ask per outcome
Implied ask1 − best no bidBest ask on the outcome
Windows15m, 1h, 24h, 1w5m, 15m, 1h, 4h, 24h
CaptureContinuous full-depth REST pollEvent-driven CLOB websocket

Measured coverage

DepthFeed's Kalshi archive holds 114 million+ yes/no order-book snapshots across 550,000+ distinct crypto markets, with history reaching back to March 2026, over seven assets and the 15-minute, hourly, daily, and weekly windows. The book typically quotes a one-cent (single-tick) spread with around 96 price levels on each side (up to the full 100) and roughly 156,000 contracts of resting depth on a BTC 15-minute market.

(Figures measured directly from our archive, June 21, 2026.)

Key takeaways

  • 01Kalshi yes/no prices are implied probabilities, quoted 0.01–0.99; at settlement one side pays $1.
  • 02A yes bid at p equals a no offer at 1 − p, so the implied yes ask is 1 − the best no bid.
  • 03Series give the asset (prefix) and type (KX{ASSET}15M / KX{ASSET} / KX{ASSET}D); market_type gives the window.
  • 04DepthFeed captures the full ladder both sides — a median of ~96/97 levels, up to 100 — with the underlying joined.
  • 05Kalshi doesn't serve historical order-book depth; it's captured live and continuously from the public REST book.

DepthFeed serves the full Polymarket & Kalshi order book over a REST API and live WebSocket. Free Explorer tier, no card.

Start free

Questions, answered.

The yes price is the market's implied probability that the condition resolves true, quoted 0.01–0.99. Because a no bid at price p equals a yes offer at 1 − p, the implied yes ask is 1 − the best no bid. Reading both ladders gives you the true mid, spread, and depth instead of a single last print.