> For the complete documentation index, see [llms.txt](https://docs.koinju.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.koinju.io/exchanges/deribit-option.md).

# Deribit Options historical trade data

Deribit Options historical trade data since 2016-11-29, available through SQL or REST in one unified schema and checked every day against Deribit's own data.

Koinju provides Deribit Options trades and OHLCV candles for all markets since **2016-11-29**, under the exchange ID `deribit-option`. This page explains what that gives you compared with Deribit's own API, how we collect the data, and how we verify that no trades are missed.

{% hint style="info" %}
How far back you can query depends on your plan: see [Pricing](/pricing.md). Every exchange and its start date is listed on [Coverage](/data/coverage.md).
{% endhint %}

## Why use Koinju for Deribit data

* **Full history in one place.** Deribit's real-time feed only delivers trades from the moment you subscribe, and its REST API returns past trades up to 1,000 per request ([Deribit docs](https://docs.deribit.com/articles/market-data-collection-best-practices#backfilling-historical-data)). Koinju provides it as one continuous history since 2016-11-29, aligned to UTC days and queryable for any period through SQL or REST.
* **One schema across exchanges.** Unified symbols and columns across every exchange we cover, Deribit included, so the same query works on all of them.
* **Checked against Deribit's own data.** Every day, each market's volume is compared with Deribit's own candles and any missing trades are added.
* **Faithful to Deribit.** Deribit's own trade IDs and trade times.

## At a glance

| Property              | Value                                                                       |
| --------------------- | --------------------------------------------------------------------------- |
| Exchange ID           | `deribit-option`                                                            |
| Historical data since | 2016-11-29                                                                  |
| Data types            | Public trades, OHLCV                                                        |
| Collected from        | Deribit's real-time WebSocket, trades channel (`trades.<instrument>.100ms`) |
| Volume check          | Every day, against Deribit's 2-hour candles, summed per UTC day             |

## How we collect Deribit trades

* **Deribit's trades channel.** We subscribe to Deribit's [trades channel](https://docs.deribit.com/subscriptions/trades/tradesinstrument_nameinterval) (`trades.<instrument>.100ms`) for every options market Deribit lists as active. Deribit sends trade notifications every 100 milliseconds, and each trade is stored as its own row with Deribit's own trade ID.
* **New listings picked up automatically.** The market list is refreshed every minute, and new markets are subscribed without a restart.
* **Active redundancy.** Every market is collected twice, by two collectors running in parallel. If one connection drops, it reconnects and resubscribes automatically while the other keeps collecting trades. Both copies of a trade share one key (exchange, market and trade ID), so the second copy is dropped before storage, and anything missed is recovered by the checks below.
* **Deribit's timestamps.** A trade's `timestamp` is the trade time reported by Deribit, not the time we received it.

## From Deribit's message to your data

Each trade Deribit publishes is stored as one row, with Deribit's fields mapped to the same columns used for every exchange:

| Deribit field     | Koinju column | Notes                                                               |
| ----------------- | ------------- | ------------------------------------------------------------------- |
| `instrument_name` | `market`      | Koinju's universal symbol, for example `BTC-BTC-2026-10-16-78000-P` |
| `trade_id`        | `trade_id`    | Deribit's own trade ID                                              |
| `price`           | `price`       | Deribit's trade price                                               |
| `amount`          | `quantity`    | In the base currency, as Deribit publishes it                       |
| `direction`       | `side`        | `buy` or `sell`: the taker's direction, as Deribit publishes it     |
| `timestamp`       | `timestamp`   | Deribit's trade time, in milliseconds                               |

## How we verify that no Deribit trades are missed

### Volume check against Deribit's own candles

The reference is Deribit's own 2-hour candles: the twelve candles of each UTC day are summed. A candle is only final once its period has closed, so each day is checked the morning after, against Deribit's final figures for that day. The daily rhythm follows the reference data rather than an arbitrary time window.

1. **Compare.** Each market's volume for the UTC day is compared with the sum of Deribit's twelve 2-hour candles. Markets where our volume is lower than Deribit's go to step 2.
2. **Add.** For those markets, the comparison is repeated hour by hour. The trades of the hours that differ are fetched from Deribit's REST API, and only trades we do not already hold are added.
3. **Re-check.** The whole comparison runs again on the updated data, and any difference that remains is flagged for review.

A day is marked as checked only after all three steps complete. If any step fails, the day stays open and is retried on the next run.

## Deribit-specific details

* **Twelve 2-hour candles per day.** Deribit's 2-hour candles (`resolution=120`) start on even UTC hours, so twelve of them cover exactly the UTC day of our daily total.
* **The exact figure compared.** Deribit counts both candle `volume` and an option trade's `amount` in the base currency, so the volume check compares the summed candles directly with the sum of the trade quantities we hold for that day.

## Access Deribit data

* [Public trades](/data/public-trades.md): every trade, through SQL (`api.trade`) or REST, with `exchange = 'deribit-option'`.
* [OHLCV](/data/ohlcv.md): candles for every market.
* [Market list](/data/market-list.md): all `deribit-option` markets and their symbols.
* [How to connect](/how-to-connect.md): SQL, REST and client setup.

## FAQ

**Which timestamp does Koinju store?**

The trade time reported by Deribit.

**Which Deribit Options markets are included?**

Every options market Deribit lists as active. The market list is refreshed every minute, so a new listing is subscribed within a minute of appearing in Deribit's market list.
