Kalshi INXD: S&P 500 above/below (daily close) — order book & trade data
77.0K book and trade events for Kalshi's s&p 500 above/below (daily close) markets, recorded live since 2026-10-01 — about 3,080 events a day.
Coverage
INXD S&P 500 Daily data coverage
What is recorded, how often it updates and how much there is.
Recording since
2026-10-01
25 days so far · no backfill
Events recorded
77,000
≈ 77.0K as of 2026-10-25
Avg events / day
3,080
book snapshot · book delta · trade
Update frequency
Order-book snapshots, deltas and trades streamed in real time
Daily activity · last 25 days
Indicative daily event volume, last 25 days to 2026-10-25. Shape modeled from collector stats; mean matches the average events/day above.
About this market
What is INXD S&P 500 Daily?
INXD asks a single question each US trading day: will the S&P 500 close above a given level? It is the most-traded equity-index contract on Kalshi, with a ladder of strikes spaced to cover a normal day's range. AymarData has been recording the INXD series since 2026-10-01 and holds 77.0K events so far — about 3,080 a day. History is forward-only; we record live and do not backfill Kalshi.
Trading follows the US cash session: quiet overnight, active from the open, busiest in the last two hours as the close approaches and the ladder collapses toward 0 and 100. There are no weekend sessions, which gives the activity series its distinctive weekday shape.
INXD is the cleanest way to study how a prediction market prices the end of the US equity day. Pair it with futures or crypto-equity-linked perps to see the lead-lag as the close approaches, and use the final-hour data to calibrate settlement-time behaviour.
What moves INXD
- The cash index itself, which sets distance-to-strike for every contract on the ladder
- Scheduled macro releases and FOMC decisions, which add variance to the close
- Mega-cap earnings, which move the index on days when the macro calendar is quiet
Schema
INXD S&P 500 Daily fields and sample rows
The same columns are returned by the API and in Parquet and CSV files.
| Field | Type | Description |
|---|---|---|
| ts_ms | int64 | Exchange event time, Unix milliseconds |
| ticker | string | Full Kalshi market ticker |
| event_type | string | book_snapshot | book_delta | trade |
| side | string | buy / sell on trades; bid / ask on book events |
| yes_bid | number | Best YES bid, 0–1 dollars |
| yes_ask | number | Best YES ask, 0–1 dollars |
| volume | int64 | Contracts traded or resting at the level |
Sample rows
| ts_ms | ticker | event_type | side | yes_bid | yes_ask | volume |
|---|---|---|---|---|---|---|
| 1792784114388 | INXD-26OCT26-T6850 | book_snapshot | bid | 0.74 | 0.76 | 1396 |
| 1792784115187 | INXD-26OCT26-T6900 | trade | buy | 0.51 | 0.53 | 1324 |
| 1792784115140 | INXD-26OCT26-T6950 | book_delta | ask | 0.27 | 0.29 | 1919 |
Illustrative rows for the INXD series; tickers follow Kalshi's naming and prices are YES quotes in dollars (0–1).
Code
Pull INXD S&P 500 Daily in Python, cURL or MCP
Market id: INXD-26OCT26-T6850. Export AYMARDATA_API_KEY from your dashboard, then run the Python requests example.
import os
import requests
API = "https://api.aymardata.com/v1"
KEY = os.environ["AYMARDATA_API_KEY"] # export AYMARDATA_API_KEY=ad_live_…
H = {"Authorization": f"Bearer {KEY}", "User-Agent": "aymardata-docs/1.0"}
# INXD: ten minutes of trades and book updates for one contract
trades = requests.get(
f"{API}/trades",
headers=H,
params={
"source": "kalshi",
"market": "INXD-26OCT26-T6850",
"start": "2026-10-23T19:30:00Z",
"end": "2026-10-23T19:40:00Z",
"limit": 500,
},
timeout=30,
).json()["data"]
last = trades[-1]
print(last["ticker"], last["yes_bid"], last["yes_ask"])
book = requests.get(
f"{API}/book",
headers=H,
params={
"source": "kalshi",
"market": "INXD-26OCT26-T6850",
"at": "2026-10-23T19:35:00Z",
"depth": 10,
},
timeout=30,
).json()
print(book.get("spread"), len(trades))FAQ
INXD S&P 500 Daily: common questions
When does INXD trade, and when does it settle?
Contracts list ahead of each US trading day and settle at the official index close. Order-book activity is concentrated in US market hours, so expect almost no events on weekends.
Why do INXD prices accelerate near the close?
As the cash close approaches, uncertainty about the closing level shrinks, so contracts near the money swing sharply with each index tick while far-from-the-money strikes drift to 0 or 100. The book data shows the market makers' quote changes as this happens.
What moves INXD prices?
The cash index itself, which sets distance-to-strike for every contract on the ladder; scheduled macro releases and FOMC decisions, which add variance to the close; and mega-cap earnings, which move the index on days when the macro calendar is quiet.
How much INXD history is available?
Recording began 2026-10-01 and is forward-only. At the time of this page that is 25 days, 77.0K events and about 3,080 events a day.
How do I query INXD data with the API?
Use market=<full ticker> such as INXD-26OCT26-T6850 with source=kalshi on /v1/trades or /v1/book, or ask the MCP server for the series by name. The snippets on this page are ready to run with your API key.
Backtest INXD S&P 500 Daily with real tick data
Get an API key, pull your first window and join it with the other sources in the catalog.