Skip to main content

Market Selectors

Each market entry accepts either:
  • parsec_id
  • or exchange + market_id
If you do not know the identifiers yet, find the market first with /markets.

Subscribe

type
string
required
subscribe
markets
object[]
required
Array of market subscriptions.
markets[].parsec_id
string
Canonical market identifier.
markets[].exchange
string
Exchange selector used with market_id.
markets[].market_id
string
Exchange-native market ID used with exchange.
markets[].outcome
string
Outcome to subscribe to, such as "Yes" or "No". Optional for standard binary Yes/No markets; required for categorical markets.
markets[].depth
number
default:"50"
Requested price levels per side. The server clamps this to your tier maximum.
{
  "type": "subscribe",
  "markets": [
    { "parsec_id": "polymarket:572473", "outcome": "Yes", "depth": 10 },
    { "parsec_id": "kalshi:KXPRESPERSON-28-GNEWS" }
  ]
}

Unsubscribe

type
string
required
unsubscribe
markets
object[]
required
Array of market selectors in the same shape as subscribe. depth is ignored.
{
  "type": "unsubscribe",
  "markets": [{ "parsec_id": "polymarket:572473", "outcome": "Yes" }]
}

Resync

Use resync when:
  • you detect a sequence gap
  • the server sends resync_required
  • the local orderbook has gone stale
type
string
required
resync
parsec_id
string
Canonical market selector.
exchange
string
Exchange selector used with market_id.
market_id
string
Exchange-native market ID used with exchange.
outcome
string
Outcome to resync. Optional for standard binary Yes/No markets; required for categorical markets.
{ "type": "resync", "parsec_id": "polymarket:572473", "outcome": "Yes" }