Endpoint
Connection flow
1. Connect
Open a WebSocket connection. No authentication is needed at connection time.2. Subscribe
Send a subscribe message within 30 seconds of connecting:3. Confirmation
On success, the server responds with:4. Receive broadcasts
Data updates arrive as broadcast messages with both current and previous state:old field contains the previous state, making it easy to detect what changed.
5. Keep alive
Send a ping to keep the connection alive:6. Unsubscribe
To stop receiving updates and clean up your subscription:Channels
Client-filtered channels
These channels only deliver data belonging to your client:| Channel | Events | Description |
|---|---|---|
orders | INSERT, UPDATE | Exchange order placement, status changes, fills |
bets | INSERT, UPDATE | Hedge bet placement, confirmation, settlement |
accounts | UPDATE | Account balance and status changes |
Global channels
All subscribers receive these:| Channel | Events | Description |
|---|---|---|
scores | UPDATE | Live score updates (goals, sets, periods) |
emergency | UPDATE | Emergency mode activation/deactivation |
Payload examples
Order fill
When an exchange order gets matched:Hedge bet placed
After an order fills, the system automatically places a hedge bet:Live score update
Emergency status
Connection limits
| Setting | Value |
|---|---|
| Max connections per API key | 5 |
| Auth timeout | 30 seconds |
| Server heartbeat interval | 60 seconds |
| Client ping interval | 30 seconds (recommended) |
Error messages
| Error | Description |
|---|---|
api_key required | Missing api_key field in subscribe message |
Invalid api_key format | API key must be a valid UUID |
Invalid API key | API key not found or client is inactive |
Connection limit exceeded | Already have 5 active connections for this API key |