One feed. Explicit state.
OddsLoom is designed as a stateful, WebSocket-first protocol for normalized sportsbook odds. This reference separates the contract into focused chapters so you can challenge each decision independently.
How the model fits together
A subscriber receives canonical reference objects and current book quotes in a snapshot. Ordered deltas then replace or remove individual quotes as source state changes.
Read by chapter
Protocol
Connection, authentication, subscriptions, snapshots, and the stream lifecycle.
OPEN CHAPTER →02Entity model
Canonical sports, leagues, participants, events, markets, outcomes, books, and quotes.
OPEN CHAPTER →03Payload catalog
Complete proposed shapes for control, state, delta, heartbeat, and error messages.
OPEN CHAPTER →04Reliability
Ordering, timing, state transitions, replay, resnapshot, and consumer responsibilities.
OPEN CHAPTER →Contract principles
Consumers use stable OddsLoom objects rather than provider-native structures.
Hot-path quote updates replace one complete quote instead of applying ambiguous patches.
Suspended, closed, and removed states are communicated rather than inferred.
Stream positions expose gaps and support replay or a clean resnapshot.
Real-time odds infrastructure.
This contract is intentionally focused on live and pregame odds delivery. It is not a picks API, settlement service, injury feed, or general sports statistics product.