Skip to main content
GET
Get Orderbook
For real-time orderbook updates, use the WebSocket API instead of polling this endpoint. Subscribe to subscribe_market_prices with marketSlugs.

Complementary token prices (deriving the NO book)

This endpoint returns a single, YES-side book. The tokenId in the response is the market’s YES position ID, and bids/asks are quoted in YES-token terms. The two outcome tokens are complementary — a YES share and a NO share always redeem together for exactly $1 — so their prices satisfy:
The book you get back already merges all liquidity for the market: native NO orders are converted into their YES-side equivalent before aggregation, using the same identity:
So you never lose NO liquidity by reading the YES book — it’s all there, expressed in YES prices.

Deriving the NO orderbook

To quote or trade the NO token, mirror the returned YES book: flip bids ↔ asks and replace every price p with 1 - p (sizes are unchanged). The midpoint and spread carry over directly: noMidpoint = 1 - yesMidpoint, and the spread is identical.
When you then place a NO order, sign it against the NO tokenId (noPositionId from Get Market) at the derived price — the price inversion only affects how you read the book, not how the order is signed.

Multi-outcome (NegRisk) markets

In a NegRisk multi-outcome market, each outcome is its own market with its own slug, its own YES/NO tokens, and its own orderbook. Fetch each outcome’s book by its slug and derive that outcome’s NO book with the same inversion above — there is no single cross-outcome book to invert. What links the outcomes is a soft pricing constraint, not a shared book: across the N outcomes, the YES prices tend toward summing to 1 (exactly one outcome resolves YES), and all the NO contracts are linked for share conversion. To assemble a full picture of a multi-outcome market, request the orderbook for each outcome slug and mirror each one independently.

Path Parameters

Response

Current orderbook with bids and asks

adjustedMidpoint
number
Example:

0.75

asks
object[]
bids
object[]
lastTradePrice
number
Example:

0.75

maxSpread
number
Example:

0.05

minSize
number
Example:

1

tokenId
string
Example:

"19633204485790857949828516737993423758628930235371629943999544859324645414627"