Polymarket Up/Down
The highest-resolution prediction-market capture in the archive: 25 curated Up/Down selectors — five coins across durations from five minutes to daily — with full order books aligned to a 100ms UTC grid inside each market window, plus market metadata and on-chain-reconciled trades. Every window is certified against an expected-window matrix, so a missing market is a red day, never a silent gap.
Collected daily; nightly certification running. Joins the released chain the day its own data certifies green.
Settled by the Chainlink RTDS stream; joinable to Binance and Predict.Fun books on the shared UTC timeline.
The selector matrix: every window with tokens, prices and lifecycle flags.
Column descriptions · 21 fields
| Column | Type | Description |
|---|---|---|
| source | string | Collector source tag — constant within a file |
| schema_version | uint16 | Schema contract version stamped on every row |
| raw_source | string | Which discovery route produced the row |
| raw_market_row_id | string | Stable row identity (dedupe key) |
| coin | string | Underlying coin (BTC, ETH, SOL, XRP, DOGE, BNB) |
| duration | string | Market window duration (5m, 15m, 1h, 4h, 24h …) |
| condition_id | string | Venue condition identifier for the market |
| market_id | string | Venue market identifier |
| slug | string | Venue URL slug for the market |
| question | string | Market question text |
| active | bool | Venue active flag |
| closed | bool | Venue closed flag |
| enable_order_book | bool | Whether the venue exposes a CLOB book for this market |
| up_token_id | string | Token identifier for the Up outcome |
| down_token_id | string | Token identifier for the Down outcome |
| up_price | double | Venue-quoted Up price |
| down_price | double | Venue-quoted Down price |
| end_ts_ms | int64 | Market end time (ms since epoch) |
| volume | double | Venue-reported volume |
| liquidity | double | Venue-reported liquidity |
| receive_ms | int64 | Our collector receive wall-clock (ms since epoch) — independently stamped, never copied from the venue |
Raw top-20 books as the venue publishes them.
Column descriptions · 16 fields
| Column | Type | Description |
|---|---|---|
| source | string | Collector source tag — constant within a file |
| schema_version | uint16 | Schema contract version stamped on every row |
| raw_source | string | WebSocket or REST route that produced the book |
| raw_book_id | string | Stable row identity (dedupe key) |
| coin | string | Underlying coin (BTC, ETH, SOL, XRP, DOGE, BNB) |
| duration | string | Market window duration (5m, 15m, 1h, 4h, 24h …) |
| condition_id | string | Venue condition identifier for the market |
| token_id | string | Outcome token identifier |
| outcome | string | Outcome side this row describes (e.g. Up / Down, Yes / No) |
| ts_ms | int64 | Venue event timestamp (ms since epoch, UTC) |
| receive_ms | int64 | Our collector receive wall-clock (ms since epoch) — independently stamped, never copied from the venue |
| bid_prices | list<item: double> | Bid prices, best first (array) |
| bid_sizes | list<item: double> | Bid sizes matching bid_prices (array) |
| ask_prices | list<item: double> | Ask prices, best first (array) |
| ask_sizes | list<item: double> | Ask sizes matching ask_prices (array) |
| last_trade_price | double | Most recent trade price at capture time |
The aligned lane: books normalized onto the 100ms grid with freshness and lag accounting per bucket.
| coin | duration | condition_id | outcome | bucket | freshness_state | best_bid | best_ask | last_trade_price |
|---|---|---|---|---|---|---|---|---|
| BTC | 1h | 0x366b…bf48 | Up | 2026-07-17 00:00:00.000 | carried_forward | 0.55 | 0.59 | 0.44 |
| BTC | 1h | 0x366b…bf48 | Down | 2026-07-17 00:00:00.000 | carried_forward | 0.41 | 0.45 | 0.44 |
Column descriptions · 25 fields
| Column | Type | Description |
|---|---|---|
| source | string | Collector source tag — constant within a file |
| raw_source | string | WebSocket or REST route that produced the underlying book |
| schema_version | uint16 | Schema contract version stamped on every row |
| aligned_book_id | string | Stable row identity (dedupe key) |
| coin | string | Underlying coin (BTC, ETH, SOL, XRP, DOGE, BNB) |
| duration | string | Market window duration (5m, 15m, 1h, 4h, 24h …) |
| condition_id | string | Venue condition identifier for the market |
| token_id | string | Outcome token identifier |
| outcome | string | Outcome side this row describes (e.g. Up / Down, Yes / No) |
| bucket_ms | int64 | The 100ms UTC grid bucket this row is aligned to (ms since epoch) |
| source_ts_ms | int64 | Venue-reported timestamp of the underlying update (ms) |
| receive_ms | int64 | Our collector receive wall-clock (ms since epoch) — independently stamped, never copied from the venue |
| source_lag_ms | int64 | Bucket time minus venue timestamp — how stale the venue data is at this bucket |
| receive_lag_ms | int64 | Bucket time minus receive time — collector lag at this bucket |
| freshness_state | string | How current the row is at its bucket (fresh, fresh_rest, carried, lifecycle_pending …) |
| freshness_source | string | Which route the freshness judgment came from |
| carried_forward | bool | True when the prior state was carried into this bucket (no new venue update) |
| rest_fallback_active | bool | True while the REST fallback was serving this market |
| connection_state | string | Collector connection state at the bucket |
| bid_prices | list<item: double> | Bid prices, best first (array) |
| bid_sizes | list<item: double> | Bid sizes matching bid_prices (array) |
| ask_prices | list<item: double> | Ask prices, best first (array) |
| ask_sizes | list<item: double> | Ask sizes matching ask_prices (array) |
| last_trade_price | double | Most recent trade price at capture time |
| book_hash | string | Hash of the full book state — change detection and dedupe |
Every trade, reconciled against the CTF-exchange OrdersMatched event at certification.
Column descriptions · 18 fields
| Column | Type | Description |
|---|---|---|
| source | string | Collector source tag — constant within a file |
| schema_version | uint16 | Schema contract version stamped on every row |
| raw_source | string | Trade route (on-chain reconciled) |
| raw_trade_id | string | Stable row identity (dedupe key) |
| coin | string | Underlying coin (BTC, ETH, SOL, XRP, DOGE, BNB) |
| duration | string | Market window duration (5m, 15m, 1h, 4h, 24h …) |
| condition_id | string | Venue condition identifier for the market |
| token_id | string | Outcome token identifier |
| outcome | string | Outcome side this row describes (e.g. Up / Down, Yes / No) |
| outcome_index | int64 | Index of the outcome within the market |
| ts_ms | int64 | Venue event timestamp (ms since epoch, UTC) |
| receive_ms | int64 | Our collector receive wall-clock (ms since epoch) — independently stamped, never copied from the venue |
| price | double | Trade price |
| size | double | Trade size |
| side | string | Aggressor side of the trade |
| slug | string | Venue URL slug for the market |
| title | string | Market title text |
| transaction_hash | string | On-chain transaction hash (chain-linkable) |
Real rows from the production archive (pre-launch certification day 2026-07-17 — the released chain restarts at the ten-source inception). Identifiers truncated for display.
Files, an API, and the means to check both.
Day-partitioned Parquet, one file per channel and scope, each with a SHA256 manifest.Certified days return at the ten-source re-inception — request access to be first in line.