/api/sd/options/chain
GETBeeinträchtigtSTALE

Optionskette (einzelne Börse)

Call und Put nebeneinander für jeden Ausübungspreis (Strike) eines Verfalls an einer Börse: Open Interest, Volumen, Mark-Preis, Mark- / Bid- / Ask-IV und Greeks, wie von der Börse veröffentlicht.

GET/api/sd/options/chain
Beeinträchtigt. Der Endpunkt meldet die Datenqualität STALE

Anfrage

Query-Parameter

NameTypErforderlichStandardZulässige WerteBeschreibung
coinstringErforderlich——Coin-Symbol, Groß-/Kleinschreibung wird nicht beachtet (zum Beispiel `BTC`). Fehlende oder fehlerhafte Werte liefern 400. Beispiel: BTC
exchangestringErforderlich—deribit, binance, bybit, okx, gate, coincallBörsenkennung. `all` wird hier nicht akzeptiert: Eine Optionskette gehört zu einer Börse. Beispiel: okx
expirystringOptional——UTC-Verfallsdatum im Format `YYYY-MM-DD`. Standard: der nächstgelegene Verfall. `all` wird nicht akzeptiert.
kindstringOptional—inverse, linearKontraktfamilie, wenn die Börse sowohl in Coins abgerechnete (`inverse`) als auch in Stablecoins abgerechnete (`linear`) Optionen listet. Standard: die Familie mit dem größeren Open Interest für diesen Verfall.
limitintegerOptional100≥ 1 · ≤ 500Ausübungspreise pro Seite (eine Zeile = ein Ausübungspreis mit seinem Call und Put).
offsetintegerOptional0≥ 0 · ≤ 100000Anzahl der zu überspringenden Ausübungspreise.

Beispielanfrage

curl -s "https://www.coinboss.com/api/sd/options/chain?coin=BTC&exchange=okx"

Antwortfelder

Die Feldtabelle wird aus echten Antworten erzeugt und führt daher genau das auf, was der Endpunkt zurückgibt. In Pfaden steht a[] für Array-Elemente und {*} für Objekte, deren Schlüssel ein dynamischer Name ist, etwa ein Coin oder eine Börse.

