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
| Parameter | Type | Required | Description |
|---|
id | string | Yes | Market UUID |
Query Parameters
| Parameter | Type | Required | Description |
|---|
outcomeId | string | Yes | Outcome 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
| Field | Type | Description |
|---|
outcomeId | string | The outcome ID this orderbook represents |
outcomeSide | string | Outcome name and side combined (e.g., Yes - YES, Trump - YES) |
bids | array | Buy orders sorted by price (highest first) |
asks | array | Sell orders sorted by price (lowest first) |
bids[].price | string | Bid price (3 decimal places) |
bids[].shares | string | Total 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
| Status | Description |
|---|
400 | Missing outcomeId or outcome does not belong to market |
404 | Market or outcome not found |
Example
curl "https://api.conviction.bet/v1/markets/550e8400-e29b-41d4-a716-446655440000/orderbook?outcomeId=outcome-uuid-1"