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

# Instruments & Symbols

> How contracts are named and identified

Every contract is identified by a **contract name** that encodes everything
about the instrument.

## Contract Name Format

```
{UNDERLYING}-{DMMMYY}-{STRIKE}-{TYPE}
```

For example, `BTC-24JUN26-62000-C`:

| Component    | Example   | Meaning                                                                                  |
| ------------ | --------- | ---------------------------------------------------------------------------------------- |
| `UNDERLYING` | `BTC`     | The underlying asset (`BTC` or `ETH`).                                                   |
| `DMMMYY`     | `24JUN26` | Expiry date — day (not zero-padded), uppercase three-letter month, two-digit year.       |
| `STRIKE`     | `62000`   | Strike price, as a whole number in quote currency.                                       |
| `TYPE`       | `C`       | Option type: `C` for call, `P` for put — the same values the `optionType` field carries. |

The day is written without a leading zero — e.g. the 3rd is `3`, not `03`.

More examples:

| Contract name         | Reads as                               |
| --------------------- | -------------------------------------- |
| `BTC-24JUN26-62000-C` | BTC \$62,000 call expiring 24 Jun 2026 |
| `BTC-3JUL26-55000-C`  | BTC \$55,000 call expiring 3 Jul 2026  |
| `ETH-15MAY26-2500-P`  | ETH \$2,500 put expiring 15 May 2026   |

<Note>
  All contracts settle at 08:00 UTC on the expiry date. See
  [Settlement & Expiry](/latest/options/guides/settlement-and-expiry).
</Note>

## Referring to Contracts in Requests

The contract name identifies an instrument, but requests don't all take it in the same
form. Which form applies depends on where you are sending the request:

| Where                                                                                                | Form                                                                                                                                                                                          |
| ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connection URL, `subscribe`, `unsubscribe`                                                           | The [contract filter](/latest/options/websocket-api/overview#contract-filter): `market=BTC-USDT`, narrowed by `expiration`, `strike`, and `type`. A packed contract name is **rejected** here |
| WS `createOrder`, `modifyOrder`, `cancelOrder`                                                       | The full contract name in `content.market`, e.g. `BTC-24JUN26-62000-C`                                                                                                                        |
| `emitPublicOrderBook`, `emitPublicCompletedOrders`                                                   | The full contract name in `content.market` — required                                                                                                                                         |
| `emitOptionsPositions`, `emitOptionsOpenOrders`, `emitOptionsRecentOrders`, `emitOptionsSettlements` | The full contract name in `content.market`, or `ALL`; falls back to the connection's filter when omitted                                                                                      |
| `emitOptionsContracts`, `emitOptionsQuotes`                                                          | `underlying` plus `expirationDate` (`2026-06-24`) — these cover a whole expiry, not one contract                                                                                              |
| `emitOptionsAccountSummary`                                                                          | Nothing — the summary is account-wide                                                                                                                                                         |
| REST `/v1/matching/orders`, `/v1/matching/orders/modify`, `/v1/matching/orders/cancel`               | The full contract name in `contract`, e.g. `BTC-24JUN26-62000-C`                                                                                                                              |
| REST `/v1/contracts/markets/{market}/…`                                                              | The market in the path, e.g. `BTC-USDT`                                                                                                                                                       |

<Note>
  An underlying is spelled two ways. The contract filter and the REST contract endpoints take
  the market (`BTC-USDT`); `emitOptionsContracts` and `emitOptionsQuotes` take the bare asset
  symbol (`BTC`) in their `underlying` field.
</Note>

The [Contracts Stream](/latest/options/websocket-api/contracts-stream) and
[Quotes Stream](/latest/options/websocket-api/quotes-stream) are scoped to an underlying and
expiry; the [Order Book Stream](/latest/options/websocket-api/order-book-stream),
[Public Trades Stream](/latest/options/websocket-api/public-trades-stream), and order
placement are scoped to a single contract.

## Expiry Types

Contracts are listed on a recurring schedule and tagged with an expiry type:

| Expiry type | Description                                              |
| ----------- | -------------------------------------------------------- |
| `WEEKLY`    | Short-dated contracts that expire on a weekly cadence.   |
| `MONTHLY`   | Longer-dated contracts that expire on a monthly cadence. |

To enumerate what's currently tradable, subscribe to the
[Contracts Stream](/latest/options/websocket-api/contracts-stream) or list them with the REST
[Get Expirations](/latest/options/rest-api/get-expirations) and
[Get Contracts](/latest/options/rest-api/get-contracts) endpoints.

## Contract Status

| Status    | Meaning                                                   |
| --------- | --------------------------------------------------------- |
| `ACTIVE`  | Open for trading.                                         |
| `EXPIRED` | Past expiry; trading has stopped, awaiting settlement.    |
| `SETTLED` | Settlement complete; realized PnL booked to your balance. |
