↑ ↓ move · Enter open · Esc close

WebSockets / Channels / Kalshi Reference

Kalshi Reference

WS·kalshi_reference·Dev Tier+·Kalshi

Live USD reference values for Kalshi crypto markets, including BTC, ETH, SOL, XRP, and DOGE indices. These are underlying index values, separate from YES contract prices.

Overview

Use case: Compare a live reference value with a market's target while tracking contract quotes on kalshi_prices.

Requirements

  • Uses your existing prices entitlement on Dev, Pro, and Enterprise. Subscribe once with no market_ids, group_ids, event_ids, or index_ids. Each update identifies its index_id; filter locally for the indices you need. Market ticker rollover requires no new reference subscription.
  • Each index can update up to five times per second. This is an event-driven feed, not a fixed 200 ms timer; do not interpolate missing values or assume every interval produces a tick. Other indices may publish less often.
  • Wait for KALSHI_STREAM_READY, then use the next index_value. KALSHI_STREAM_INTERRUPTED means the previous value is stale. Updates are live only; there is no initial snapshot or replay.
  • The value is a decimal string in USD, not a contract probability. source_ts_ms is the index timestamp; the outer ts is Prediction Hunt delivery time. Compare source timestamps to reject older values.
  • A slow consumer is disconnected with code 1013. Reconnect and resubscribe, then wait for a fresh value. Unsubscribe with no IDs to stop the feed.

Send

FieldTypeRequiredNotes
actionstringyesMust be "subscribe" for this section.
channelstringyesMust be "kalshi_reference".
market_idsstring[]unsupportedDo not send. Filter index_id in received messages.
group_idsnumber[]unsupportedDo not send.
event_idsnumber[]unsupportedDo not send.
wildcardbehaviorfixedNo IDs: receive all available reference index values.

Receive

Data messages use the standard envelope: channel, type, ts, data. Types for this channel include: index_value.

Subscribe with {"action":"subscribe","channel":"kalshi_reference"}. Keep your separate kalshi_prices subscription for the contract's YES bid, ask, and last trade. The Kalshi markets API supplies the market's floor_strike target (TO BEAT). For BTC, filter reference updates to index_id=BRTI for the changing NOW value. These values have different meanings and units from contract quotes.

Data fields (inside data)

FieldTypeDescription
typestringindex_value
index_idstringReference index ID, for example BRTI, ETHUSD_RTI, SOLUSD_RTI, XRPUSD_RTI, or DOGEUSD_RTI.
value_usdstringCurrent reference value in USD as a decimal string.
source_ts_msintegerIndex value timestamp in Unix milliseconds.
sourcestringcf_benchmarks