WebSocket requires a Dev or Pro API key. Free tier keys cannot connect. Get your key →
{
"action": "subscribe",
"platform": "polymarket",
"version": 1,
"type": "orderbook",
"filters": {
"market_slugs": [
"bitcoin-100k-2026"
]
}
}{
"action": "unsubscribe",
"subscription_id": "sub_2f4b15b33798"
}{
"type": "ack",
"subscription_id": "sub_2f4b15b33798",
"channel": "trades"
}{
"event_type": "book_snapshot",
"token_id": "82855...",
"condition_id": "0x4c57...",
"slug": "bitcoin-100k-2026",
"question": "Will Bitcoin hit $100k?",
"outcome": "Yes",
"timestamp": 1775196804071,
"bids": [
{
"price": "0.48",
"size": "5000"
}
],
"asks": [
{
"price": "0.52",
"size": "3000"
}
],
"hash": "abc123..."
}{
"event_type": "price_change",
"token_id": "82855...",
"condition_id": "0x4c57...",
"slug": "bitcoin-100k-2026",
"outcome": "Yes",
"timestamp": 1775196805000,
"side": "BUY",
"price": "0.50",
"size": "7500",
"best_bid": "0.50",
"best_ask": "0.52"
}{
"event_type": "last_trade",
"token_id": "82855...",
"condition_id": "0x4c57...",
"slug": "bitcoin-100k-2026",
"outcome": "Yes",
"timestamp": 1775196806000,
"side": "BUY",
"price": "0.46",
"size": "219.22",
"fee_rate_bps": "0"
}{
"event_type": "tick_size_change",
"token_id": "82855...",
"condition_id": "0x4c57...",
"slug": "bitcoin-100k-2026",
"outcome": "Yes",
"timestamp": 1775196807000,
"tick_size": "0.001"
}{
"event_type": "snapshots_done",
"count": 2
}{
"type": "event_batch",
"subscription_id": "sub_xxx",
"count": 350,
"events": [],
"gap": false
}{
"event_type": "resync"
}{
"action": "subscribe",
"platform": "polymarket",
"version": 1,
"type": "orderbook",
"filters": {
"market_slugs": [
"bitcoin-100k-2026"
]
}
}{
"action": "unsubscribe",
"subscription_id": "sub_2f4b15b33798"
}{
"type": "ack",
"subscription_id": "sub_2f4b15b33798",
"channel": "trades"
}{
"event_type": "book_snapshot",
"token_id": "82855...",
"condition_id": "0x4c57...",
"slug": "bitcoin-100k-2026",
"question": "Will Bitcoin hit $100k?",
"outcome": "Yes",
"timestamp": 1775196804071,
"bids": [
{
"price": "0.48",
"size": "5000"
}
],
"asks": [
{
"price": "0.52",
"size": "3000"
}
],
"hash": "abc123..."
}{
"event_type": "price_change",
"token_id": "82855...",
"condition_id": "0x4c57...",
"slug": "bitcoin-100k-2026",
"outcome": "Yes",
"timestamp": 1775196805000,
"side": "BUY",
"price": "0.50",
"size": "7500",
"best_bid": "0.50",
"best_ask": "0.52"
}{
"event_type": "last_trade",
"token_id": "82855...",
"condition_id": "0x4c57...",
"slug": "bitcoin-100k-2026",
"outcome": "Yes",
"timestamp": 1775196806000,
"side": "BUY",
"price": "0.46",
"size": "219.22",
"fee_rate_bps": "0"
}{
"event_type": "tick_size_change",
"token_id": "82855...",
"condition_id": "0x4c57...",
"slug": "bitcoin-100k-2026",
"outcome": "Yes",
"timestamp": 1775196807000,
"tick_size": "0.001"
}{
"event_type": "snapshots_done",
"count": 2
}{
"type": "event_batch",
"subscription_id": "sub_xxx",
"count": 350,
"events": [],
"gap": false
}{
"event_type": "resync"
}Your Predexon API key
Exactly ONE of token_ids, condition_ids, or market_slugs. No users filter.
Remove a subscription by ID.
Server acknowledgement for subscribe, unsubscribe, and update actions.
Full orderbook snapshot sent on subscribe.
Orderbook price level delta. Size '0' means level removed.
Trade execution on the orderbook channel.
Emitted when a market's tick size changes.
Marker sent after all initial book snapshots have been delivered.
Wildcard/firehose only. Batched every ~250ms with price-level conflation.
Sent after internal reconnect. Discard local state — fresh snapshots will follow.