Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
GET /orderbook-v3/snapshot moves to GET /orderbook-v3/snapshot/market on December 1, 2026. See the changelog →
Subscribe to real-time market changes
INACTIVE
markets:global
// To subscribe const sub = client.newSubscription("markets:global"); sub.on("publication", (ctx) => { const data = ctx.data; // message handler logic }); sub.subscribe();
import asyncio from centrifuge import Client, PublicationContext, SubscriptionEventHandler async def on_publication(ctx: PublicationContext) -> None: print(ctx.data) async def main(): client = Client( "wss://realtime.sx.bet/connection/websocket", token="YOUR_TOKEN", # from /user/realtime-token-v3/api-key ) await client.connect() handler = SubscriptionEventHandler(on_publication=on_publication) sub = client.new_subscription("markets:global", handler) await sub.subscribe() await asyncio.Future() # keep running asyncio.run(main())
[ { "status": "ACTIVE", "marketHash": "0xbf06c6379c922d8118612d1d7493b20f6df6929437fbf6022904327f9516a2eb", "outcomeOneName": "Cf Montreal", "outcomeTwoName": "The Field", "outcomeVoidName": "NO_CONTEST", "teamOneName": "Cf Montreal", "teamTwoName": "The Field", "participantOneId": 53730576, "participantTwoId": null, "type": 274, "gameTime": 2208988800, "line": null, "reportedDate": null, "outcome": null, "teamOneScore": null, "teamTwoScore": null, "sportXeventId": "L12003787", "liveEnabled": false, "sportLabel": "Soccer", "sportId": 5, "leagueId": 1115, "leagueLabel": "Major League Soccer", "group1": "Major League Soccer" } ]