Documentation Index
Fetch the complete documentation index at: https://docs.ticktock.bet/llms.txt
Use this file to discover all available pages before exploring further.
What you get
Real-time betting markets generated per CS2 round during live matches:- 42+ market types — opening kill, headshot opening, AWP opening, round winner, total kills, bomb plant, … See the full list in the Market Catalogue.
- In-play timing — markets open at round freeze, suspend on outcome determination or TTL expiry, and settle automatically at round end (live settlement) or final score.
- Three delivery channels — REST polling, WebSocket push, or AMQP messaging feed (XML). Pick whichever fits your existing pipeline.
| Property | Value |
|---|---|
| Latency (odds) | 1–2 seconds from round freeze to delivery |
| Latency (settlement) | 1–3 seconds from triggering event to bet_settlement |
| Settlement | Automatic, engine-driven, auditable via /cs2/v1/settlements |
| Availability | 24/7 — matches tracked whenever live on HLTV |
Why this is easy to integrate
Industry-standard XML
Same AMQP exchange topology and
<odds_change> / <bet_settlement> shapes used by major esports feed providers. If you already consume an industry-standard feed, our markets slot in with minimal mapping work.Stable match identifiers
Every match exposes two IDs —
event_id (od:match:{id}) for cross-referencing with external sportsbooks, and tt_match_id (UUID) for our REST API.Inline market descriptions
Every market carries human-readable
textEN and textRU directly in the XML — no catalogue lookup. The type and specifiers attributes are optional convenience fields for programmatic mapping.Auto-settlement
Markets settle within 1–3s of the triggering event.
<bet_settlement> messages push immediately — no manual grading.Required scopes
You need at least one of these on your API key:| Scope | Grants |
|---|---|
cs2:markets:read | Active market offers, odds, suspend status |
cs2:markets:settlements | Settlement audit log |
cs2:stream:markets | WS frames: market.*, bet_settlement |
cs2.odds.basic bundle includes all three plus the matches scopes. See Scopes & Bundles for the full picture.
Minimum integration
Three message types cover the core flow:| Message | Action required |
|---|---|
<odds_change> | Display/update markets. When status="-1" — immediately stop accepting bets |
<bet_settlement> | Grade and pay out bets based on outcome.result |
<alive> | Confirm feed connectivity (received every 10 seconds) |
Typical integration flow
Market lifecycle
Suspension is one-way — a suspended market never returns to active. It stays suspended until settled at round end. New markets for the next round are created independently.
Round timeline
| Time | Event |
|---|---|
| T+0s | Round N freeze — engine generates markets for Round N+1, publishes <odds_change> |
| T+0..N | Odds may update as game state refines |
| T+N | Market suspended (status="-1") when outcome is determined or TTL expires |
| T+N | Some markets settled live (<bet_settlement>) when triggering event occurs |
| T+end | Round N+1 ends — all remaining markets settled |
Next steps
Market Catalogue
Full list of CS2 market types with odds ranges and example descriptions.
Settlement
Settlement timing, the audit log, and reconciliation patterns.
Messaging Feed (AMQP)
RabbitMQ connection details, routing keys, and XML message reference.
API Reference
Live REST playground for the markets and settlements endpoints.