Symbol<55>.
KalshiMD does not support message retransmission. Use ResetSeqNumFlag<141>=Y on Logon.
Message Flow
Market Data Request (35=V)
Example snapshot request
Example snapshot-plus-updates subscription
Example cancel a symbol
Example cancel all subscriptions
Market Data Snapshot Full Refresh (35=W)
Sent in response to a snapshot request and immediately after a snapshot-plus-updates subscription is accepted. Correlate bySymbol<55>.
Example snapshot response
Market Data Incremental Refresh (35=X)
Sent after a subscribed market’s aggregated book levels change or a trade occurs. Correlate bySymbol<55> on each entry.
Example incremental update
Example trade update
Market Data Request Reject (35=Y)
Sent when a market data request cannot be accepted. Unknown market tickers are not currently rejected; the server sends an empty snapshot if it has no order book for the requested symbol.Common Reject Reasons (281)
2=Insufficient bandwidth, including request or session symbol limits4=UnsupportedSubscriptionRequestType
Security Status
KalshiMD also streams per-market trading-status changes as SecurityStatus<35=f>. Subscribe by Symbol<55> with SecurityStatusRequest<35=e>. Updates are changes-only; no initial status is sent on subscribe.
Security Status Request (35=e)
Example subscribe
Example unsubscribe
Security Status (35=f)
Streamed when a subscribed market changes trading state. Correlate bySymbol<55>.
Example trading halt
Trading Status Lifecycle (326)
3=Resume: the market was activated and is open for trading2=Trading halt: the market was deactivated100=Kalshi determined: the market was determined; trading has ended and the result is known101=Kalshi settled: the market settled. The subscription for that symbol is then dropped.