# Polymarket BTC 5-Minute Historical Order Book Data

Independently collected historical order books for Polymarket BTC Up/Down markets, including best bid/ask quotes, depth up to 20 levels and settlement labels. Download a free CSV and Parquet sample directly; daily archives and more historical files are available free on Telegram.

[Download the single-market sample](/samples/polymarket-btc-5m-20261008-1500.zip) · [Browse recent files](/en/downloads/?category=poly-5m) · [Historical archive](https://t.me/polymarketbookdata)

## Dataset specifications

| Property | Description |
| --- | --- |
| Platform and market | Polymarket BTC 5-minute Up/Down markets |
| Market period | Five minutes is the contract window length |
| Persistence | Event-triggered observations when valid best quotes change, with corresponding depth; no fixed sampling-frequency guarantee |
| Depth | Up to 20 levels per outcome and side in this sample; inspect actual available levels |
| Formats | Daily ZIP archives contain Parquet; this small sample also contains matching CSV files |
| Joins | event_slug + ts for quotes and depth; event_slug for settlement labels |
| Timestamps | This sample includes ts, exchange_ts_ms and received_ts_ms; historical versions may differ |
| Trades | No individual trade tape, order identities or queue positions in this sample |
| Reference prices | Underlying BTC feeds are listed separately, not merged into UP / DOWN books |

## Measured sample quality

Market `btc-updown-5m-1791471600` has a scheduled UTC window of 8 October 2026, 15:00–15:05. Its files contain 552 ticks, 42,386 depth rows and one outcome. Of the ticks, 207 are pre-open and 345 fall inside the scheduled window.

The last in-window observation was received at `15:04:25.770 UTC`, before the market window ended. The largest receive-time interval between stored in-window observations is 91.498 seconds. Because persistence is triggered by quote changes, that interval alone cannot distinguish an unchanged quote from missing collection, and does not establish continuous coverage.

[Manifest and source hashes](/samples/manifest.json) · [Sample quality checks and tutorial output](/tutorial/example-result.json)

## What this data supports

Inspect historical spreads and displayed liquidity within the stored levels, or backtest against the books under explicit execution assumptions. Buys consume asks; sells consume bids. Mid-price returns omit the spread and available-size constraints.

If you need a full book every minute, check both persistence and depth limits. This dataset stores finite-depth snapshots when best quotes change; it does not guarantee that every deeper-level-only change is saved. It cannot reconstruct all raw WebSocket messages, individual trades or the complete order queue.

The [Python backtesting tutorial](/en/backtesting/) uses this sample to demonstrate receive-time joins, latency, walking the book and partial fills. One simulated round trip does not establish strategy profitability.

## Historical files and coverage

The [file directory](/en/downloads/?category=poly-5m) contains verified archive records. Search the [Telegram archive](https://t.me/polymarketbookdata) by UTC date or `#polybtc5m` for more history. Download every part of a split archive.

Actual columns, archive notes, time boundaries and gaps take precedence over general documentation. A published archive does not establish uninterrupted daily coverage, and this single sample does not establish quality across the full archive.

## Collection and verification

The public [GitHub collector](https://github.com/hahahaha954/polymarket-btc-5m-orderbook-collector) contains BTC 5-minute collection code for the CLOB WebSocket, local books, best-quote-change persistence and depth settings. The sample manifest records SHA-256 hashes of both source daily parts. Original values and fields are preserved without interpolation.

Check the [schema](/en/schema/) and [price-semantics study](/en/research/bolt-price-semantics/) before combining historical versions and underlying prices. Free downloads do not constitute a blanket license for every use. Record source filenames, hashes and collector versions when publishing research.

## Frequently asked questions

### Does five-minute data mean one sample every five minutes?

Five minutes describes the market window. Persistence is triggered by valid best-quote changes, so time between saved observations varies.

### Does the sample contain full depth and trades?

It contains displayed quantities up to 20 levels per outcome and side. It does not contain an individual trade tape, a full queue or every deeper-level update.

### Which timestamp should a backtest use?

Source time describes the source event. Receive time controls when information becomes available to a simulated decision. Preserve late messages and missing observations rather than making future arrivals available early.

### Can I download CSV files directly?

The single-market sample ZIP includes CSV and Parquet. Check each daily archive post and its documentation for the formats it provides.