FeldTypEinheitBeschreibung
successboolean—true, wenn die Anfrage erfolgreich war. Im Fehlerfall lautet der Body `{ success: false, code, error, request_id }`.
schemastring—Schema-ID dieser Antwort. Sie ändert sich nur, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert.
nownumbermsServerzeit beim Erstellen der Antwort.
coinstring—Coin-Symbol (Großbuchstaben).
exchangestring—Börsenkennung (Kleinbuchstaben).
expirystring—Verfallsdatum (UTC), `YYYY-MM-DD`, oder `all`.
expiry_tsnumbermsVerfallszeitpunkt.
days_leftnumberdaysTage bis zum Verfall.
kindstring—Kontraktfamilie: `inverse` (in Coins abgerechnet) oder `linear` (in Stablecoins abgerechnet).
kinds_availablearray—Kontraktfamilien, die die Börse für diesen Verfall listet.
kinds_available[]string—Kontraktfamilien, die die Börse für diesen Verfall listet.
expiries_availablearray—Verfallsdaten, für die es derzeit Kontrakte gibt.
expiries_available[]string—Verfallsdaten, für die es derzeit Kontrakte gibt.
underlyingstring—Basiswert der Kontraktfamilie.
settlestring—Abrechnungswährung der Kontraktfamilie.
contract_sizenumbercoinMenge des zugrunde liegenden Coins je Kontrakt.
underlying_pricenumberUSDVon der Börse für diesen Verfall veröffentlichter Forward- / Basiswertpreis.
index_pricenumberUSDFür die USD-Umrechnung verwendeter Spot-Indexpreis (in Aggregaten der Median der börseneigenen Indexpreise).
total_strikesnumber—Für diesen Verfall verfügbare Ausübungspreise vor der Paginierung.
limitnumber—Angewendetes Zeilenlimit.
offsetnumber—Übersprungene Zeilen.
returnednumber—Auf dieser Seite zurückgegebene Ausübungspreise.
rowsarray—Eine Zeile je Ausübungspreis mit seinem Call und Put.
rows[]object—Eine Zeile je Ausübungspreis mit seinem Call und Put.
rows[].strikenumberUSDAusübungspreis (Strike).
rows[].callobject—Call-Kontrakt zu diesem Ausübungspreis; `null`, wenn die Börse keinen listet.
rows[].call.instrumentstring—Kontraktname in der Schreibweise der Börse.
rows[].call.oi_contractsnumbercontractsOpen Interest in Kontrakten nach Zählweise der Börse.
rows[].call.oi_coinnumbercoinOpen Interest in Einheiten des zugrunde liegenden Coins.
rows[].call.oi_usdnumberUSDOpen Interest als USD-Nominalwert: Coin-Menge × Spot-Indexpreis. Einseitig gezählt.
rows[].call.vol_contracts_24hnumbercontracts24h-Volumen in Kontrakten nach Zählweise der Börse.
rows[].call.vol_coin_24hnumbercoinIn 24h gehandelte Menge in Einheiten des zugrunde liegenden Coins.
rows[].call.vol_usd_24hnumberUSD24h-Nominalvolumen: gehandelte Coin-Menge × aktueller Spot-Indexpreis. Kein Prämienumsatz.
rows[].call.vol_premium_usd_24hnumber|nullUSD24h-Prämienumsatz (Optionspreis × Menge), sofern die Börse ihn veröffentlicht; andernfalls `null`. Wird nie zum Nominalvolumen addiert.
rows[].call.mark_pricenumber|null—Mark-Preis der Option in ihrer Notierungseinheit (Coin bei in Coins abgerechneten Kontrakten).
rows[].call.mark_price_usdnumber|nullUSDIn USD umgerechneter Mark-Preis der Option.
rows[].call.mark_ivnumber%Implizite Volatilität zum Mark-Preis.
rows[].call.bid_ivnumber|null%Implizite Volatilität zum besten Bid; `null`, wenn die Börse sie nicht veröffentlicht.
rows[].call.ask_ivnumber|null%Implizite Volatilität zum besten Ask; `null`, wenn die Börse sie nicht veröffentlicht.
rows[].call.deltanumber|null—Delta, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht.
rows[].call.gammanumber|null—Gamma, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht.
rows[].call.veganumber|null—Vega, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht.
rows[].call.thetanumber|null—Theta, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht.
rows[].call.observed_atnumbermsVon der Quelle für die Daten angegebener Zeitstempel.
rows[].putobject—Put-Kontrakt zu diesem Ausübungspreis; `null`, wenn die Börse keinen listet.
rows[].put.instrumentstring—Kontraktname in der Schreibweise der Börse.
rows[].put.oi_contractsnumbercontractsOpen Interest in Kontrakten nach Zählweise der Börse.
rows[].put.oi_coinnumbercoinOpen Interest in Einheiten des zugrunde liegenden Coins.
rows[].put.oi_usdnumberUSDOpen Interest als USD-Nominalwert: Coin-Menge × Spot-Indexpreis. Einseitig gezählt.
rows[].put.vol_contracts_24hnumbercontracts24h-Volumen in Kontrakten nach Zählweise der Börse.
rows[].put.vol_coin_24hnumbercoinIn 24h gehandelte Menge in Einheiten des zugrunde liegenden Coins.
rows[].put.vol_usd_24hnumberUSD24h-Nominalvolumen: gehandelte Coin-Menge × aktueller Spot-Indexpreis. Kein Prämienumsatz.
rows[].put.vol_premium_usd_24hnumber|nullUSD24h-Prämienumsatz (Optionspreis × Menge), sofern die Börse ihn veröffentlicht; andernfalls `null`. Wird nie zum Nominalvolumen addiert.
rows[].put.mark_pricenumber—Mark-Preis der Option in ihrer Notierungseinheit (Coin bei in Coins abgerechneten Kontrakten).
rows[].put.mark_price_usdnumberUSDIn USD umgerechneter Mark-Preis der Option.
rows[].put.mark_ivnumber%Implizite Volatilität zum Mark-Preis.
rows[].put.bid_ivnumber|null%Implizite Volatilität zum besten Bid; `null`, wenn die Börse sie nicht veröffentlicht.
rows[].put.ask_ivnumber|null%Implizite Volatilität zum besten Ask; `null`, wenn die Börse sie nicht veröffentlicht.
rows[].put.deltanumber|null—Delta, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht.
rows[].put.gammanumber|null—Gamma, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht.
rows[].put.veganumber|null—Vega, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht.
rows[].put.thetanumber|null—Theta, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht.
rows[].put.observed_atnumbermsVon der Quelle für die Daten angegebener Zeitstempel.
coverageobject—Was in den Zahlen enthalten ist und was nicht. Vergleichen Sie dies, bevor Sie Summen mit einer anderen Quelle vergleichen.
coverage.included_exchangesarray—Quellen, deren aktuelle Daten einbezogen sind.
coverage.included_exchanges[]string—Quellen, deren aktuelle Daten einbezogen sind.
coverage.unavailablearray—Quellen, die nicht einbezogen werden konnten, jeweils mit Begründung. Sie werden nie als 0 gezählt. leer in den Stichproben, aus denen diese Tabelle erzeugt wurde
coverage.stale_excludedarray—Zeilen, die unberücksichtigt bleiben, weil ihre letzte Aktualisierung außerhalb des Aktualitätsfensters liegt. leer in den Stichproben, aus denen diese Tabelle erzeugt wurde
coverage.field_gapsarray—Spalten, die eine Börse nicht veröffentlicht; sie sind für diese Börse `null`.
coverage.field_gaps[]object—Spalten, die eine Börse nicht veröffentlicht; sie sind für diese Börse `null`.
coverage.field_gaps[].exchangestring—Börsenkennung (Kleinbuchstaben).
coverage.field_gaps[].fieldsarray—Namen der fehlenden Spalten.
coverage.field_gaps[].fields[]string—Namen der fehlenden Spalten.
coverage.field_gaps[].kindstring—Kontraktfamilie: `inverse` (in Coins abgerechnet) oder `linear` (in Stablecoins abgerechnet).
methodobject—Klartextangabe der für diese Antwort verwendeten Formeln, ein Eintrag je Feld.
method.chainstring—Formelhinweis zu `chain`, Klartext.
method.kindstring—Formelhinweis zu `kind`, Klartext.
method.oi_usdstring—Formelhinweis zu `oi_usd`, Klartext.
method.mark_pricestring—Formelhinweis zu `mark_price`, Klartext.
method.ivstring—Formelhinweis zu `iv`, Klartext.
method.greeksstring—Formelhinweis zu `greeks`, Klartext.
method.vol_usd_24hstring—Formelhinweis zu `vol_usd_24h`, Klartext.
method.vol_premium_usd_24hstring—Formelhinweis zu `vol_premium_usd_24h`, Klartext.
metaobject—Datenherkunft und Aktualität dieser Antwort.
meta.schemastring—Schema-ID dieser Antwort. Sie ändert sich nur, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert.
meta.sourcearray—Öffentliche Upstream-Endpunkte, von denen die Daten erhoben wurden.
meta.source[]object—Öffentliche Upstream-Endpunkte, von denen die Daten erhoben wurden.
meta.source[].exchangestring—Börsenkennung (Kleinbuchstaben).
meta.source[].endpointstring—Öffentlicher Endpunkt der Quelle, den der Collector liest (zur Datenherkunft angegeben; Clients rufen ihn nie auf).
meta.observed_atnumbermsVon der Quelle für die Daten angegebener Zeitstempel.
meta.received_atnumbermsZeitpunkt, zu dem der CoinBoss-Collector die Daten empfangen hat.
meta.fetched_atnumbermsZeitpunkt, zu dem diese Antwort zusammengestellt wurde.
meta.windowstring—Zeitfenster, das die Zahlen abdecken.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN oder UNAVAILABLE, beurteilt anhand der Datenzeitstempel und der Abdeckung.
meta.is_staleboolean—True, wenn die Daten älter als ihr Aktualitätsfenster sind.
meta.cache_ttl_snumbersCache-Lebensdauer dieser Antwort.
meta.fallbackstring—Was der Endpunkt zurückgibt, wenn der Collector oder eine Quelle ausfällt.

