Skip to main content
This is the complete catalog of realtime channels and the events published on each. Terminology: event = a question; market = an outcome. For client setup, see Overview. Private channels require Authorization.

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 channel event. 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 on event-{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 on event 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.