Kalshi
The CFTC-regulated venue at full depth: the 15-minute crypto up/down matrix and hourly strike ladders captured to a 100ms grid inside each window, the broad market universe on paced sweeps, and the venue’s complete trade tape walked continuously. Kalshi prices carry regulatory weight — this is the archive of them.
Collected daily; nightly certification running. Joins the released chain the day its own data certifies green.
Same coins, same UTC clock as the Polymarket and Binance legs.
Universe census with strikes, rules hashes and settlement values.
Column descriptions · 22 fields
| Column | Type | Description |
|---|---|---|
| source | string | Collector source tag — constant within a file |
| schema_version | uint16 | Schema contract version stamped on every row |
| kalshi_market_row_id | string | Stable row identity (dedupe key) |
| ticker | string | Kalshi market ticker |
| event_ticker | string | Parent event ticker |
| series_ticker | string | Series ticker |
| tier | string | Collection tier the market was captured under |
| status | string | Venue market status |
| strike_type | string | Strike structure of the market |
| floor_strike | double | Floor strike value |
| open_time_ms | int64 | Market open (ms) |
| close_time_ms | int64 | Market close (ms) |
| yes_bid | double | Best Yes bid |
| yes_ask | double | Best Yes ask |
| last_price | double | Most recent trade price at capture time |
| volume | double | Venue-reported volume |
| open_interest | double | Venue-reported open interest |
| result | string | Settlement result once resolved |
| expiration_value | double | Settlement reference value |
| settlement_ts_ms | int64 | Settlement timestamp (ms) |
| rules_primary_hash | string | Hash of the primary rules text |
| receive_ms | int64 | Our collector receive wall-clock (ms since epoch) — independently stamped, never copied from the venue |
Venue-wide top-of-book with volume and open interest.
Column descriptions · 15 fields
| Column | Type | Description |
|---|---|---|
| source | string | Collector source tag — constant within a file |
| schema_version | uint16 | Schema contract version stamped on every row |
| kalshi_top_of_book_id | string | Stable row identity (dedupe key) |
| ticker | string | Kalshi market ticker |
| event_ticker | string | Parent event ticker |
| series_ticker | string | Series ticker |
| tier | string | Collection tier the market was captured under |
| sweep_id | string | Identity of the paced sweep that captured this row |
| status | string | Venue market status |
| yes_bid | double | Best Yes bid |
| yes_ask | double | Best Yes ask |
| last_price | double | Most recent trade price at capture time |
| volume | double | Venue-reported volume |
| open_interest | double | Venue-reported open interest |
| receive_ms | int64 | Our collector receive wall-clock (ms since epoch) — independently stamped, never copied from the venue |
Full books for the curated windows.
Column descriptions · 15 fields
| Column | Type | Description |
|---|---|---|
| source | string | Collector source tag — constant within a file |
| schema_version | uint16 | Schema contract version stamped on every row |
| kalshi_orderbook_id | string | Stable row identity (dedupe key) |
| ticker | string | Kalshi market ticker |
| series_ticker | string | Series ticker |
| coin | string | Underlying coin (BTC, ETH, SOL, XRP, DOGE, BNB) |
| window_open_ms | int64 | Market window open (ms since epoch, UTC) |
| window_close_ms | int64 | Market window close (ms since epoch, UTC) |
| 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 |
| 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) |
| book_hash | string | Hash of the full book state — change detection and dedupe |
The aligned lane with freshness accounting.
| ticker | coin | bucket | freshness_state | yes_bid | yes_ask | last_price |
|---|---|---|---|---|---|---|
| KXDOGE15M-26JUL170715-15 | DOGE | 2026-07-17 11:00:00.800 | fresh_rest | 0.1 | 0.9 | null |
| KXDOGE15M-26JUL170715-15 | DOGE | 2026-07-17 11:00:00.900 | carried_forward | 0.1 | 0.9 | null |
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 |
| kalshi_updown_100ms_id | string | Stable row identity (dedupe key) |
| ticker | string | Kalshi market ticker |
| series_ticker | string | Series ticker |
| coin | string | Underlying coin (BTC, ETH, SOL, XRP, DOGE, BNB) |
| window_open_ms | int64 | Market window open (ms since epoch, UTC) |
| window_close_ms | int64 | Market window close (ms since epoch, UTC) |
| 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 …) |
| carried_forward | bool | True when the prior state was carried into this bucket (no new venue update) |
| 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_price | double | Most recent trade price at capture time |
| book_hash | string | Hash of the full book state — change detection and dedupe |
The venue’s full trade tape.
| ticker | created | yes_price | no_price | count | taker_side |
|---|---|---|---|---|---|
| KXECULPTOTAL-26JUL16OREC | 2026-07-17 00:00:00.001 | 0.08 | 0.92 | 704.62 | yes |
| KXBRASILEIROGAME-26JUL16 | 2026-07-17 00:00:00.003 | 0.16 | 0.84 | 72.88 | no |
Column descriptions · 11 fields
| Column | Type | Description |
|---|---|---|
| source | string | Collector source tag — constant within a file |
| schema_version | uint16 | Schema contract version stamped on every row |
| trade_id | string | Stable trade identity (dedupe key) |
| ticker | string | Kalshi market ticker |
| created_ts_ms | int64 | Venue creation timestamp (ms since epoch) |
| receive_ms | int64 | Our collector receive wall-clock (ms since epoch) — independently stamped, never copied from the venue |
| yes_price | double | Yes price of the fill |
| no_price | double | No price of the fill |
| count | double | Contracts filled |
| taker_side | string | Taker side of the fill |
| walk_id | string | Identity of the cursor walk that captured this row |
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.