Channels
This document provides an overview of all available WebSocket channels and their purposes.
Available Channels
MAIN
Key match events
Event-driven
PRO, ULTRA, MEGA
STATS
Full statistics snapshots
Immediate (match/league) · 30s batch (all)
ULTRA, MEGA
ODDS
Full odds snapshots
Immediate (match/league) · 30s batch (all)
ULTRA, MEGA
STATS_REALTIME
Statistics deltas
Real-time
MEGA
ODDS_REALTIME
Odds deltas
Real-time
MEGA
Channel Details
MAIN Channel
The MAIN channel delivers key match events as they happen:
Match start
Goals
Halftime
Second half start
Match end
Best for: Applications that need to track match progress and key events without full statistics.
Update frequency: Event-driven (only when events occur)
STATS Channel
The STATS channel delivers complete statistics snapshots:
All match statistics in a single message
match/league scope: immediate delivery when data changes
all scope: batched delivery every 30 seconds (
batch_update)
Best for: Applications that need complete statistics data and don't require real-time updates.
Update frequency: Immediate for match/league scope · Every 30 seconds (batch) for all scope
ODDS Channel
The ODDS channel delivers complete odds snapshots:
All odds markets in a single message
match/league scope: immediate delivery when data changes
all scope: batched delivery every 30 seconds (
batch_update)
Best for: Applications that need complete odds data and don't require real-time updates.
Update frequency: Immediate for match/league scope · Every 30 seconds (batch) for all scope
STATS_REALTIME Channel
The STATS_REALTIME channel delivers only the statistics that changed:
Delta updates (only changed values)
Immediate delivery when changes occur
Lower bandwidth than full snapshots
Best for: Applications that need instant statistics updates and can maintain local state.
Update frequency: Real-time (as changes occur)
ODDS_REALTIME Channel
The ODDS_REALTIME channel delivers only the odds that changed:
Delta updates (only changed values)
Immediate delivery when changes occur
Lower bandwidth than full snapshots
Best for: Applications that need instant odds updates and can maintain local state.
Update frequency: Real-time (as changes occur)
Channel Availability by Plan
BASIC
-
-
-
-
-
PRO
Yes
-
-
-
-
ULTRA
Yes
Yes
Yes
-
-
MEGA
Yes
Yes
Yes
Yes
Yes
Subscription Scopes
All channels support the following subscription scopes:
All
all
Receive events for all matches
Match
match:{matchId}
Receive events for a specific match
League
league:{leagueId}
Receive events for all matches in a league
Choosing the Right Channel
For basic match tracking
Use MAIN channel only. You'll receive goals, halftime, and match end events.
For detailed statistics
Use STATS channel for periodic full snapshots, or STATS_REALTIME (MEGA only) for immediate updates.
For odds monitoring
Use ODDS channel for periodic full snapshots, or ODDS_REALTIME (MEGA only) for immediate updates.
For real-time applications
Combine MAIN for events with STATS_REALTIME and ODDS_REALTIME for the most responsive experience.
Message Format
Event message (match/league scope)
Sent immediately to match and league scope subscribers:
type
string
Always "event"
channel
string
Source channel name
scope
string
Publish scope ("match")
id
string
Match public ID
eventType
string
Event type (e.g., "stats_update", "odds_update", "goal")
eventId
string
Unique event ID for deduplication
ts
integer
Event timestamp in milliseconds
data
object
Event-specific data
Batch message (all scope)
Sent every 30 seconds to all scope subscribers of STATS and ODDS channels:
type
string
Always "batch_update"
channel
string
Source channel name ("STATS" or "ODDS")
scope
string
Always "all"
timestamp
integer
Batch creation timestamp in milliseconds
matches
array
Array of match updates accumulated since last batch
matches[].matchId
string
Match public ID
matches[].leagueId
string
League/Championship public ID
matches[].data
object
Event-specific data (same structure as event data)
Best Practices
Start with MAIN: Always subscribe to MAIN for basic match events
Add channels as needed: Subscribe to STATS or ODDS only if you need that data
Use REALTIME wisely: REALTIME channels are powerful but require local state management
Unsubscribe when done: Free up subscription slots when matches end
Last updated