Erzeugt 2026-11-11 23:00 UTC aus 3 echten Antworten.

Beispielantwort

/api/sd/options/chain?coin=BTC&exchange=okx · Echte Antwort, erfasst 2026-11-13 01:37:53 UTC. Lange Arrays und Maps sind für die Anzeige gekürzt: rows hatte 45 Elemente; expiries_available hatte 12 Elemente.

  • {
    • "success": true,
    • "schema": "coinboss.sd.options/1",
    • "now": 1794533873446,
    • "coin": "BTC",
    • "exchange": "okx",
    • "expiry": "2026-11-13",
    • "expiry_ts": 1794556800000,
    • "days_left": 0.2654,
    • "kind": "inverse",
    • "kinds_available": [
      • "inverse",
      • "linear"
      ],
    • "expiries_available": [
      • "2026-11-13",
      • "2026-11-14",
      • "2026-11-15",
      • "2026-11-16",
      • "2026-11-20",
      • "2026-11-27",
      • "2026-12-04",
      • "2026-12-25"
      ],
    • "underlying": "BTC-USD",
    • "settle": "BTC",
    • "contract_size": 0.01,
    • "underlying_price": 71428.8359576,
    • "index_price": 71417.4,
    • "total_strikes": 45,
    • "limit": 100,
    • "offset": 0,
    • "returned": 45,
    • "rows": [
      • { … 3 },
      • { … 3 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 1 ],
      • "unavailable": [],
      • "stale_excluded": [],
      • "field_gaps": [ … 1 ],
      • "stale_included": [ … 1 ]
      },
    • "method": {
      • "chain": "T-quote for one exchange, one expiry and one contract family: one row per strike (ascending) with the call and put legs; paginated by strike with limit (default…",
      • "kind": "inverse = coin-settled (Deribit BTC/ETH, OKX *-USD); linear = USD/USDT/USDC-settled. When an exchange lists both families for the expiry and kind is omitted, th…",
      • "oi_usd": "sum over contracts of oi_coin x that exchange's spot index price (USDT/USDC treated 1:1 as USD); oi_coin is open interest in units of the underlying coin after …",
      • "mark_price": "exchange-native quote: Deribit/OKX inverse in underlying coin per 1 coin; Binance in USDT per contract (contract_size coins); others in USD per 1 coin. mark_pri…",
      • "iv": "mark_iv / bid_iv / ask_iv in percent as published by the exchange (no-quote sentinels such as 0 or -1 are null)",
      • "greeks": "delta/gamma/vega/theta exactly as published by the exchange (OKX: Black-Scholes greeks in USD terms); never computed by CoinBoss; null where the exchange does n…",
      • "vol_usd_24h": "NOTIONAL 24h volume = sum of vol_coin (24h traded quantity in underlying coin) x the exchange's CURRENT spot index price; not premium turnover. Binance statisti…",
      • "vol_premium_usd_24h": "PREMIUM turnover (option price x quantity) as reported by the exchange: Deribit volume_usd, Binance amount, Gate sum(|size| x multiplier x price) from the 24h t…"
      },
    • "meta": {
      • "schema": "coinboss.sd.options/1",
      • "source": [ … 1 ],
      • "observed_at": 1794522472654,
      • "received_at": 1794522473638,
      • "fetched_at": 1794533873446,
      • "window": "latest",
      • "quality": "STALE",
      • "is_stale": true,
      • "cache_ttl_s": 60,
      • "fallback": "on collector failure the last stored rows are served: an exchange whose newest batch is older than 25 min (collector cycle is 10 min) is excluded from totals (l…"
      }
    }

