> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rails.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Quotes Stream

This stream provides **top-of-book** bid/ask prices with implied volatility for each
contract. Like the [Contracts Stream](/latest/options/websocket-api/contracts-stream), it
is scoped by **underlying** and **expiration date**.

Subscribe with the `optionsQuotes` subscription, then request a snapshot with
`emitOptionsQuotes`. After the snapshot, `optionsQuotesDelta` messages stream top-of-book
changes per contract.

### Quotes Snapshot Request

#### Request

```json theme={null}
{
  "message": "emitOptionsQuotes",
  "content": {
    "clientRequestId": "4cc68b60-ed2d-42aa-a21e-cb5486f8fd1a",
    "underlying": "BTC",
    "expirationDate": "2026-06-19"
  }
}
```

| 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

```json theme={null}
{
  "resultType": "optionsQuotes",
  "data": {
    "quotes": [
      {
        "market": "BTC-19JUN26-62000-C",
        "bestBid": "1840.00",
        "bestBidQty": "5",
        "bestBidIV": "0.54",
        "bestAsk": "1861.00",
        "bestAskQty": "4",
        "bestAskIV": "0.56",
        "statusCode": 200,
        "ts": 1767762810250
      }
    ],
    "statusCode": 200,
    "clientRequestId": "4cc68b60-ed2d-42aa-a21e-cb5486f8fd1a"
  }
}
```

| 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

```json theme={null}
{
  "resultType": "optionsQuotesDelta",
  "data": {
    "market": "BTC-19JUN26-62000-C",
    "bestBid": "1841.00",
    "bestBidQty": "6",
    "bestBidIV": "0.541",
    "bestAsk": "1860.00",
    "bestAskQty": "3",
    "bestAskIV": "0.559",
    "statusCode": 200,
    "ts": 1767762820000
  }
}
```

| 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)                          |
