Skip to main content
March 24, 2026
Breaking Change

WebSocket API migrating from Ably to Centrifugo

The new Centrifugo-based WebSocket API is now live. The legacy Ably-based API will continue to run in parallel until July 1, 2026, when it will be shut down. All clients must migrate before that date.

What’s changing

  • SDK: Replace ably with centrifuge
  • Auth endpoint: GET /user/tokenGET /user/realtime-token/api-key
  • WebSocket URL: Now explicit — wss://realtime.sx.bet/connection/websocket
  • Channel names: All channel names have changed (see table below)
  • Subscription API: channel.subscribe(message => ...) → event-based sub.on("publication", ctx => ...)
  • Gap recovery: Time-based rewind replaced by the snapshot + subscribe pattern using positioned: true and recoverable: true

Channel name changes

Old (Ably)New (Centrifugo)
active_orders_v2:{baseToken}:{maker}active_orders:{maker}
order_book_v2:{baseToken}:{marketHash}order_book:market_{marketHash}
best_odds:{baseToken}best_odds:global
marketsmarkets:global
recent_tradesrecent_trades:global
recent_trades_consolidatedrecent_trades_consolidated:global
main_linemain_line:global
fixtures:fixture_updatefixtures:global
live_scores:{sportXEventId}fixtures:live_scores (now global — filter client-side)
ce_refunds:{user}ce_refunds:{bettor}
markets:parlayparlay_markets:global
New channel: order_book:event_{sportXEventId} — subscribes to all markets in an event with a single subscription.

What’s improving

  • Channel capacity: 512 channels per connection (up from 200)
  • Throughput: No per-channel message rate cap (previously 200 msg/sec)
  • Delivery reliability: Exact gap recovery using message IDs and server-side history, replacing imprecise time-based rewind

Action required

Migrate before July 1, 2026 — that is when the Ably API will be shut down. Message payloads are unchanged — only the SDK, auth flow, channel names, and subscription pattern require updates.See the Migration Guide → for step-by-step instructions.