Skip to main content

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.
PropertyValue
Latency (odds)1–2 seconds from round freeze to delivery
Latency (settlement)1–3 seconds from triggering event to bet_settlement
SettlementAutomatic, engine-driven, auditable via /cs2/v1/settlements
Availability24/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:
ScopeGrants
cs2:markets:readActive market offers, odds, suspend status
cs2:markets:settlementsSettlement audit log
cs2:stream:marketsWS frames: market.*, bet_settlement
The 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:
MessageAction 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

1. Receive AMQP credentials from your account manager (or use REST + WS)
2. Connect: amqp://op-<slug>:<password>@mq.ticktock.bet:5672/<slug>
3. Bind queue to exchange `ttfeed` with routing key hi.-.live.#
4. Also bind alive heartbeats: -.-.-.alive.-.-.-.-
5. Receive <odds_change> → display markets, check status for betstop
6. Receive <bet_settlement> → grade bets (outcome result="1" = won, "0" = lost)
7. Receive <alive> → heartbeat, confirm feed is healthy
8. Use REST API for recovery and reconciliation

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

TimeEvent
T+0sRound N freeze — engine generates markets for Round N+1, publishes <odds_change>
T+0..NOdds may update as game state refines
T+NMarket suspended (status="-1") when outcome is determined or TTL expires
T+NSome markets settled live (<bet_settlement>) when triggering event occurs
T+endRound 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.
Last modified on May 10, 2026