Geprüfte Stichproben

Neben dem obigen Beispiel ruft die Prüfsonde diesen Endpunkt mit den folgenden Parametern auf und prüft jedes Mal das Schema.

ParameterHTTPLatenzErgebnis
coin=ETH&exchange=deribit20039 msBestanden STALE
coin=BTC&limit=5&exchange=bybit2005 msBestanden STALE
coin=BTC4001 msBestanden liefert den erwarteten Fehler

Geprüft 2026-11-13 01:28:16 UTC

Details

Authentifizierung
Keine. Öffentlicher Endpunkt.
Rate-Limit
1200 Anfragen pro Minute und IP
Server-Cache
60s
Edge-Micro-Cache
10s
Aktualisierungsintervall
Collector-Durchlauf alle 10 Minuten; eine Börse gilt nach ihrem letzten erfolgreichen Durchlauf 25 Minuten lang als aktuell.
Zeitfenster
Letzter Snapshot eines Verfalls.
Datenquellen
Öffentliche REST-Optionsendpunkte von Deribit, Binance, Bybit, OKX, Gate und Coincall, von CoinBoss erhoben und gespeichert (sd_opt_latest, sd_opt_summary_hourly). Es ist kein Drittanbieter-Aggregator beteiligt.
Börsenabdeckung
Sechs Optionsbörsen. Ein Coin, für den an den ausgewählten Börsen keine Optionen gelistet sind, liefert HTTP 200 mit null-Feldern, `meta.quality = "UNAVAILABLE"` und der Begründung unter `coverage.unavailable`. Börsen ohne öffentlichen Options-Feed sind dort ebenfalls aufgeführt.
Paginierung
Offset-basiert: `limit` (max. 500) und `offset`; `total_strikes` und `returned` stehen in der Antwort.
Sortierung
Ausübungspreis aufsteigend.
Einheiten
USD notional = contracts × contract size × spot index price of the venue. `*_coin` fields are in units of the underlying coin. Implied volatility is in percent (55 = 55 %). `vol_premium_usd_24h` is premium turnover, reported separately and never added to notional volume.
Methode
Greeks and IV are passed through from the venue, not recomputed. A venue that does not publish a column returns `null` for it and the column is listed under `coverage.field_gaps`.
Zeitstempel
Unix-Epoche in Millisekunden (UTC), sofern die Feldbeschreibung nichts anderes angibt
Antwortformat
json
Stabilität
Stabil
Verfügbar seit
2026-11-11

