Get the data

Data quality

Data quality report

Every published day is checked automatically before you download it. These are the actual results, including the imperfections. If a number here is not 100%, the reason is explained below.

What we check, per coin per day

  • Coverage: all 288 windows present, with order book updates on both Up and Down from the first second to the last.
  • Results: every window has Polymarket's official result, opening price and closing price.
  • Chain: each window's opening price (open_twap60) equals the previous window's closing price (close_twap60), as Polymarket's rules require.
  • Consistency: the result matches the prices (Up exactly when close ≥ open), and the favourite in our order book one second before the close agrees with the official result.
  • Continuity: the longest silence in the order book feed for any window.
  • Latency: median time between Polymarket's exchange timestamp and our receipt.
Automated checks on published files
Day (UTC)MarketWindowsMissingWith resultChain breaksResult vs price mismatchesBook favourite at 4:59 = resultLongest feed gapMedian latency
2026-10-16Bitcoin288/288none28800100.0%7.5s11 ms
2026-10-16Ethereum288/288none2880099.65%2.5s11 ms
2026-10-16Solana287/28800:302871099.65%2.5s11 ms
2026-10-16XRP288/288none28800100.0%3.5s11 ms
2026-10-16Dogecoin288/288none28800100.0%2.6s11 ms
2026-10-16BNB288/288none28800100.0%2.6s11 ms
2026-10-16Hyperliquid288/288none2880099.65%2.6s10 ms
2026-10-17Bitcoin288/288none28800100.0%3.6s9 ms
2026-10-17Ethereum288/288none2880099.65%2.4s9 ms
2026-10-17Solana288/288none28800100.0%2.5s9 ms
2026-10-17XRP288/288none2880099.65%2.2s9 ms
2026-10-17Dogecoin288/288none28800100.0%2.5s9 ms
2026-10-17BNB288/288none2880099.65%2.6s8 ms
2026-10-17Hyperliquid288/288none28800100.0%2.8s8 ms
2026-10-18Bitcoin288/288none28800100.0%2.5s9 ms
2026-10-18Ethereum288/288none28800100.0%3.6s10 ms
2026-10-18Solana288/288none28800100.0%2.5s10 ms
2026-10-18XRP288/288none2880099.65%2.8s9 ms
2026-10-18Dogecoin288/288none28800100.0%2.4s9 ms
2026-10-18BNB288/288none28800100.0%2.4s9 ms
2026-10-18Hyperliquid288/288none28800100.0%2.7s8 ms
2026-10-19Bitcoin288/288none28800100.0%3.3s9 ms
2026-10-19Ethereum288/288none28800100.0%2.4s9 ms
2026-10-19Solana288/288none28800100.0%2.3s9 ms
2026-10-19XRP288/288none28800100.0%2.4s9 ms
2026-10-19Dogecoin288/288none28800100.0%3.3s9 ms
2026-10-19BNB288/288none28800100.0%2.3s9 ms
2026-10-19Hyperliquid288/288none28800100.0%2.3s9 ms

A favourite at 4:59 that lost is a genuine photo finish: the last second of the closing average can still swing it. A chain break appears only next to a missing window.

Independent check against Polymarket's REST order book

While recording, our system asks Polymarket's REST /book endpoint for the best bid and ask of one live market every 12 seconds and compares it with the book built from the websocket feed at that moment. “Agree” counts an identical price, or both showing no order on that side (common late in a window, when the losing side has no buyers).

Websocket book vs REST book, spot checks
Day (UTC)ChecksBest ask agreesBest bid agreesBoth agree
2026-10-167,19797.74%97.79%96.33%
2026-10-177,19698.57%98.75%97.61%
2026-10-187,19998.36%98.35%97.1%
2026-10-197,19998.67%98.42%97.5%

The REST call returns about 30–40 ms after the comparison point, and busy books change many times a second. When we examined every disagreement on 17 October 2026, 98% of the REST prices appeared in our recorded feed within one second: the two reads simply landed either side of a change. Two checks in the day were unexplained.

Known limitations

  • History starts 16 October 2026. Earlier recordings used a recorder that only captured part of each window, and 14–15 October were not recorded, so we do not sell them.
  • Missing windows are listed in the table above. We never fill gaps with estimates; a missing window has no rows.
  • Book depth is the top two price levels per side, not the full book.
  • One row per exchange millisecond: when several book messages share a millisecond we keep the final state.
  • Crossed or locked books: Polymarket's feed occasionally shows a best bid at or above the best ask that lasts across several messages, typically under a second (longest seen: 1.9 s), and in a handful of windows per day. We keep these rows exactly as recorded rather than editing them. If your backtest should skip them, filter out rows where bid1_px >= ask1_px.
  • Identical trades: a few trades per day share the same millisecond, price, size and side. They are kept, because separate fills can be identical.
  • Prices: open_twap60 and close_twap60 are Polymarket's own published settlement prices (the 60-second Chainlink TWAP); we do not recompute them.

Questions about a specific window: [email protected].

Download the free sample   See pricing