Polymarket Up/Down
RELEASED25 selectors · 5 coins × 5 durations
Channels
| Channel | Description | Cadence | Scopes | Schema |
|---|---|---|---|---|
| updown_markets | Per-window market metadata (identifiers, outcomes, bounds). | on discovery | 25 selectors | schema → |
| updown_book_snapshot_20 | Raw WebSocket depth-20 books (the unaligned record). | event-driven | 25 selectors | schema → |
| updown_book_snapshot_100ms | Latest-prior aligned books with lag + freshness. | 100ms | 25 selectors | schema → |
| updown_trades | Trades, proven against on-chain OrderFilled. | event-driven | 25 selectors | schema → |
Sample
updown_book_snapshot_100ms · BTC-1h outcomes · day=2026-07-13 (first 5 rows)
| bucket_ms | best_bid | best_ask | freshness_state | source_lag_ms |
|---|---|---|---|---|
| 1783900800000 | 0.02 | 0.46 | carried_forward | 4 |
| 1783900800000 | 0.08 | 0.56 | carried_forward | 4 |
| 1783900800100 | 0.08 | 0.56 | carried_forward | 104 |
| 1783900800100 | 0.02 | 0.46 | carried_forward | 104 |
| 1783900800200 | 0.08 | 0.56 | carried_forward | 204 |
Verification specifics
Every trade partition is proven against Polygon OrderFilled events (150/150 at every certification to date) and every trade row carries its transaction hash. The 100ms aligned book carries per-row freshness lineage. When the venue never lists an expected window it is reported as venue_unlisted — a recorded venue fact, backed by logged hydration attempts, never our gap.
Known limits
updown_book_snapshot_100ms is latest-prior alignment onto a 100ms grid — true observation density is disclosed per row via the freshness and lag fields, not implied by the cadence. Venue-unlisted windows are disclosed in the day’s coverage proof; unevidenced absence stays hard red.
Availability
"$PM_API/v1/download?source=polymarket_updown&channel=updown_book_snapshot_100ms&scope=BTC&day=2026-07-13"