GETGet Market Orderbook

Retrieve the current orderbook (bids and asks) for a specific outcome. Crossable orders are removed via matching simulation. The orderbook is unified — it combines liquidity from both YES and NO sides.

Request

GET /v1/markets/:id/orderbook

Path Parameters

ParameterTypeRequiredDescription
idstringYesMarket UUID

Query Parameters

ParameterTypeRequiredDescription
outcomeIdstringYesOutcome ID to get orderbook for

Response

{
  "outcomeId": "outcome-uuid-1",
  "outcomeSide": "Yes - YES",
  "bids": [
    { "price": "0.650", "shares": "500.00" },
    { "price": "0.640", "shares": "300.00" },
    { "price": "0.620", "shares": "150.00" }
  ],
  "asks": [
    { "price": "0.680", "shares": "200.00" },
    { "price": "0.700", "shares": "400.00" },
    { "price": "0.750", "shares": "100.00" }
  ]
}

Response Fields

FieldTypeDescription
outcomeIdstringThe outcome ID this orderbook represents
outcomeSidestringOutcome name and side combined (e.g., Yes - YES, Trump - YES)
bidsarrayBuy orders sorted by price (highest first)
asksarraySell orders sorted by price (lowest first)
bids[].pricestringBid price (3 decimal places)
bids[].sharesstringTotal shares at this price level

Unified Orderbook

The orderbook merges liquidity from both sides:

  • YES bids = BUY YES orders + SELL NO orders (at inverted price)
  • YES asks = SELL YES orders + BUY NO orders (at inverted price)

Crossable orders (where bid >= ask) are removed via matching simulation, providing a clean orderbook that reflects the expected state after pending matches.

Errors

StatusDescription
400Missing outcomeId or outcome does not belong to market
404Market or outcome not found

Example

curl "https://api.conviction.bet/v1/markets/550e8400-e29b-41d4-a716-446655440000/orderbook?outcomeId=outcome-uuid-1"