Live-Status

BeeinträchtigtGeprüft 2026-11-13 01:37:53 UTCHTTP 20050 msSchema stimmt übereinNeuester Datenpunkt 3.2h alt

Der Endpunkt meldet die Datenqualität STALE

Verfügbarkeit, letzte 30 Tage

100 % von 379 Prüfungen bestanden

Bei der letzten Prüfung erkannte Schemaabweichung
  • Zurückgegeben, aber nicht dokumentiert: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s

Fehler

Fehlgeschlagene Aufrufe haben auf jedem Endpunkt denselben Aufbau. Die vollständige Liste steht auf der Fehlerseite. Fehler und Rate-Limits →

CodeHTTPBedeutungEmpfohlene Reaktion
INVALID_PARAM400Ein erforderlicher Parameter fehlt oder ein Wert wird nicht akzeptiert. `param` nennt den Parameter, sofern er bekannt ist.Nicht unverändert wiederholen; die Anfrage korrigieren.
UNAUTHORIZED401Der Header `CB-API-KEY` wurde gesendet, der Schlüssel ist jedoch unbekannt oder widerrufen. Öffentliche Daten erfordern keinen Schlüssel – lassen Sie den Header weg oder verwenden Sie einen gültigen Schlüssel.Nicht unverändert wiederholen.
FORBIDDEN403Die Route gehört nicht zur öffentlichen API (intern oder nur für Konten).Nicht wiederholen.
NOT_FOUND404Unbekannte Route, oder der angefragte Coin / die Börse / der Fonds existiert nicht.Nicht wiederholen; Pfad und Kennungen mit dem Katalog abgleichen.
RATE_LIMITED429Mehr Anfragen, als das Limit pro Minute zulässt. `Retry-After` gibt die Wartezeit in Sekunden an.`Retry-After` abwarten, dann mit Backoff wiederholen.
INTERNAL500Unerwarteter Serverfehler. Die Meldung ist bewusst allgemein gehalten; geben Sie `request_id` an, wenn Sie den Fehler melden.Einmal nach einigen Sekunden wiederholen; wenn der Fehler bestehen bleibt, mit der Request-ID melden.
UPSTREAM_FAILED503Die Datenquelle hinter diesem Endpunkt hat nicht rechtzeitig geantwortet. Es werden ersatzweise keine veralteten oder stellvertretenden Zahlen zurückgegeben.Mit Backoff wiederholen; die Statusseite prüfen.
UNAVAILABLE501 / 503Der Datensatz ist vorübergehend nicht bereit (Cache wird aufgewärmt), oder der Endpunkt hat noch keine rechtmäßige öffentliche Quelle.Später wiederholen; der Katalog kennzeichnet Endpunkte, die konzeptbedingt nicht verfügbar sind.
REQUEST_FAILED200Einige ältere Endpunkte antworten mit HTTP 200 und `success: false`. Prüfen Sie immer `success`, nicht nur den HTTP-Status.Hängt von der Meldung ab; als fehlgeschlagene Anfrage behandeln.

Ausprobieren

GET/api/sd/options/chainBeeinträchtigt
Parameter

string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.

string — Venue id. `all` is not accepted here: a chain belongs to one venue.

string — UTC expiry date as `YYYY-MM-DD`. Default: the nearest expiry. `all` is not accepted.

string — Contract family when the venue lists both coin-settled (`inverse`) and stablecoin-settled (`linear`) options. Default: the family with the larger open interest for that expiry.

integer · Standard 100 · min. 1 · max. 500 — Strikes per page (one row = one strike with its call and put).

integer · Standard 0 · min. 0 · max. 100000 — Number of strikes to skip.

Anfrage-URLhttps://www.coinboss.com/api/sd/options/chain?coin=BTC&exchange=okx
Wählen Sie einen Endpunkt und klicken Sie auf „Anfrage senden“. Antwort, Header und Laufzeit erscheinen hier.