What Trades Don't Tell You But the Orderbook Will
Polymarket fills are on-chain and complete. The orderbook isn't. If you're modeling slippage, market impact, or execution quality, you need the book — and there's no historical record of it unless someone captured it.
TL;DR: Polymarket fills are on-chain and complete. The orderbook isn't — it lives on Polymarket's matching engine and there's no historical record of it anywhere unless someone captured it. If you're modeling execution quality, slippage, or market impact, you need the book, not just the fills.
If you've done any serious work with Polymarket data, you've probably used the fills. They're on-chain, permanent, and complete — every matched trade is recorded on Polygon via the CTF and NegRisk exchange contracts. You can reconstruct the full trade history of any market going back to inception.
What you can't reconstruct is what the book looked like between trades.
What fills don't tell you
A fill tells you that at time T, X shares of outcome Y traded at price P. That's useful for a lot of things: price series, volume analysis, market convergence (we wrote about this here).
It doesn't tell you what was sitting in the order book at T-1ms. It doesn't tell you what the best bid was before that fill came in, how deep the book was at each price level, or what the spread looked like. If the fill moved the price by 3 cents, you have no idea whether that was a 100-share book or a 10,000-share book.
For researchers studying price discovery, this probably doesn't matter much. For anyone modeling execution — slippage, market impact, realistic fill simulation — it matters a lot.
Why there's no historical orderbook
Polymarket's matching engine runs off-chain. The orderbook state at any moment exists on Polymarket's servers, not on the blockchain. Only the result of a match — the fill — gets settled on-chain.
This means there is no canonical historical record of the orderbook. Not on Polymarket's API (no historical endpoint exists). Not on the blockchain. If no one captured it at the time, it's gone.
We've been capturing continuously since November 2025. Full-resolution data is available from March 2026.
What continuous capture gives you
We snapshot the full orderbook across active Polymarket markets continuously and store every state. For any market, at any moment in its lifetime, you can reconstruct the full bid/ask book — every price level, every size.
We interpolate to 1ms resolution using last-observation-carried-forward. On high-volume markets, the raw feed can hit 1,000 orderbook updates per second — storing and querying that at scale is non-trivial. The data ships as Parquet: timestamp, outcome, bids, asks, each level as (price, size).
What this is actually useful for
Slippage modeling: Given a position size, what would your actual fill price have been? The mid-price from fills gives you a number. The orderbook gives you the right number.
Market impact estimation: How much does a trade of size S move the book at different probability levels? This is only answerable if you know the book depth at the moment of entry — not after.
Execution strategy research: Does it matter whether you're a maker or taker in the final hour of a contested market? With orderbook history, you can test it. Without it, you're guessing.
These questions are answerable with orderbook history. They're not answerable from fills alone.
Get the data
Orderbook history is available on the Orderbook plan. If you're working on execution research or building a model that needs realistic fill simulation, reach out at arsenii@probalytics.io.