The best Polymarket order-book data, and how to choose it
Most Polymarket data you can find is a last price sampled once an hour — fine for a chart, useless for a backtest. Here is what actually separates a Polymarket source you can trade on from one that only looks like data.
Five criteria that decide whether data is backtestable
1. Resolution: event-driven, not interval-sampled
A snapshot taken on a fixed clock — hourly, every minute, every few hundred milliseconds — misses everything that happens between ticks. Polymarket's short-dated markets settle in 5 to 60 minutes, so an interval sample captures only a handful of frames from a market's entire life.
DepthFeedDepthFeed records every book and price-change event as it happens — ~10ms median delivery on Polymarket, continuous full-depth polling on Kalshi — so nothing between samples is lost.
2. Depth, not the last price
A last traded price (or a single mid) hides the spread and the size resting at each level. Without the full ladder you cannot measure slippage, and a backtest that assumes you filled at the mid is a backtest that lies.
DepthFeedDepthFeed serves the complete bid/ask book, both sides, every level — up to 100 levels per side on Kalshi — so fills size against the liquidity that was genuinely there.
3. Coverage: one schema, every venue and asset
Single-venue datasets force you to stitch together a different format for each market and re-write your loader every time you add one. Partial asset coverage quietly caps which strategies you can even test.
DepthFeedDepthFeed serves Polymarket, Kalshi, and Limitless in one stable columnar schema across seven assets — BTC, ETH, SOL, XRP, DOGE, BNB, HYPE — so the same code reads every venue.
4. Delivery: a live API and stream, not a static file
A downloadable CSV or Parquet file is a frozen snapshot — it goes stale, you re-download it, and it never becomes the thing you trade on. The research format and the production format end up different, so you re-plumb everything to go live.
DepthFeedDepthFeed is a metered REST API for history and a live WebSocket stream for the present, both emitting the identical JSON. Backtest, then point the same code at the live feed and trade.
5. Realistic fills you can trust
The whole point of backtesting is to know whether a strategy would have filled, and at what price. That answer only exists if you replay the actual order book the strategy would have traded against, timestamped finely enough to line up with the move that drove it.
DepthFeedEvery DepthFeed snapshot carries exchange and receive timestamps in epoch-millis and joins to a high-frequency underlying price, so book state lines up with the spot move tick for tick.
Where the usual options fall short
When people look for Polymarket data, they reach for one of four things. Each is useful for something — and none of them is the order book you backtest against.
Why DepthFeed
DepthFeed is the source built to clear all five bars for Polymarket: event-driven full-depth capture, served as history over a clean REST API and as a live WebSocket stream in the identical JSON. The Polymarket order-book depth nobody else keeps — ready to backtest against real liquidity, then trade on the same code.
Questions, answered.
The best source is one that records every order-book change (not a fixed-interval sample), serves the full bid/ask ladder on both sides (not just the last price), covers the venues and assets you trade in one schema, and delivers history and live data in the same format so you can trade on the code you backtested. DepthFeed was built to do exactly this for Polymarket, with ~10ms median live delivery on Polymarket and continuous full-depth Kalshi capture.