Channels
Events at a glance
Full-depth
order-book-snapshot pushes are not emitted (Pusher message size limits). order-book-update carries top-N levels per market. For depth beyond top-N, call the REST order book API.Event channel (public)
Global public feed on channelevent. Subscribe with pusher.subscribe("event"); no authentication required.
best-prices-change
Emitted when the best bid/ask of a wagerable market changes. Non-wagerable markets are skipped to stay within Pusher limits. Also published onevent-{event_id} with the same payload, so quoting bots can avoid the global event fanout:
integer
Market (outcome) ID.
integer
Event ID.
string
play_money or real_money.number | null
Best ask price.
number | null
Best bid price.
number | null
best_ask - best_bid.price-change
Emitted when an event’s price or volume state changes.currency_mode controls the ordering of markets in the payload.
Each element of
markets:
new-market
Emitted when a new market is added to an event.live-data-update
Emitted when an event’s live data changes.market-status-change
Emitted onevent and event-{event_id} when tradability fields change (status, bet window, or market disabled). Use this to start or stop quoting — do not rely on BBO alone.
market-comment
Emitted when a user posts a comment. Sent with a ~5s delay so replicas can catch up before clients refetch.Per-event channel (public)
Channel name pattern:event-{event_id} (e.g. event-1234). Subscribe with pusher.subscribe("event-" + eventId); no authentication required.
Events on this channel: order-book-update, best-prices-change, and market-status-change.
order-book-update
Absolute top-N (default 5) bid/ask levels for the affected market — one message per market. The legacy refetch ping ({ endpoint, question, currency }) and the separate order-book-delta event are removed; use this payload only.
For depth beyond top-N, call GET /markets//book/.
Private user channel
Channel name pattern:private-user-{user_id}. Requires authorization via POST https://api.futuur.com/v2.0/pusher/auth/. Subscribe with pusher.subscribe("private-user-" + userId).
balance-changed
Emitted when the user’s balance changes. Carries no amount — refetch GET /me/balances/.deposit-success
Emitted when a deposit completes.order-update
Real-time order lifecycle updates: create / open acks (pending, open, including PROCESSING → OPEN) plus fill, partial fill, cancel, and expire. Useful for syncing resting orders without relying only on the REST response.
position-update
Emitted when a user’s wager shares change. Use for inventory sync.Related
- Overview — Pusher client setup
- Authorization — private channel HMAC auth
- Order book — REST endpoint for full depth beyond top-N
- Reading the order book — interpret bid/ask depth