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

# Trading Derivatives

> Discover futures, perpetuals, and options, submit orders through REST or FIX 5.0, and monitor your trading activity on Prime.

Prime offers US derivatives through Coinbase Derivatives Exchange (CDE) and global derivatives through Deribit. Available products depend on your eligibility and portfolio.

## US derivatives: Coinbase Derivatives Exchange

CDE offers dated futures and perpetual-style futures. Use the contract metadata and exchange terms to understand expiry and settlement.

| Contract family | Example product ID |
| - | - |
| Dated futures | `BTI-28AUG26-CDE` |
| Perpetual-style futures | `BIP-20DEC30-CDE` |

### Margin modes

| Margin mode | How margin is calculated |
| - | - |
| Derivatives Limit | Margin is calculated on your net CDE positions across all portfolios in your entity. Requirements follow clearinghouse initial margin plus a CFM multiplier. If your requirement exceeds your CFM balance, a margin call is issued and is due the next day. Your Derivatives Limit is underwritten during onboarding and checked on every order submission. |
| Cross Margin (XM) | Eligible CDE futures and eligible spot assets in your Prime trading balance are margined together. Offsetting or correlated exposure, such as long BTC spot and short BTC futures, can lower your total requirement. If your entity has enough equity, USD can be lent automatically to meet clearinghouse margin requirements. |

## Global derivatives: Deribit

Deribit offers dated futures, perpetual futures, and inverse and linear options.

| Contract family | Example product ID |
| - | - |
| Inverse dated futures | `BTC-25DEC26-DRB` |
| Linear dated futures | `BTC_USDC-25DEC26-DRB` |
| Inverse perpetual futures | `BTC-PERPETUAL-DRB` |
| Linear perpetual futures | `BTC_USDC-PERPETUAL-DRB` |
| Inverse options | `BTC-30OCT26-70000-C-DRB` |
| Linear options | `AVAX_USDC-25DEC26-15-P-DRB` |

Examples show the product ID format and may not be currently listed. Use the product ID returned by the [List Portfolio Products](/api-reference/prime-api/rest-api/products/list-portfolio-products) API for creating orders.

### Margin modes

| Margin mode | How margin is calculated |
| - | - |
| Segregated Standard Margin (S:SM), the default | Each position is margined separately. Requirements are added together for each settlement currency. |
| Segregated Portfolio Margin (S:PM) | Positions in the same settlement currency are stress-tested together across price and volatility scenarios. Positions that hedge each other can receive margin offsets. |

In both modes, collateral is segregated by settlement currency. For example, BTC supports BTC-settled contracts and USDC supports USDC-settled contracts. Under S:PM, a portfolio of only long options can still be liquidated.

## Before you trade

Use a portfolio enabled for the derivatives you want to trade and API credentials with the required permissions.

### Supported API surfaces

✓ = supported; — = not supported. Availability depends on the venue and product.

| Function | REST | FIX 5.0 | WebSocket |
| - | :-: | :-: | :-: |
| **Pre-trade** | | | |
| Instrument list / trading session details | ✓ | — | ✓ |
| L1 market data | ✓ | ✓ | — |
| L2 market data | — | ✓ | ✓ |
| **Trade** | | | |
| Create order | ✓ | ✓ | — |
| Edit order | ✓ | ✓ | — |
| Cancel order | ✓ | ✓ | — |
| Order details | ✓ | ✓ | ✓ |
| **Post-trade** | | | |
| Position management | ✓ | — | — |
| Margin management | ✓ | — | — |

Derivatives are only supported on FIX 5.0, not FIX 4.2. Order-entry support does not imply FIX market-data availability for every derivative. [FIX Market Data](/prime/fix-5-0-api/market-data) is in beta, and CDE futures are not yet supported there.

## What differs from spot

| Concept | Spot | Derivatives |
| - | - | - |
| Product selection | Select an asset pair | Product IDs are venue specific: `CDE` for US derivatives and `DRB` for global derivatives. Option products specify a strike and call/put type |
| Quantity | Base-asset or quote sizing, subject to order rules | Interpret `base_size` together with `contract_size`; do not assume one unit always means one contract |
| Price | Price in the pair's quote currency | Price is per contract. Use the product's documented currency; options prices use settlement currency |
| Constraints | Product size and price rules | Contract-specific lot sizes, increments, and any price-dependent tick rules |
| Lifecycle | No contract expiry | Dated futures and options expire; Deribit perpetuals have no fixed expiry. For CDE perpetual-style futures, consult the contract terms. Order TIF does not determine contract expiry |

## Trading workflow

