Skip to main content
This stream provides the order book for a single contract, including implied volatility on the ask side. Subscribe with the publicOrderBook subscription. Updates arrive as publicOrderBookDelta messages, and you can request a full snapshot at any time with emitPublicOrderBook.
For publicOrderBookDelta messages, quantity is the absolute size at that price level. A quantity of 0 means the level should be removed from your local book.
Upon subscription to this stream, you will receive publicOrderBookDelta messages whenever the order book changes:
{
  "resultType": "publicOrderBookDelta",
  "market": "BTC-10JUL26-55000-C",
  "data": {
    "market": "BTC-10JUL26-55000-C",
    "orders": [
      { "orderType": "buy", "price": "6700", "quantity": "0" }
    ],
    "bestBid": { "price": "7204.26", "size": "4" },
    "bestAsk": { "price": "7210.97", "size": "3" },
    "statusCode": 200,
    "ts": 1783351516417
  }
}
FieldTypeRequiredDescription
resultTypestringYespublicOrderBookDelta
marketstringYesContract name
data.marketstringYesContract name
data.ordersarrayYesChanged price levels
data.orders[].orderTypestringYesSide: buy or sell
data.orders[].pricestringYesPrice level
data.orders[].quantitystringYesNew absolute size at the level; 0 removes the level
data.orders[].ivstringNoImplied volatility at the level (present on the ask side)
data.bestBid / data.bestAskobjectNoUpdated top-of-book summary (price, size, and iv on the ask side); omitted if that side is empty
data.statusCodenumberYes200
data.tsnumberYesTimestamp (ms since epoch)

Order Book Snapshot Request

Request a full order book snapshot with emitPublicOrderBook, which returns a publicOrderBook message. Use it to bootstrap your local book when you first subscribe, or to resynchronize after a gap.

Request

{
  "message": "emitPublicOrderBook",
  "content": {
    "clientRequestId": "4cc68b60-ed2d-42aa-a21e-cb5486f8fd1a",
    "market": "BTC-10JUL26-55000-C"
  }
}
FieldTypeRequiredDescription
messagestringYesemitPublicOrderBook
content.clientRequestIdstringNoClient-generated UUID for correlation
content.marketstringYesContract name

Response

{
  "resultType": "publicOrderBook",
  "market": "BTC-10JUL26-55000-C",
  "data": {
    "market": "BTC-10JUL26-55000-C",
    "orders": [
      { "orderType": "sell", "price": "7247.97", "quantity": "4", "iv": "0.5968" },
      { "orderType": "buy", "price": "7104.44", "quantity": "4" },
      { "orderType": "buy", "price": "6960.92", "quantity": "16" },
      { "orderType": "buy", "price": "6700", "quantity": "1" }
    ],
    "bestBid": { "price": "7104.44", "size": "4" },
    "bestAsk": { "price": "7247.97", "size": "4", "iv": "0.5968" },
    "statusCode": 200,
    "ts": 1783085417173,
    "clientRequestId": "4cc68b60-ed2d-42aa-a21e-cb5486f8fd1a"
  }
}
FieldTypeRequiredDescription
resultTypestringYespublicOrderBook
marketstringYesContract name
data.marketstringYesContract name
data.ordersarrayYesPrice levels
data.orders[].orderTypestringYesSide: buy or sell
data.orders[].pricestringYesPrice level
data.orders[].quantitystringYesSize at the price level
data.orders[].ivstringNoImplied volatility at the level (present on the ask side)
data.bestBid / data.bestAskobjectNoTop-of-book summary (price, size, and iv on the ask side); omitted if that side is empty
data.statusCodenumberYes200
data.tsnumberYesTimestamp (ms since epoch)
data.clientRequestIdstringNoClient-generated UUID for correlation