Kalshi backtesting data, down to the order book.

Recorded Kalshi yes/no ladders, up to 100 levels per side. Test fees, slippage, partial fills, and depth-aware execution on stored book observations.

Backtests are only honest on real depth. A mid-price hides the spread, the size resting at each level, and the slippage your order would actually pay. DepthFeed keeps the whole book.

PolymarketKalshiLimitlessBinanceChainlinkPolymarketKalshiLimitlessBinanceChainlink
1.5B
yes/no books captured
Kalshi, since January 2026
2.6M+
markets
distinct Kalshi crypto markets
100
depth levels
per side, full REST orderbook
REST
capture method
continuous polling; cadence varies with active-market load and upstream limits
Backtest Lab
+

You should not need a data pipeline and a research notebook to find out whether an idea has an edge. The Backtest Lab runs the whole test in the browser, against the real recorded book.

Paper trading
+

A backtest is a claim about the past. Paper trading is where that claim meets markets that haven't happened yet — with virtual cash, real prices, and a track record you can't fake.

Most feeds stop at the last price.

A single number — the last trade or the mid. It tells you nothing about the size waiting to fill, or how far the price moves when you take it.

We capture every level, both sides.

The full bid/ask ladder with the size resting at each price — best quote through the deep book, asks above the spread and bids below it.

Recorded at every change, forever.

Order-book depth is forward-only — miss it live and it's gone. We store every frame, so a backtest fills against the liquidity that was really there.

Execution evidence

A Kalshi backtest with visible assumptions.

The Backtest Lab exposes the fill model, fee, slippage, stake, partial fills, and unfillable entries. A result is a simulation against recorded book states—not a promise of live queue position.

Open Backtest Lab

Depth-aware VWAP

Walks the price/size arrays in a recorded ladder and reports partial or unfillable entries when displayed depth is insufficient.

Costs are inputs

Choose optimistic midpoint, midpoint plus slippage, or recorded-book execution, then enter an explicit fee per share.

Resolved outcomes

Results use resolved market outcomes and show net P&L, ROI, drawdown, win rate, profit factor, and per-trade fills.

Forward check

Strategies can move into paper trading, where displayed live-book prices are used without claiming that paper orders consume real liquidity.

01What you get

The book, not just the last price.

Full bid/ask book depth

Every price level with its size, on both sides, at every change. Measure real slippage and liquidity, not a single mid-price.

Paced

Continuous polling

Kalshi's public REST orderbook, polled continuously at full depth — far finer than any hourly archive.

Clean REST API

Latest and historical order-book snapshots over REST — JSON, epoch-millis timestamps, keyset pagination.

Underlying price, time-synced

A high-frequency reference price series — Binance spot/futures plus Chainlink settlement marks — that joins to any Kalshi snapshot by epoch-millis timestamp, so you can line up book state with the spot move that drove it.

02The data

Polymarket & Kalshi order-book and price data.

Depth this fine is expensive to record and impossible to backfill, so almost nobody keeps it. We do — full order-book and price data across Polymarket, Kalshi, and Limitless, every level on both sides, captured tick by tick and served clean over a metered API.

Every level, both sides

Not the last trade or the top of book — the full bid/ask ladder with the size resting at each level, captured at every change. The depth a real order actually fills against.

Three venues, one schema

Polymarket, Kalshi, and Limitless in a single, stable JSON shape — event-driven capture on Polymarket and Limitless, continuous full-depth polling on Kalshi, each joined to a high-frequency underlying price.

History you can't backfill

Order-book depth is forward-only — miss it live and it's gone for good. We've recorded continuously since early 2026, so the window your plan buys is backed by stored data, not a promise.

03How we capture it

Real Kalshi depth, measured — not a brochure number.

DepthFeed is an independent project (not affiliated with the venues) that exists to record the Kalshi order book almost nobody else keeps. Every figure below is measured directly from our own live capture, so you can backtest on real liquidity and trade on the same data.

170M
yes/no books captured

since January 2026

900K+
distinct markets

Kalshi crypto markets

100
levels per side

the full REST orderbook

7
assets

BTC · ETH · SOL · XRP · DOGE · BNB · HYPE

Measured directly from DepthFeed's live capture, June 21, 2026.

A real captured snapshot

Yes bidsNo bids (a no bid at p = a yes offer at 1 − p)0.326,6450.311,1290.301,0250.291,5350.67635.10.661,3510.652,6450.642,310
Resting size at each price level — KXBTC15M-26JUN211530 (Kalshi). Bar length ∝ size.

How it's captured

  • Paced polling of Kalshi's public REST order book requests up to 100 levels per side; realized cadence varies with active-market load and upstream quotas.
  • Historical queries ASOF-align the nearest preceding Binance reference by timestamp when available; a missing match remains null.
  • Archive coverage is prospective and series-specific; the docs publish the stored date floors.
04Coverage

Kalshi coverage, growing with demand.

We collect Kalshi's crypto series with the complete yes/no book — the depth that short-dated, strike-based contracts trade on.

Assets
BTCETHSOLXRPDOGEBNBHYPE
Contracts
15-minuteHourlyDaily
05Quickstart