Follow these steps to discover a contract, submit an order, and monitor its status. The workflow uses the same order-entry and update APIs as spot, with derivative-specific product metadata and sizing.

### 1. Select a contract and read its metadata

Call [List Portfolio Products](/api-reference/prime-api/rest-api/products/list-portfolio-products) for your portfolio:

```http theme={null}
GET /v1/portfolios/{portfolio_id}/products?product_type=FUTURE
GET /v1/portfolios/{portfolio_id}/products?product_type=OPTION
```

For perpetual futures, add `contract_expiry_type=CONTRACT_EXPIRY_TYPE_PERPETUAL` to the `FUTURE` query.

Select the returned product ID. Its metadata identifies the venue, expiry, settlement currency, contract size, lot size, and price increments. Options also include strike and call/put type.

* **Contract size:** `contract_size` gives the number of contracts represented by one unit of submitted `base_size`. Contract count = `base_size` × `contract_size`. For example, `base_size` 1 with `contract_size` 10 represents 10 contracts.
* **Order sizing:** Submit size as `base_quantity` on REST and as `OrderQty` on FIX. Follow the product's lot-size and price-increment rules. Quote sizing is not available for derivatives at this time.
* **Price:** Price is per contract. Options use settlement currency: BTC or ETH for inverse options, USDC for linear options.

### 2. Submit an order

The table compares a Buy Limit/GTC order through REST and FIX 5.0, using the illustrative linear-options identifier `XRP_USDC-30OCT26-2d2-P-DRB`. For a live order, use a currently available product from discovery.

| Field | REST | FIX 5.0 |
| - | - | - |
| Operation | `POST /v1/portfolios/{portfolio_id}/order` | `35=D` (NewOrderSingle) |
| Account | Portfolio ID in the request path | `1=<portfolio-id>` |
| Client order ID | `client_order_id`: unique UUID | `11` (ClOrdID): unique client ID |
| Instrument | `product_id: "XRP_USDC-30OCT26-2d2-P-DRB"` | `55=XRP_USDC-30OCT26-2d2-P-DRB` |
| Product type | Identified by product ID | `167=OPT` |
| Side | `side: "BUY"` | `54=1` |
| Order type | `type: "LIMIT"` | `40=2` |
| Quantity | `base_quantity: "1"` | `38` (OrderQty): size in the documented FIX unit |
| Limit price | `limit_price`: valid per-contract price | `44` (Price): valid per-contract price |
| Time in force | `time_in_force: "GOOD_UNTIL_CANCELLED"` | `59=1` |
| Submission time | Handled by the request | `60` (TransactTime): UTC timestamp |

This example is a linear (USDC-settled) XRP put. Set the per-contract limit price in USDC. Quote sizing is unsupported for derivatives in both REST and FIX.

See [REST Create Order](/api-reference/prime-api/rest-api/orders/create-order) and [FIX Order Entry](/prime/fix-5-0-api/order-entry) for complete request and message definitions.

### 3. Monitor the order

Use the existing order-status and fill interfaces. Derivatives do not introduce a separate order-update workflow.

| Surface | Order status and fills |
| - | - |
| REST | [Get Order](/api-reference/prime-api/rest-api/orders/get-order-by-order-id), [List Portfolio Orders](/api-reference/prime-api/rest-api/orders/list-portfolio-orders), and [List Order Fills](/api-reference/prime-api/rest-api/orders/list-order-fills) |
| FIX 5.0 | `ExecutionReport (8)` for updates and fills; `OrderStatusRequest (H)` to query status; `OrderCancelReject (9)` for cancel/replace rejections |
| WebSocket | `orders` channel for portfolio order updates |

For order-book snapshots and updates, use WebSocket `l2_data`. See the [channel reference](/prime/websocket-feed/channels) for subscriptions and recovery. Execution reports describe your orders and fills, not the order book.

## Order compatibility

REST and FIX 5.0 support the same order types, subject to the product restrictions below. ✓ = modifier supported; — = modifier not supported.

| Order type | Time in force | Post-only | Iceberg |
| - | - | :-: | :-: |
| Market | IOC, Day | — | — |
| Limit | GTC, GTD, Day | ✓ | ✓ |
| Limit | IOC, FOK | — | — |
| Stop Limit | GTC, GTD, Day | ✓ | ✓ |
| TWAP (CDE only) | GTC, GTD | — | — |
| Block RFQ (Deribit options only) | N/A | — | — |

## What to read next

* [Order Types](./order-types)
* [Market Data](./market-data)
* [FIX Order Entry](/prime/fix-5-0-api/order-entry)
* [WebSocket channels](/prime/websocket-feed/channels)
