Skip to main content
Two REST routes read the same book, and each has a realtime counterpart: Every price on both routes and both channels is the maker frame. Only the two REST routes accept showTakerPerspective=true; the channels never do. Convert for display only — see converting a level for display.

Fetching the order book

size is the resting maker’s stake, not what you can bet against it. To turn a level into taker capacity and price a bet across levels, see The order book.

Fetching best odds

Top of book for up to 100 markets in one call. A side is null when it has no liquidity.
seed_best_odds.mjs

Seeding and then subscribing to realtime best odds

Seed from GET /orders-v3/odds/best and treat publications as updates on top of that seed. Note that the channel is a global channel
A publication goes out only when a market’s top of book changes.

Seeding and subscribing realtime to the order book

orderbook_v3:{marketHash} carries the same shape the snapshot serves, and each publication is a full replacement — overwrite both arrays, never patch. Subscribe first, then seed from REST, and run both the snapshot and every publication through the version apply rule — anything at or below the version you hold is discarded, so ordering no longer depends on timing.
Key version state by marketHash, and compare as strings. The full snapshot-plus-subscribe seed pattern is on Initialization, and the apply rule and stream-bump handling are on Book versioning.

The order book

Depth, sizing, and pricing a bet across levels.

Book versioning

Applying live book updates in the right order.

Real-time data

Tokens, snapshot + subscribe, and reconnect handling.

Best odds

Parameters, caps, and validation rules.
Last modified on August 11, 2026