deribit · bybit · okx · binance · derive · thalex · delta_india · delta
Venues at a glance
Coins
Where venues show up
When a metric is “multi-venue blended,” OI from every venue that lists
the coin is summed on normalized instrument names. Bid/ask depth for
IV remains Deribit-primary.
Strike-profile payloads advertise
available_exchanges with the full
chain set (including Thalex / Derive / both Delta IDs) even on thin
books, so UI filters stay stable.
What ?exchanges= actually does
The filter re-aggregates the surface from the per-venue breakdown. It is
not a scaling of the blended number, so ?exchanges=deribit,bybit returns
exactly what those two books contribute, and the parts add back up to the
unfiltered response.
Two quantities behave differently, and the distinction matters when you
compare a filtered result against the total:
- Exposures (GEX, DEX, charm, vega) are
greek x open interest, so they are linear in OI. A venue’s share of the open interest is exactly its share of the exposure, and the per-venue parts sum back to the total. - Implied volatility does not split. IV is a quote, not a quantity. A venue-filtered IV surface or expected move reports that venue’s own mark IV, never a share of the cross-venue blend. Unfiltered, the blend is OI-weighted across the venues quoting that contract. A venue that does not quote a contract is left out of that contract’s IV rather than counted as zero.
A venue returning zero is not the same as a venue being off. Zero
means it lists no contracts on that surface right now; off means the feed is
disabled.
GET /v2/status reports chain and tape per venue as
on / off / unknown so you can tell which you are looking at.Per-venue open interest: by_venue
Open-interest surfaces carry an explicit split so you never have to infer one
from repeated filtered calls:
- Open interest is coin-native on every venue, so the cross-venue sum is
meaningful without conversion.
notional_oi_usdistotal_oi x spotusing the same spot the response reports. - All eight venues are always present, zero-filled, so your parsing never has to handle a missing key.
- Delta India and Delta Global are independent books and are summed, never deduplicated.
by_venue_unattributedisnullwhen the split reconciles with the response totals, which is the normal case. A non-null value means some open interest could not be attributed to a venue, and is shown rather than quietly dropped.
expiry= token returns
whole-expiry venue OI with a by_venue_note saying so, because no finer
per-(strike, expiry) split is published.
Delta Exchange units
Delta lists mini options. The public API always exposes coin size and USD premium already normalized. You do not need to re-applycontract_value on the public fields.
Ingest mapping (for transparency):
size is contracts and upstream price is USD per coin.
Use the API’s amount and premium_usd as-is.
Thalex is USD-settled: premium_usd = price × amount with amount
already coin-equivalent.
Settlement and expiry labels
Public expiry tokens (e.g.
18AUG26) follow the Deribit-session
calendar used across GEX, OPEX countdowns, and TRACE:
- Countdowns and 0DTE / front-expiry selection use the 08:00 UTC cliff.
- After that session roll, remaining Delta inventory for that calendar day is rolled into the next session expiry in the aggregated chain so strike / GEX / OI surfaces stay on one expiry ladder.
- Filter and response tokens stay Deribit-style; you do not get a separate public “India 12:00” expiry id.
