optionsQuotes subscription, then request a snapshot with
emitOptionsQuotes. After the snapshot, optionsQuotesDelta messages stream top-of-book
changes per contract.
Quotes Snapshot Request
Request
| Field | Type | Required | Description |
|---|---|---|---|
message | string | Yes | emitOptionsQuotes |
content.clientRequestId | string | No | Client-generated UUID for correlation |
content.underlying | string | Yes | Underlying asset, e.g. BTC |
content.expirationDate | string | Yes | Expiration date, YYYY-MM-DD |
content.pageSize | number | No | Page size for paginated results |
content.pageToken | string | No | Cursor for the next page |
Response
| Field | Type | Required | Description |
|---|---|---|---|
resultType | string | Yes | optionsQuotes |
data.quotes | array | Yes | Top-of-book per contract |
data.quotes[].market | string | Yes | Contract name |
data.quotes[].bestBid / bestAsk | string | No | Best bid / ask price (omitted if that side is empty) |
data.quotes[].bestBidQty / bestAskQty | string | No | Best bid / ask size |
data.quotes[].bestBidIV / bestAskIV | string | No | Implied volatility at the best bid / ask |
data.quotes[].ts | number | Yes | Timestamp (ms since epoch) |
data.statusCode | number | Yes | 200 |
Quote Updates
| Field | Type | Required | Description |
|---|---|---|---|
resultType | string | Yes | optionsQuotesDelta |
data.market | string | Yes | Contract name |
data.bestBid / bestAsk … | string | No | Updated top-of-book; an empty side omits its fields |
data.ts | number | Yes | Timestamp (ms since epoch) |