From key to backtest in minutes.

Hit the REST API to discover live markets and pull the full historical book. Clean JSON, epoch-millis timestamps, keyset pagination — no scraping.

  • Stable JSON schema
  • Receive timestamp per snapshot
  • Keyset pagination, per-plan limits
kalshi_quickstart.py
# Full-depth Kalshi book — REST API, Bearer key
import requests

H = {"Authorization": f"Bearer {KEY}"}
b = requests.get(
    "https://api.depthfeed.com/v3/kalshi/KXBTCD-26JUN05/orderbook/latest",
    headers=H,
).json()["data"]

best_yes = b["yes_prices"][0]   # full ladder in yes_prices[]
best_no  = b["no_prices"][0]
print(b["recv_ts_ms"], best_yes, best_no, b["yes_sizes"][0])

# Tickers (KXBTCD / KXETHD / KXSOLD) come from /v3/kalshi/markets.

What Kalshi backtesting data actually needs

Public Kalshi data gives you trades and a last price. To backtest a strategy you need the yes/no order book it would have hit — every resting level on both sides — not a single number sampled once an hour.

The full yes/no book, both sides

A last price tells you nothing about the size waiting at each level. DepthFeed captures the complete Kalshi order book — up to 100 levels per side, yes and no — so you can measure spreads, slippage, and the real liquidity behind every contract instead of guessing.

Continuous capture, not hourly

We poll Kalshi's public REST order book under one shared, upstream-aware request budget. Each response requests up to 100 levels per side; realized cadence varies with the number of tracked markets, network latency, discovery work, and Kalshi's quota. The API exposes the observations that were actually stored rather than promising a universal refresh interval.

Replay it, then size your strategy

Pull Kalshi historical book observations through the API and model the fill against the displayed yes/no ladder. The Backtest Lab can report depth-aware VWAP, partial fills, unfillable entries, user-supplied fees, and slippage; those are simulation assumptions, not a guarantee of queue position or live execution.

06Pricing

Choose capacity, not venues.

Explorer

$0free, no card

Verify the schema and replay a real sample before you pay.

  • 7 days · latest BTC markets, capped
  • Recorded bid/ask depth through the production REST schema
  • Sports discovery for Polymarket + Kalshi
  • 1 live BTC stream
  • Backtest Lab + 1 paper strategy

Quant

$29per month

Build across every venue with complete depth and live data.

  • 30 days · all assets · every supported venue
  • Full book depth at any interval, including raw ticks
  • 25 req/sec · 5 live streams
  • Sports API, injury alerts + 1 live sports book
  • Backtest Lab + 5 paper strategies

Research

$99per month

Test robustness and export evidence you can reproduce.

  • Everything in Quant
  • 90 days of unified history (3× Quant)
  • Out-of-sample robustness analysis
  • Reproducible strategy, trade and run exports
  • 50 req/sec · 25 live streams · 15 paper strategies

Desk

$249per month

Run full-archive research on an isolated historical lane.

  • Everything in Research
  • Full market + sports archive
  • Historical queries use an isolated traffic lane
  • 100 req/sec · 100 live streams + wildcards
  • 2 parallel history queries · 40 paper strategies

Every paid plan

Complete data access; capacity scales with the tier.

  • Every supported venue
  • All 7 assets
  • Full bid/ask depth
  • Any interval or raw ticks
  • Backtest Lab + live WebSocket
Compare exact plan limitsHistory, throughput, streams, research tools and account allowances.
CapabilityExplorer$0Quant$29Research$99Desk$249
DataHistory7 days, capped30 days90 daysFull archive
AssetsBTC sampleAll 7All 7All 7
Venue accessRecorded sample + sports RESTEvery venueEvery venueEvery venue
DeliveryGeneral REST admission1 req/sec25 req/sec · 1,000/min50 req/sec · 3,000/min100 req/sec · 6,000/min
Live book streams1 BTC subscription5 subs · 1 connection25 subs · 2 connections100 subs · 5 connections + wildcards
Live sports booksREST only123
ResearchBacktest LabPolymarket samplePolymarket + KalshiPolymarket + KalshiPolymarket + Kalshi
Robustness analysisOut-of-sample Research LabIncluded
Concurrent paper strategies151540
Wallet Intelligence1 wallet · 3 audits5 wallets · 10 audits10 wallets · 25 audits20 wallets · 50 audits
Monthly AI execution credits2001,0003,000
OperationsHistorical query laneSharedSharedSharedIsolated · 2 parallel requests

Monthly billing in USD. Cancel anytime. Taxes, where required, are calculated before payment. An entirely unused paid plan can be canceled and refunded in full under the Terms.

AI credits cover model execution only. Data access, history, exports, API limits, streams and venues never consume them.

Questions, answered.

Kalshi crypto series for BTC, ETH, SOL, XRP, DOGE, BNB, and HYPE across supported 15-minute, threshold, and directional windows. The collector requests the full public REST order book up to depth 100; stored cadence and date floors vary by series and are documented rather than represented as one universal interval.

Start backtesting Kalshi on real depth.

Free to start, no card. Upgrade when your strategy is ready for the full book.

Start free