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.
/api/sd/options/chainAnfrage
Query-Parameter
| Name | Typ | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|---|
| coin | string | Erforderlich | — | — | Coin-Symbol, Groß-/Kleinschreibung wird nicht beachtet (zum Beispiel `BTC`). Fehlende oder fehlerhafte Werte liefern 400. Beispiel: BTC |
| exchange | string | Erforderlich | — | deribit, binance, bybit, okx, gate, coincall | Börsenkennung. `all` wird hier nicht akzeptiert: Eine Optionskette gehört zu einer Börse. Beispiel: okx |
| expiry | string | Optional | — | — | UTC-Verfallsdatum im Format `YYYY-MM-DD`. Standard: der nächstgelegene Verfall. `all` wird nicht akzeptiert. |
| kind | string | Optional | — | inverse, linear | Kontraktfamilie, 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. |
| limit | integer | Optional | 100 | ≥ 1 · ≤ 500 | Ausübungspreise pro Seite (eine Zeile = ein Ausübungspreis mit seinem Call und Put). |
| offset | integer | Optional | 0 | ≥ 0 · ≤ 100000 | Anzahl 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.
| Feld | Typ | Einheit | Beschreibung |
|---|---|---|---|
| success | boolean | — | true, wenn die Anfrage erfolgreich war. Im Fehlerfall lautet der Body `{ success: false, code, error, request_id }`. |
| schema | string | — | Schema-ID dieser Antwort. Sie ändert sich nur, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert. |
| now | number | ms | Serverzeit beim Erstellen der Antwort. |
| coin | string | — | Coin-Symbol (Großbuchstaben). |
| exchange | string | — | Börsenkennung (Kleinbuchstaben). |
| expiry | string | — | Verfallsdatum (UTC), `YYYY-MM-DD`, oder `all`. |
| expiry_ts | number | ms | Verfallszeitpunkt. |
| days_left | number | days | Tage bis zum Verfall. |
| kind | string | — | Kontraktfamilie: `inverse` (in Coins abgerechnet) oder `linear` (in Stablecoins abgerechnet). |
| kinds_available | array | — | Kontraktfamilien, die die Börse für diesen Verfall listet. |
| kinds_available[] | string | — | Kontraktfamilien, die die Börse für diesen Verfall listet. |
| expiries_available | array | — | Verfallsdaten, für die es derzeit Kontrakte gibt. |
| expiries_available[] | string | — | Verfallsdaten, für die es derzeit Kontrakte gibt. |
| underlying | string | — | Basiswert der Kontraktfamilie. |
| settle | string | — | Abrechnungswährung der Kontraktfamilie. |
| contract_size | number | coin | Menge des zugrunde liegenden Coins je Kontrakt. |
| underlying_price | number | USD | Von der Börse für diesen Verfall veröffentlichter Forward- / Basiswertpreis. |
| index_price | number | USD | Für die USD-Umrechnung verwendeter Spot-Indexpreis (in Aggregaten der Median der börseneigenen Indexpreise). |
| total_strikes | number | — | Für diesen Verfall verfügbare Ausübungspreise vor der Paginierung. |
| limit | number | — | Angewendetes Zeilenlimit. |
| offset | number | — | Übersprungene Zeilen. |
| returned | number | — | Auf dieser Seite zurückgegebene Ausübungspreise. |
| rows | array | — | Eine Zeile je Ausübungspreis mit seinem Call und Put. |
| rows[] | object | — | Eine Zeile je Ausübungspreis mit seinem Call und Put. |
| rows[].strike | number | USD | Ausübungspreis (Strike). |
| rows[].call | object | — | Call-Kontrakt zu diesem Ausübungspreis; `null`, wenn die Börse keinen listet. |
| rows[].call.instrument | string | — | Kontraktname in der Schreibweise der Börse. |
| rows[].call.oi_contracts | number | contracts | Open Interest in Kontrakten nach Zählweise der Börse. |
| rows[].call.oi_coin | number | coin | Open Interest in Einheiten des zugrunde liegenden Coins. |
| rows[].call.oi_usd | number | USD | Open Interest als USD-Nominalwert: Coin-Menge × Spot-Indexpreis. Einseitig gezählt. |
| rows[].call.vol_contracts_24h | number | contracts | 24h-Volumen in Kontrakten nach Zählweise der Börse. |
| rows[].call.vol_coin_24h | number | coin | In 24h gehandelte Menge in Einheiten des zugrunde liegenden Coins. |
| rows[].call.vol_usd_24h | number | USD | 24h-Nominalvolumen: gehandelte Coin-Menge × aktueller Spot-Indexpreis. Kein Prämienumsatz. |
| rows[].call.vol_premium_usd_24h | number|null | USD | 24h-Prämienumsatz (Optionspreis × Menge), sofern die Börse ihn veröffentlicht; andernfalls `null`. Wird nie zum Nominalvolumen addiert. |
| rows[].call.mark_price | number|null | — | Mark-Preis der Option in ihrer Notierungseinheit (Coin bei in Coins abgerechneten Kontrakten). |
| rows[].call.mark_price_usd | number|null | USD | In USD umgerechneter Mark-Preis der Option. |
| rows[].call.mark_iv | number | % | Implizite Volatilität zum Mark-Preis. |
| rows[].call.bid_iv | number|null | % | Implizite Volatilität zum besten Bid; `null`, wenn die Börse sie nicht veröffentlicht. |
| rows[].call.ask_iv | number|null | % | Implizite Volatilität zum besten Ask; `null`, wenn die Börse sie nicht veröffentlicht. |
| rows[].call.delta | number|null | — | Delta, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht. |
| rows[].call.gamma | number|null | — | Gamma, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht. |
| rows[].call.vega | number|null | — | Vega, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht. |
| rows[].call.theta | number|null | — | Theta, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht. |
| rows[].call.observed_at | number | ms | Von der Quelle für die Daten angegebener Zeitstempel. |
| rows[].put | object | — | Put-Kontrakt zu diesem Ausübungspreis; `null`, wenn die Börse keinen listet. |
| rows[].put.instrument | string | — | Kontraktname in der Schreibweise der Börse. |
| rows[].put.oi_contracts | number | contracts | Open Interest in Kontrakten nach Zählweise der Börse. |
| rows[].put.oi_coin | number | coin | Open Interest in Einheiten des zugrunde liegenden Coins. |
| rows[].put.oi_usd | number | USD | Open Interest als USD-Nominalwert: Coin-Menge × Spot-Indexpreis. Einseitig gezählt. |
| rows[].put.vol_contracts_24h | number | contracts | 24h-Volumen in Kontrakten nach Zählweise der Börse. |
| rows[].put.vol_coin_24h | number | coin | In 24h gehandelte Menge in Einheiten des zugrunde liegenden Coins. |
| rows[].put.vol_usd_24h | number | USD | 24h-Nominalvolumen: gehandelte Coin-Menge × aktueller Spot-Indexpreis. Kein Prämienumsatz. |
| rows[].put.vol_premium_usd_24h | number|null | USD | 24h-Prämienumsatz (Optionspreis × Menge), sofern die Börse ihn veröffentlicht; andernfalls `null`. Wird nie zum Nominalvolumen addiert. |
| rows[].put.mark_price | number | — | Mark-Preis der Option in ihrer Notierungseinheit (Coin bei in Coins abgerechneten Kontrakten). |
| rows[].put.mark_price_usd | number | USD | In USD umgerechneter Mark-Preis der Option. |
| rows[].put.mark_iv | number | % | Implizite Volatilität zum Mark-Preis. |
| rows[].put.bid_iv | number|null | % | Implizite Volatilität zum besten Bid; `null`, wenn die Börse sie nicht veröffentlicht. |
| rows[].put.ask_iv | number|null | % | Implizite Volatilität zum besten Ask; `null`, wenn die Börse sie nicht veröffentlicht. |
| rows[].put.delta | number|null | — | Delta, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht. |
| rows[].put.gamma | number|null | — | Gamma, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht. |
| rows[].put.vega | number|null | — | Vega, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht. |
| rows[].put.theta | number|null | — | Theta, wie von der Börse veröffentlicht; `null`, wenn nicht veröffentlicht. |
| rows[].put.observed_at | number | ms | Von der Quelle für die Daten angegebener Zeitstempel. |
| coverage | object | — | Was in den Zahlen enthalten ist und was nicht. Vergleichen Sie dies, bevor Sie Summen mit einer anderen Quelle vergleichen. |
| coverage.included_exchanges | array | — | Quellen, deren aktuelle Daten einbezogen sind. |
| coverage.included_exchanges[] | string | — | Quellen, deren aktuelle Daten einbezogen sind. |
| coverage.unavailable | array | — | 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_excluded | array | — | 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_gaps | array | — | 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[].exchange | string | — | Börsenkennung (Kleinbuchstaben). |
| coverage.field_gaps[].fields | array | — | Namen der fehlenden Spalten. |
| coverage.field_gaps[].fields[] | string | — | Namen der fehlenden Spalten. |
| coverage.field_gaps[].kind | string | — | Kontraktfamilie: `inverse` (in Coins abgerechnet) oder `linear` (in Stablecoins abgerechnet). |
| method | object | — | Klartextangabe der für diese Antwort verwendeten Formeln, ein Eintrag je Feld. |
| method.chain | string | — | Formelhinweis zu `chain`, Klartext. |
| method.kind | string | — | Formelhinweis zu `kind`, Klartext. |
| method.oi_usd | string | — | Formelhinweis zu `oi_usd`, Klartext. |
| method.mark_price | string | — | Formelhinweis zu `mark_price`, Klartext. |
| method.iv | string | — | Formelhinweis zu `iv`, Klartext. |
| method.greeks | string | — | Formelhinweis zu `greeks`, Klartext. |
| method.vol_usd_24h | string | — | Formelhinweis zu `vol_usd_24h`, Klartext. |
| method.vol_premium_usd_24h | string | — | Formelhinweis zu `vol_premium_usd_24h`, Klartext. |
| meta | object | — | Datenherkunft und Aktualität dieser Antwort. |
| meta.schema | string | — | Schema-ID dieser Antwort. Sie ändert sich nur, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert. |
| meta.source | array | — | Öffentliche Upstream-Endpunkte, von denen die Daten erhoben wurden. |
| meta.source[] | object | — | Öffentliche Upstream-Endpunkte, von denen die Daten erhoben wurden. |
| meta.source[].exchange | string | — | Börsenkennung (Kleinbuchstaben). |
| meta.source[].endpoint | string | — | Öffentlicher Endpunkt der Quelle, den der Collector liest (zur Datenherkunft angegeben; Clients rufen ihn nie auf). |
| meta.observed_at | number | ms | Von der Quelle für die Daten angegebener Zeitstempel. |
| meta.received_at | number | ms | Zeitpunkt, zu dem der CoinBoss-Collector die Daten empfangen hat. |
| meta.fetched_at | number | ms | Zeitpunkt, zu dem diese Antwort zusammengestellt wurde. |
| meta.window | string | — | Zeitfenster, das die Zahlen abdecken. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN oder UNAVAILABLE, beurteilt anhand der Datenzeitstempel und der Abdeckung. |
| meta.is_stale | boolean | — | True, wenn die Daten älter als ihr Aktualitätsfenster sind. |
| meta.cache_ttl_s | number | s | Cache-Lebensdauer dieser Antwort. |
| meta.fallback | string | — | 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"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "field_gaps"
- "stale_included"
- "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"
- "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.
| Parameter | HTTP | Latenz | Ergebnis |
|---|---|---|---|
| coin=ETH&exchange=deribit | 200 | 39 ms | Bestanden STALE |
| coin=BTC&limit=5&exchange=bybit | 200 | 5 ms | Bestanden STALE |
| coin=BTC | 400 | 1 ms | Bestanden 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
Der Endpunkt meldet die Datenqualität STALE
Verfügbarkeit, letzte 30 Tage
100 % von 379 Prüfungen bestanden
- 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 →
| Code | HTTP | Bedeutung | Empfohlene Reaktion |
|---|---|---|---|
| INVALID_PARAM | 400 | Ein erforderlicher Parameter fehlt oder ein Wert wird nicht akzeptiert. `param` nennt den Parameter, sofern er bekannt ist. | Nicht unverändert wiederholen; die Anfrage korrigieren. |
| UNAUTHORIZED | 401 | Der 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. |
| FORBIDDEN | 403 | Die Route gehört nicht zur öffentlichen API (intern oder nur für Konten). | Nicht wiederholen. |
| NOT_FOUND | 404 | Unbekannte Route, oder der angefragte Coin / die Börse / der Fonds existiert nicht. | Nicht wiederholen; Pfad und Kennungen mit dem Katalog abgleichen. |
| RATE_LIMITED | 429 | Mehr Anfragen, als das Limit pro Minute zulässt. `Retry-After` gibt die Wartezeit in Sekunden an. | `Retry-After` abwarten, dann mit Backoff wiederholen. |
| INTERNAL | 500 | Unerwarteter 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_FAILED | 503 | Die 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. |
| UNAVAILABLE | 501 / 503 | Der 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_FAILED | 200 | Einige ä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
/api/sd/options/chainBeeinträchtigtstring — 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.
https://www.coinboss.com/api/sd/options/chain?coin=BTC&exchange=okxMehr in dieser Kategorie
- Optionskette (einzelne Börse) /api/sd/options/chain
- Optionen nach Verfall /api/sd/options/expiries
- Optionshistorie (stündlich) /api/sd/options/history
- Optionsübersicht (alle Börsen) /api/sd/options/overview
- Optionen nach Ausübungspreis (Strike) /api/sd/options/strikes
- Optionszusammenfassung der Coin-Seite /api/currency/options-summary
- Smile / Terminstruktur der impliziten Volatilität von Optionen /api/options/iv
- Historie der impliziten Volatilität von Optionen /api/options/iv-history
- Max Pain der Optionen /api/options/max-pain
- Options-OI nach Verfall /api/options/oi-by-expiry
- Options-OI nach Strike /api/options/oi-by-strike
- Optionsübersicht /api/options/overview
- Verteilung des Optionsvolumens /api/options/volume-dist