{"schema_version":"mostlyright-public-catalog.v1","dataset":{"id":"fa2760fc-148c-4700-827c-2889084843b5","slug":"kalshi-15-minute-xrp-order-book-live","title":"Kalshi 15-minute XRP order book, live","summary":"**Measure quoted spreads in Kalshi 15-minute XRP direction contracts.** This event-driven history records one-second YES order book states for XRP contracts with a resting YES bid since 10 September 2026. Use the ladders and depths to study liquidity, imbalance, and implied probability over each contract's life.\n\nRows appear only after book changes, so quiet seconds are absent. The recorder seals 60-second segments into new table versions.\n\n## Coverage\n- Window: from 2026-09-10 15:32 UTC onward, growing with every sealed segment, in UTC.\n- Grain: one row per market ticker and second, holding the book after the last event of that second.\n- Cadence: a new contract opens every 15 minutes, so the recording follows one or two markets at a time. A busy contract produces several rows a minute and a quiet one a row only when its book changes.\n- Freshness: the recorder seals a segment every 60 seconds and each segment becomes a new table version.\n\n## Columns\n- `ticker`: the Kalshi market ticker, for example KXXRP15M-26SEP101130-30, naming the 15-minute window.\n- `timestamp_ms`: the venue event time of the last book event in the second, in epoch milliseconds.\n- `sequence`: the final book event's position in the recording's arrival order.\n- `best_bid`, `best_ask`: the best resting YES bid and ask, in cents from 0 to 100.\n- `bid_depth`, `ask_depth`: the total resting contracts on the YES bid side and the YES ask side.\n- `yes_bids`, `yes_asks`: JSON arrays of {price, size} for every resting level, best price first, in cents and whole contracts.\n- `ingest_time_ms`: when the recorder received the frame, in epoch milliseconds.\n\n## Missing values\nA side with no resting orders has a null best price, a depth of 0 and an empty ladder. A settled market stops producing rows. Any minute in which the recorder was not connected is a gap. Nothing before the recording started can be recovered.\n\n## Suitable for\n- Reconstructing the full YES limit order book of any 15-minute contract at any second.\n- Measuring spread, depth and imbalance as a XRP window approaches settlement.\n- Comparing 15-minute contracts across coins and against the hourly strikes on Kalshi at a shared timestamp.\n- Studying how order flow reacts to moves in the CF Benchmarks reference price.\n\n## Source and rights\nKalshi's public trade API websocket, orderbook_snapshot and orderbook_delta channels, recorded under the workspace's own Kalshi API key. Settlement follows the CF Benchmarks XRP reference price at the end of each 15-minute window. Use is governed by Kalshi's API terms. No open licence is claimed by the publisher.","topics":["prediction markets","kalshi","xrp","order book","cryptocurrency","limit order book"],"publisher":{"handle":"mostlyrightmd","display_name":"Mostly Right","avatar_url":"https://mostlyright.md/api/public/avatars/e70f8c973d16894fcee5cb5aba887feafc75cc0d67419bd0ed321cfde9d0d967.webp","mark":{"background":"#FFC613","facets":["#2B5FE3","#F15B22","#17160F"],"pattern":2,"rotation":90}},"star_count":0,"table_count":1,"row_count":2599048,"published_at":"2026-09-12T10:27:44.842Z","updated_at":"2026-10-01T13:38:56.062Z","cover_image_url":"https://storage.googleapis.com/mostlyright-dataset-covers/v1/41bc1723-5ffe-40e3-82dd-2ac59a2f3f0b/27af020246985da7db56fb7b6ee0b38330188cb0d8e39bb793d265c824428117.webp","cover_tile_url":"https://storage.googleapis.com/mostlyright-dataset-covers/v1/41bc1723-5ffe-40e3-82dd-2ac59a2f3f0b/27af020246985da7db56fb7b6ee0b38330188cb0d8e39bb793d265c824428117.tile.webp","activity":{"views":245,"likes":0},"canonical_url":"https://mostlyright.md/datasets/kalshi-15-minute-xrp-order-book-live","tables":[{"id":"c6338332-365f-427a-8abe-97e7b3b24471","slug":"kalshi-xrp15m-orderbook","title":"kalshi_xrp15m_orderbook","license":"CC-BY-4.0","schema":{"columns":10,"column_details":[{"name":"ticker","unit":null,"meaning":"Kalshi market ticker in series KXXRP15M, naming the contract window.","nullable":null,"logical_type":"string"},{"name":"timestamp_ms","unit":null,"meaning":"Venue event time in epoch milliseconds (the delta's ts_ms; recorder arrival time for the opening snapshot).","nullable":null,"logical_type":"int64"},{"name":"sequence","unit":null,"meaning":"Position of the last event of this second in the recording's arrival order (one order across every sealed segment; the venue's own sequence restarts on every connection).","nullable":null,"logical_type":"int64"},{"name":"best_bid","unit":null,"meaning":"Best YES bid in cents, 0 to 100.","nullable":null,"logical_type":"int64"},{"name":"best_ask","unit":null,"meaning":"Best YES ask in cents, 0 to 100.","nullable":null,"logical_type":"int64"},{"name":"bid_depth","unit":null,"meaning":"Total resting contracts on the YES bid side.","nullable":null,"logical_type":"int64"},{"name":"ask_depth","unit":null,"meaning":"Total resting contracts on the YES ask side.","nullable":null,"logical_type":"int64"},{"name":"yes_bids","unit":null,"meaning":"JSON array of {price, size} YES bid levels in cents and contracts, best first.","nullable":null,"logical_type":"string"},{"name":"yes_asks","unit":null,"meaning":"JSON array of {price, size} YES ask levels in cents and contracts, best first.","nullable":null,"logical_type":"string"},{"name":"ingest_time_ms","unit":null,"meaning":"When the recorder received the frame, epoch milliseconds.","nullable":null,"logical_type":"int64"}],"schema_version":"mostlyright.cloud.released-schema-summary.v1"},"preview_enabled":true,"download_enabled":true,"version_id":"7ba906a4-1055-560b-9a90-692eca565583"}]}}