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

> ## Agent Instructions
> API requests use the base URL https://api.unusualwhales.com and require a bearer token in the `Authorization` header (`Authorization: Bearer <API_KEY>`). Create and manage API tokens at https://unusualwhales.com/dashboard/api.
> For live market data inside an AI tool, use the Unusual Whales MCP server at https://unusualwhales.com/public-api/mcp.
> Instructions for agents using Unusual Whales tools: https://unusualwhales.com/skill.md

# Risk reversal skew

> Receive live 25- and 10-delta risk reversal skew (put IV minus call IV) per expiry for every ticker at once.

**NOTE:**
This is the documentation for the websocket channel `risk_reversal_skew`.
Websocket access for personal use is only available through the [Advanced plan](https://unusualwhales.com/pricing?product=api).

You can find fully-functional examples that stream data from many channels here:

* Python: [https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output](https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output)
* Javascript: [https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output-nodejs](https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output-nodejs)

Connect to the websocket URI:

`wss://api.unusualwhales.com/socket?token=<YOUR_API_TOKEN>`

then `join` the `risk_reversal_skew` channel.

Each message carries the risk reversal skew — the put implied volatility minus the call
implied volatility — at one delta bucket for one expiry of one ticker. A positive value
means puts are more expensive than calls, the usual state for equity index options.

### Delivery characteristics

Read these before writing a client, they are not obvious from the payload:

* **Updates arrive in a batch at most every \~30 seconds**, not continuously.
* **The channel is only live between 04:00 and 16:00 ET.** Outside that window nothing
  is published at all and the socket is silent. This is expected, not a fault.
* **One message per (ticker, expiry, delta) pair.** Because this is a global channel
  covering the whole option universe and each ticker has many expiries, every batch is a
  large burst of messages. Your client must read from the socket promptly: a slow
  consumer is not disconnected, but frames it fails to keep up with are dropped.
* Only two delta buckets are published: `25` and `10`.

This is the live counterpart of the [`/stock/:ticker/historical-risk-reversal-skew`](https://api.unusualwhales.com/docs/operations/PublicApi.TickerController.historical_risk_reversal_skew)
endpoint, which returns the identical value under the same `risk_reversal` name. Note only
that the REST endpoint renders it as a decimal string, while this channel sends a JSON number.

Payload format:

```
[
  "risk_reversal_skew",
  {
    "ticker": "AAPL",
    "date": "2026-08-20",
    "expiry": "2026-09-18",
    "delta": 25,
    "risk_reversal": 0.0142
  }
]
```

### Field reference

| Field | Type | Description |
| - | - | - |
| `ticker` | string | Ticker of the underlying. |
| `date` | string | The trading date in `YYYY-MM-DD` format. |
| `expiry` | string | The option expiry this entry belongs to, in `YYYY-MM-DD` format. |
| `delta` | integer | The delta bucket as a whole number out of 100: `25` means the 0.25 delta, `10` means the 0.10 delta. |
| `risk_reversal` | number | Put implied volatility minus call implied volatility at that delta. Positive means puts are more expensive than calls. |
