(market, channel) pair on a connection. You create them
with subscribe, name the market with a MarketStream, and the server hands
back a subscriptionId that keys every frame that follows.
MarketStream
How you reference a market on the wire. It’s a discriminated union on venue —
you build it from venue-native identifiers you already have, or that you get
from the Markets API.
Limitless YES and NO are two views of one shared orderbook — the NO book is the
exact complement of the YES book. One slug covers both sides; you subscribe to
YES and NO as two separate
MarketStream entries, one per token. You can
subscribe to either or both; both stream accurately.Channels
A subscription is one
(market, channel) pair. Subscribing to one market on
both channels counts as two subscriptions against the
per-connection cap.
subscribe
For each market in the batch you get back either a
subscribed ack or
an error (for example, UNKNOWN_MARKET) — one reply per market, so a single
bad entry never sinks the rest of the batch.
subscriptionId to whatever local state you keep for
that market — every subsequent frame for this subscription is keyed by that id,
and it’s also the handle you pass to unsubscribe.
snapshotPending: true tells you a snapshot is on its way (it is always
false on the trade channel — the tape has no snapshot).
Subscribing is idempotent per (connection, market, channel): a repeat returns
the existing subscriptionId rather than creating a second one.
unsubscribe
subscriptionId(s) from prior subscribed acks. One
unsubscribed reply per id, carrying subscriptionId, market, and channel.
list
subscriptions frame: one atomic snapshot of every active
subscription on this connection.