/api/sd/oi
GETVerfügbar

Open Interest für einen Coin

Eigene Datenschicht: Open Interest für einen Coin (je Börse / Kontrakt, mit Qualitäts-Flags)

GET/api/sd/oi

Anfrage

Query-Parameter

NameTypErforderlichStandardZulässige WerteBeschreibung
coinstringErforderlich——Coin-Symbol; 400, wenn es fehlt. Alias: `base`. Beispiel: BTC

Beispielanfrage

curl -s "https://www.coinboss.com/api/sd/oi?coin=BTC"

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 }`.
coinstring—Coin-Symbol in Großbuchstaben (zum Beispiel BTC).
nownumbermsServerzeit beim Erstellen der Antwort.
total_usdnumberUSDOpen Interest über alle einbezogenen Börsen und Kontrakte, so wie jede Börse es meldet (Nominalwert in USD).
n_exchangesnumber—Anzahl der Börsen in der Gesamtsumme.
n_contractsnumber—Anzahl der Kontrakte in der Gesamtsumme.
asofnumbermsJüngster Aktualisierungszeitpunkt unter den einbezogenen Zeilen.
total_usd_single_adjustednumberUSD`total_usd`, wobei die Werte der Börsen, die beide Seiten melden (`double_sided.exchanges`), halbiert sind, sodass jede Börse mit einer Seite zählt.
double_sidedobject—Börsen, die bekanntermaßen Long- und Short-Open-Interest als eine Zahl veröffentlichen.
double_sided.exchangesarray—Börsen.
double_sided.exchanges[]string—Börsen.
double_sided.oi_usdnumberUSDGemeldetes Open Interest dieser Börsen vor der Halbierung.
by_kindobject—Aufteilung nach linear / invers.
by_kind.linear_usdnumberUSDOpen Interest linearer Kontrakte (Margin und Abrechnung in einem Stablecoin oder USD).
by_kind.inverse_usdnumberUSDOpen Interest inverser (coin-marginierter) Kontrakte, zum Kontraktpreis in USD umgerechnet.
by_marginobject—Aufteilung nach Margin-Währung.
by_margin.othernumberUSDSonstige Margin-Währungen (zum Beispiel in USD abgerechnete Börsen wie die CME).
by_margin.usdtnumberUSDUSDT-marginierte Kontrakte.
by_margin.usdcnumberUSDUSDC-marginierte Kontrakte. kann fehlen
by_margin.coinnumberUSDCoin-marginierte Kontrakte. kann fehlen
by_contract_typeobject—Aufteilung nach Perpetual-Kontrakt / Terminkontrakt mit Fälligkeit.
by_contract_type.perpetual_usdnumberUSDPerpetual-Kontrakte.
by_contract_type.delivery_usdnumberUSDFutures mit festem Verfall (Terminkontrakte mit Fälligkeit).
changeobject—Veränderung des Open Interest über 1h / 4h / 24h, an beiden Enden über dieselbe Menge von Kontrakten berechnet. dynamische Schlüssel: h1,h4,h24
change.{*}object—Veränderung über den angegebenen Zeitraum.
change.{*}.pctnumber%Prozentuale Veränderung zwischen `prev` und `cur`.
change.{*}.curnumberUSDAktuelle Summe über die abgeglichenen Kontrakte.
change.{*}.prevnumberUSDSumme über dieselben Kontrakte zum Zeitpunkt `prev_ts`.
change.{*}.n_matchednumber—Kontrakte (oder Börsen), die an beiden Enden vorhanden sind.
change.{*}.n_totalnumber—Kontrakte (oder Börsen), die aktuell vorhanden sind.
change.{*}.matched_share_pctnumber%Anteil des aktuellen Open Interest, den die abgeglichene Menge abdeckt. kann fehlen
change.{*}.prev_tsnumbermsZeitpunkt des Snapshots der Vergleichsbasis.
change.{*}.span_minnumberminTatsächlicher Abstand zwischen Vergleichsbasis und jetzt.
change.{*}.basisstring—Gibt an, aus welcher Snapshot-Reihe die Vergleichsbasis stammt.
change.{*}.frozen_excludedobject—Zeilen, die aus der Veränderung herausgenommen wurden, weil sich ihr Wert zwischen den beiden Snapshots nicht verändert hat (Quelle aktualisiert nicht). kann fehlen
change.{*}.frozen_excluded.n_baselinenumber—Elemente im Snapshot der Vergleichsbasis. kann fehlen
change.{*}.frozen_excluded.n_currentnumber—Elemente im aktuellen Snapshot. kann fehlen
change.{*}.frozen_excluded.cur_usdnumberUSDAktueller Wert. kann fehlen
change.{*}.frozen_excluded.prev_usdnumberUSDWert der Vergleichsbasis. kann fehlen
by_exchangearray—Aufschlüsselung je Börse.
by_exchange[]object—Aufschlüsselung je Börse.
by_exchange[].exchangestring—Börsenkennung in Kleinbuchstaben (zum Beispiel `binance`).
by_exchange[].oi_usdnumberUSDOpen Interest als Nominalwert in USD.
by_exchange[].share_pctnumber%Anteil an der Gesamtsumme.
by_exchange[].n_contractsnumber—Anzahl der Kontrakte.
by_exchange[].linear_usdnumberUSDLineare Kontrakte.
by_exchange[].inverse_usdnumberUSDInverse (coin-marginierte) Kontrakte.
by_exchange[].perpetual_usdnumberUSDPerpetual-Kontrakte.
by_exchange[].delivery_usdnumberUSDTerminkontrakte mit Fälligkeit.
by_exchange[].oi_sidestring—`double`, wenn die Börse beide Seiten in einer Zahl meldet, `single`, wenn sie eine Seite meldet, `unstated`, wenn die Börse dies nicht dokumentiert.
by_exchange[].oi_usd_single_adjustednumber|nullUSDEinseitiges Äquivalent; null, wenn die Zählweise der Seiten nicht angegeben ist.
by_exchange[].updated_atnumbermsZeitpunkt der letzten Aktualisierung dieser Zeile.
by_exchange[].age_snumbersSekunden seit der letzten Aktualisierung dieser Zeile.
by_exchange[].is_staleboolean—true, wenn die Zeile älter als das Aktualitätsfenster ist; veraltete Zeilen fließen nicht in die Summen ein.
contractsarray—Zeilen je Kontrakt.
contracts[]object—Zeilen je Kontrakt.
contracts[].exchangestring—Börsenkennung in Kleinbuchstaben (zum Beispiel `binance`).
contracts[].symbolstring—Instrumentensymbol in der von CoinBoss normalisierten Form (zum Beispiel BTCUSDT).
contracts[].native_symbolstring|null—Symbol genau in der Schreibweise der Börse.
contracts[].oi_usdnumberUSDOpen Interest als Nominalwert in USD.
contracts[].oi_sidestring—`double`, `single` oder `unstated`: ob die Börse beide Seiten des Open Interest in einer Zahl meldet.
contracts[].oi_usd_singlenumber|nullUSDEinseitiges Äquivalent von `oi_usd`; null, wenn die Zählweise der Seiten nicht angegeben ist.
contracts[].marginstring—Klasse der Margin-Währung: `usdt`, `usdc`, `coin` oder `other`.
contracts[].kindstring—`linear` oder `inverse`.
contracts[].contract_typestring—`perpetual` oder `delivery`.
contracts[].expiry_tsnumber|nullmsVerfall eines Terminkontrakts mit Fälligkeit; null bei Perpetual-Kontrakten oder wenn nicht veröffentlicht.
contracts[].margin_basisstring—Wie die Margin-Klasse bestimmt wurde (aus der Kontraktspezifikation oder dem Standard der Börse).
contracts[].updated_atnumbermsZeitpunkt der letzten Aktualisierung dieser Zeile.
contracts[].age_snumbersSekunden seit der letzten Aktualisierung dieser Zeile.
contracts[].is_staleboolean—true, wenn die Zeile älter als das Aktualitätsfenster ist; veraltete Zeilen fließen nicht in die Summen ein.
contracts[].collectorstring—Interner Collector, der die Zeile erzeugt hat.
contracts[].included_sincenumber|nullmsZeitpunkt, zu dem dieser Kontrakt in die Summen aufgenommen wurde; null für die Basismenge.
coverageobject—Was in den obigen Zahlen enthalten ist und was nicht. Vergleichen Sie dies, bevor Sie Summen mit einer anderen Quelle vergleichen.
coverage.included_exchangesarray—Börsen, deren Daten in den Summen enthalten sind.
coverage.included_exchanges[]string—In den Summen enthaltene Börsen.
coverage.pendingarray—Kontrakte, die erhoben, aber noch nicht in die Summen einbezogen werden (zum Beispiel, solange ihre eigene 25-Stunden-Historie noch aufgebaut wird). Sie werden mit ihrem aktuellen Wert aufgeführt, damit die Lücke sichtbar ist.
coverage.pending[]object—Erhobene, aber noch nicht einbezogene Elemente.
coverage.pending[].exchangestring—Börsenkennung in Kleinbuchstaben (zum Beispiel `binance`).
coverage.pending[].symbolstring—Instrumentensymbol in der von CoinBoss normalisierten Form (zum Beispiel BTCUSDT).
coverage.pending[].native_symbolstring—Symbol genau in der Schreibweise der Börse.
coverage.pending[].marginstring—Klasse der Margin-Währung.
coverage.pending[].contract_typestring—`perpetual` oder `delivery`.
coverage.pending[].oi_usdnumberUSDOpen Interest als Nominalwert in USD.
coverage.pending[].age_snumbersSekunden seit der letzten Aktualisierung dieser Zeile.
coverage.pending[].reasonstring—Begründungscode.
coverage.pending[].detailstring|null—Detail.
coverage.pending_usdnumber|nullUSDSumme der ausstehenden Kontrakte, nicht Teil von `total_usd`.
coverage.stale_excludedarray—Zeilen, die herausgenommen wurden, weil ihre letzte Aktualisierung außerhalb des Nutzbarkeitsfensters liegt. leer in den Stichproben, aus denen diese Tabelle erzeugt wurde
coverage.unavailablearray—Paare aus Börse und Kontrakt, die nicht einbezogen werden konnten, jeweils mit Begründung. Sie werden nie als 0 gezählt.
coverage.unavailable[]object—Elemente, für die keine Daten verfügbar sind, mit Begründung. Werden nie als 0 ausgewiesen.
coverage.unavailable[].exchangestring—Börsenkennung in Kleinbuchstaben (zum Beispiel `binance`).
coverage.unavailable[].symbolstring—Instrumentensymbol in der von CoinBoss normalisierten Form (zum Beispiel BTCUSDT).
coverage.unavailable[].native_symbolstring—Symbol genau in der Schreibweise der Börse.
coverage.unavailable[].marginstring—Klasse der Margin-Währung.
coverage.unavailable[].contract_typestring—`perpetual` oder `delivery`.
coverage.unavailable[].reasonstring—Begründungscode.
coverage.unavailable[].detailstring—Detail.
methodobject—Klartextangabe der Formeln, die für diese Antwort verwendet wurden.
method.totalstring—Gesamtzahl.
method.usdstringUSDWert.
method.change_h1_h4string—Klartextdefinition der Open-Interest-Veränderungen über 1h und 4h: Jeder Kontrakt wird mit seinem eigenen Snapshot verglichen, der dem Fensterbeginn am nächsten liegt.
method.change_h24string—Klartextdefinition der 24h-Veränderung des Open Interest: Paarung innerhalb derselben Börse mit dem stündlichen Snapshot, der dem Zeitpunkt vor 24 Stunden am nächsten liegt; eingefrorene Vergleichsbasen sind ausgeschlossen.
method.oi_sidestring—`double`, `single` oder `unstated`: ob die Börse beide Seiten des Open Interest in einer Zahl meldet.

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

Beispielantwort

/api/sd/oi?coin=BTC · Echte Antwort, erfasst 2026-11-13 03:57:39 UTC. Lange Arrays und Maps sind für die Anzeige gekürzt: change hatte 3 Elemente; contracts hatte 95 Elemente; by_exchange hatte 22 Elemente; coverage.included_exchanges hatte 22 Elemente.

  • {
    • "success": true,
    • "coin": "BTC",
    • "now": 1794542259643,
    • "total_usd": 49005713133.94,
    • "n_exchanges": 22,
    • "n_contracts": 95,
    • "asof": 1794542258000,
    • "total_usd_single_adjusted": 43766392634.71,
    • "double_sided": {
      • "exchanges": [ … 2 ],
      • "oi_usd": 10478640998.46
      },
    • "by_kind": {
      • "linear_usd": 44169662162.94,
      • "inverse_usd": 4836050971
      },
    • "by_margin": {
      • "other": 8250815931.650002,
      • "usdt": 30919742583.03,
      • "usdc": 4999103648.259998,
      • "coin": 4836050971
      },
    • "by_contract_type": {
      • "perpetual_usd": 40820877874.21,
      • "delivery_usd": 8184835259.73
      },
    • "change": {
      • "h1": { … 9 },
      • "h4": { … 9 }
      },
    • "by_exchange": [
      • { … 13 },
      • { … 13 }
      ],
    • "contracts": [
      • { … 16 },
      • { … 16 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 8 ],
      • "pending": [],
      • "pending_usd": null,
      • "stale_excluded": [ … 2 ],
      • "unavailable": [ … 1 ]
      },
    • "method": {
      • "total": "SUM(oi_usd) over fresh contracts (non-CME updated within 3h; CME within 120h)",
      • "usd": "linear: contracts × contract_size × mark/last price; inverse: contracts × contract_face_value_usd (or coin amount × price)",
      • "change_h1_h4": "same-contract pairing vs own snapshot nearest to now−W (15-minute snapshots, hourly fallback)",
      • "change_h24": "same-exchange pairing vs hourly snapshot nearest to now−24h (site-wide convention); contracts whose baseline snapshot is a frozen carry-over (identical to the c…",
      • "oi_side": "as disclosed by each exchange; double = exchange API itself reports open interest as twice the single-sided figure"
      }
    }

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=ETH20024 msBestanden
coin=SOL20021 msBestanden
coin=ARKM20020 msBestanden
—4001 msBestanden liefert den erwarteten Fehler

Geprüft 2026-11-13 03:57:39 UTC

Details

Authentifizierung
Keine. Öffentlicher Endpunkt.
Rate-Limit
1200 Anfragen pro Minute und IP
Server-Cache
20s
Edge-Micro-Cache
10s
Aktualisierungsintervall
bei den meisten Börsen alle 60 s (zusammen mit den Tickern geschrieben; binance Top 50 und okx mit eigenen 60-s-Jobs); vollständige Durchläufe für binance / bingx / aster / gate / htx alle 5 min; coin-marginierte / USDC- / Terminkontrakte mit Fälligkeit alle 120 s (Übernahme in die gemeinsame Tabelle alle 5 min); cme einmal pro Handelstag (04:10 UTC); 15-Minuten-Snapshots auf Kontraktebene für Veränderungen über kurze Zeitfenster
Zeitfenster
letzter Snapshot (Zeilen innerhalb von 3 h, cme 120 h; Flag is_stale nach 15 min, cme 36 h); Veränderungen über 1 h / 4 h (15-Minuten-Snapshots) und 24 h (stündliches Archiv)
Datenquellen
Open Interest, von den eigenen Collectoren über die öffentlichen REST-APIs von 22 Derivatebörsen abgefragt (z. B. binance, okx, bybit, gate, bitget, hyperliquid), dazu der offizielle Tagesbericht der CME zu Volumen und Open Interest.
Börsenabdeckung
23 Quellen mit aktuellen Zeilen (22 Börsen + cme); alle Kontrakttypen (linear in USDT / USDC / USD, invers coin-marginiert, Perpetual-Kontrakte und Terminkontrakte mit Fälligkeit); bybit und gate melden doppelseitig gezähltes Open Interest, wie von der Börse offengelegt; Zeilen, die älter als 3 h sind (cme: 120 h), werden ausgeschlossen; der coverage-Block führt einbezogene, ausstehende (warten auf 25 h eigene Historie), als veraltet ausgeschlossene und nicht verfügbare Börsen auf
Einheiten
open interest in USD notional; total_usd_single_adjusted halves venues that report double-sided OI; changes in percent
Methode
total_usd = SUM(oi_usd) over fresh contracts (multiplier contracts folded); breakdowns by kind / margin / contract type; h1 / h4 change by same-contract pairing against 15-minute snapshots (+/- 10 min, fallback hourly archive) and only when >= 50% of OI is matched; h24 change by same-exchange pairing against the hourly bucket nearest now - 24 h
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

VerfügbarGeprüft 2026-11-13 03:57:39 UTCHTTP 20032 msSchema stimmt übereinNeuester Datenpunkt 2s alt

Verfügbarkeit, letzte 30 Tage

100 % von 411 Prüfungen bestanden

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

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/oiVerfügbar
Parameter

string — Coin symbol; 400 when missing. Alias: `base`.

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