> ## 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.

# Contracts Stream

This stream provides option **contract definitions** with live mark price, implied volatility,
and Greeks. It is scoped by **underlying** and **expiration date**. Subscribe with the
`optionsContracts` subscription. Live `optionsContractUpdate` messages stream price, IV, and
Greek changes per contract, and you can request a full snapshot with `emitOptionsContracts`.

Upon subscription to this stream, you immediately begin receiving `optionsContractUpdate`
messages as each contract's price, IV, and Greeks change:

```json theme={null}
{
  "resultType": "optionsContractUpdate",
  "market": "BTC-10JUL26-55000-C",
  "data": {
    "contractName": "BTC-10JUL26-55000-C",
    "underlying": "BTC-USDT",
    "strike": "55000",
    "optionType": "C",
    "expiryDate": "2026-07-10",
    "markPrice": "8810.9085883",
    "markIV": "0.6571",
    "indexPrice": "63794.6796692",
    "delta": "0.9889426",
    "gamma": "0.0000069",
    "vega": "185.7490523",
    "theta": "-16.6912762",
    "rho": "-88.2604965"
  }
}
```

| Field                                             | Type   | Required | Description                                                                |
| ------------------------------------------------- | ------ | -------- | -------------------------------------------------------------------------- |
| `resultType`                                      | string | Yes      | `optionsContractUpdate`                                                    |
| `market`                                          | string | Yes      | Contract name                                                              |
| `data.contractName`                               | string | Yes      | Contract name                                                              |
| `data.underlying`                                 | string | Yes      | Underlying market, e.g. `BTC-USDT`                                         |
| `data.strike`                                     | string | Yes      | Strike price                                                               |
| `data.optionType`                                 | string | Yes      | `C` (call) or `P` (put)                                                    |
| `data.expiryDate`                                 | string | Yes      | Expiry date (`YYYY-MM-DD`)                                                 |
| `data.markPrice`                                  | string | Yes      | Mark price                                                                 |
| `data.markIV`                                     | string | Yes      | Mark implied volatility                                                    |
| `data.indexPrice`                                 | string | Yes      | Underlying index price                                                     |
| `data.delta` / `gamma` / `vega` / `theta` / `rho` | string | Yes      | Greeks — see [Pricing & Greeks](/latest/options/guides/pricing-and-greeks) |

### Contracts Snapshot Request

Request the full set of contracts for an underlying and expiration with `emitOptionsContracts`,
which returns an `optionsContracts` message. Use it to enumerate what's tradable before
processing updates.

#### Request

```json theme={null}
{
  "message": "emitOptionsContracts",
  "content": {
    "clientRequestId": "ec5e9e21-e4dd-47dd-af9b-345b2b3ea976",
    "underlying": "BTC",
    "expirationDate": "2026-07-10"
  }
}
```

| Field                     | Type   | Required | Description                           |
| ------------------------- | ------ | -------- | ------------------------------------- |
| `message`                 | string | Yes      | `emitOptionsContracts`                |
| `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": "optionsContracts",
  "market": "BTC",
  "data": {
    "clientRequestId": "ec5e9e21-e4dd-47dd-af9b-345b2b3ea976",
    "contracts": [
      {
        "contractName": "BTC-10JUL26-63000-C",
        "underlying": "BTC-USDT",
        "strike": "63000",
        "optionType": "C",
        "expiryDate": "2026-07-10",
        "markPrice": "1334.5252004",
        "bidPrice": "749.89",
        "askPrice": "751.71",
        "bidSize": "8",
        "askSize": "4",
        "markIV": "0.3899",
        "bidIV": "0.4178",
        "askIV": "0.4185",
        "indexPrice": "63654.9041377805",
        "delta": "0.6089291",
        "gamma": "0.0001548",
        "vega": "2443.5719736",
        "theta": "-130.4974464",
        "rho": "-13.346896",
        "openInterest": "0",
        "volume24h": "0"
      },
      {
        "contractName": "BTC-10JUL26-63000-P",
        "underlying": "BTC-USDT",
        "strike": "63000",
        "optionType": "P",
        "expiryDate": "2026-07-10",
        "markPrice": "699.9441769",
        "bidPrice": "1626.58",
        "askPrice": "1627.55",
        "bidSize": "4",
        "askSize": "4",
        "markIV": "0.3899",
        "bidIV": "0.5033",
        "askIV": "0.5037",
        "indexPrice": "63654.9041377805",
        "delta": "-0.3910709",
        "gamma": "0.0001548",
        "vega": "2443.5719736",
        "theta": "-130.4974464",
        "rho": "-7.000304",
        "openInterest": "2",
        "volume24h": "0"
      },
      {
        "contractName": "BTC-10JUL26-66000-C",
        "underlying": "BTC-USDT",
        "strike": "66000",
        "optionType": "C",
        "expiryDate": "2026-07-10",
        "markPrice": "189.4994388",
        "bidPrice": "108.89",
        "askPrice": "109.11",
        "bidSize": "4",
        "askSize": "8",
        "markIV": "0.3597",
        "bidIV": "0.4191",
        "askIV": "0.4193",
        "indexPrice": "63654.9041377805",
        "delta": "0.159895",
        "gamma": "0.0001062",
        "vega": "1547.8386699",
        "theta": "-76.258031",
        "rho": "-1.8952461",
        "openInterest": "0",
        "volume24h": "0"
      }
    ],
    "statusCode": 200
  }
}
```

| Field                                                         | Type   | Required | Description                                                                                        |
| ------------------------------------------------------------- | ------ | -------- | -------------------------------------------------------------------------------------------------- |
| `resultType`                                                  | string | Yes      | `optionsContracts`                                                                                 |
| `market`                                                      | string | Yes      | Underlying asset (echoes the request `underlying`)                                                 |
| `data.clientRequestId`                                        | string | No       | Client-generated UUID for correlation                                                              |
| `data.contracts`                                              | array  | Yes      | Contract definitions                                                                               |
| `data.contracts[].contractName`                               | string | Yes      | Contract name                                                                                      |
| `data.contracts[].underlying`                                 | string | Yes      | Underlying market, e.g. `BTC-USDT`                                                                 |
| `data.contracts[].strike`                                     | string | Yes      | Strike price                                                                                       |
| `data.contracts[].optionType`                                 | string | Yes      | `C` (call) or `P` (put)                                                                            |
| `data.contracts[].expiryDate`                                 | string | Yes      | Expiry date                                                                                        |
| `data.contracts[].markPrice`                                  | string | Yes      | Mark price                                                                                         |
| `data.contracts[].bidPrice` / `askPrice`                      | string | Yes      | Best bid / ask price                                                                               |
| `data.contracts[].bidSize` / `askSize`                        | string | Yes      | Best bid / ask size                                                                                |
| `data.contracts[].markIV` / `bidIV` / `askIV`                 | string | Yes      | Mark / bid / ask implied volatility (`bidIV` / `askIV` may be empty when a side has no firm quote) |
| `data.contracts[].indexPrice`                                 | string | Yes      | Underlying index price                                                                             |
| `data.contracts[].delta` / `gamma` / `vega` / `theta` / `rho` | string | Yes      | Greeks — see [Pricing & Greeks](/latest/options/guides/pricing-and-greeks)                         |
| `data.contracts[].openInterest`                               | string | Yes      | Open interest                                                                                      |
| `data.contracts[].volume24h`                                  | string | Yes      | 24h traded volume                                                                                  |
| `data.statusCode`                                             | number | Yes      | `200`                                                                                              |
