Was sich an der API geändert hat, die aktuelle Version und die Kompatibilitätsregeln.
v1Aktuelle Version
2026.11.12Katalogrevision
Versionierung und Kompatibilität
Versionierung
Die öffentliche API hat die Version v1. Das Pfadpräfix ist `/api` und enthält keine Versionsnummer.
Der Katalog hat eine eigene datumsbasierte Version (`catalog_version`, zum Beispiel 2026.11.11). Sie ändert sich immer dann, wenn sich Endpunkte, Parameter oder die Dokumentation ändern.
Jede Antwort der Endpunkte der eigenen Datenschicht trägt eine `schema`-ID (zum Beispiel `sd.oi.v1`). Eine neue ID wird nur vergeben, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert.
Kompatibilität
Das Hinzufügen von Endpunkten, optionalen Parametern, Antwortfeldern, Enum-Werten oder Börsen ist eine abwärtskompatible Änderung und kann jederzeit erfolgen. Clients müssen Felder ignorieren, die sie nicht kennen.
Das Entfernen oder Umbenennen eines Felds, das Ändern seines Typs oder seiner Einheit oder das Umstellen eines optionalen Parameters auf erforderlich ist eine nicht abwärtskompatible Änderung. Sie wird hier angekündigt, bevor sie ausgeliefert wird.
Korrekturen sind die Ausnahme: Die Behebung einer falschen Zahl oder einer ungültigen Eingabe, die bisher stillschweigend akzeptiert wurde, wird sofort ausgeliefert und hier am Tag der Live-Schaltung aufgeführt, gekennzeichnet als Breaking Change, wenn Client-Code möglicherweise angepasst werden muss.
Zahlen können sich ändern, weil sich die Abdeckung verbessert (eine neue Börse oder ein neuer Kontrakttyp kommt hinzu). Die Abdeckung wird immer in der Antwort ausgewiesen; vergleichen Sie daher `coverage`, bevor Sie Summen vergleichen.
Fehlende Daten werden als `null` zurückgegeben und unter `coverage.unavailable` aufgeführt; sie werden nie durch 0 oder eine Schätzung ersetzt. Code, der `null` als 0 behandelt, liefert falsche Ergebnisse.
Abkündigung
Mit `legacy` markierte Endpunkte funktionieren weiterhin, neue Entwicklungen sollten jedoch den angegebenen Ersatz verwenden.
Ein Legacy-Endpunkt wird frühestens 90 Tage nach Erscheinen seines Abkündigungseintrags in diesem Änderungsprotokoll entfernt.
Mit `beta` markierte Endpunkte versorgen Seiten der Website; ihr Feldumfang kann sich ohne die 90-Tage-Frist ändern, jede Änderung wird aber dennoch hier aufgeführt.
Änderungen
Hinzugefügt2026.11.12Abwärtskompatibel
`/api/currency/ex-table`: `market=perpetual`, `delivery` and `all`, plus one status vocabulary
New values of `market`: `perpetual` (perpetual contracts), `delivery` (dated futures) and `all` (spot, perpetual and delivery markets of the coin in one list). They return one row per market and number `rank` inside the requested view.
Every per-market row carries `market_status` (`ACTIVE`, `EXPIRING`, `EXPIRED`, `NO_QUOTE`, `STALE`), `reason_code` (`NO_QUOTE`, `EXPIRED`, `STALE`, `UNAVAILABLE` or null), `source_at`, `quality`, `is_stale`, `expires_in_s`, `symbol` and `base`. The state is derived from the contract specification of the exchange (expiry) and from the time the ticker was received. `status` and `status_reason` are unchanged.
`EXPIRING` marks a contract that still trades and expires within 24 hours (`meta.expiring_window_s`). Rows that are not `ACTIVE` or `EXPIRING` return `price: null`; no price is carried over from an earlier quote or from another contract.
`meta` adds `market_status_counts`, `type_counts` and `type_rankable`. The row order is the same for every caller: rankable rows by `volume_usd` descending, then rows without a quote, expired contracts last.
Hinzugefügt2026.11.12Abwärtskompatibel
`/api/liquidation-events` adds event / account counts and BTC high, low and range
New fields on every row: `btc_high`, `btc_low`, `btc_range` (USD, high − low) and `btc_range_pct` ((high − low) / low × 100), with `btc_range_meta`. Prices are the median of the UTC daily high / low on Binance (BTC/USDT), Coinbase (BTC/USD) and Kraken (BTC/USD) spot. The fields are null unless all three venues have a final daily candle.
New fields on `coinboss` rows: `liquidation_count` (de-duplicated liquidation events; not people) and `account_count` (distinct liquidated accounts on exchanges that expose an account identifier, currently Hyperliquid only; `quality` is `PARTIAL`), each with a `_meta` object giving source, window, quality and coverage. Both are null on baseline rows.
CoinBoss does not publish a liquidated-trader (people) count; `coverage.metrics.people_count.quality` is `UNAVAILABLE`. `liquidated_traders` and `btc_amplitude` are unchanged: they stay the text recorded in the third-party source and are not copied into the new fields.
Geändert2026.11.12Abwärtskompatibel
`/api/currency/ex-table`: per-contract rows carry their own quote and a `status`
With `group=pair`, every contract row now uses the ticker of that contract. Before, only the main contract of each exchange had a price and the other rows returned `price: null`.
New row fields with `group=pair` and `market=spot`: `status` (`active`, `no_quote`, `not_provided`, `expired`), `status_reason`, `market_type`, `expiry_ts`, `expiry_date`, `native_symbol`, `quote`, `margin_type`, `price_source`, `price_at` and `rank`; the response adds `meta` (freshness window, volume window and unit, sort rule, row counts per status).
Rows that are not `active` return `price: null` and are never filled from another contract. `volume_usd` on such rows is `0` only when the exchange reports zero 24h turnover, otherwise `null`.
Order with `group=pair`: `active` rows first by `volume_usd` descending (these carry `rank`), then rows without a live quote by `oi_usd` descending, expired contracts last. `contract_type` now follows the exchange contract specification, so dated contracts on Deribit, Bybit, Gate and KuCoin are reported as `delivery`; `expiry` is set for all of them.
Requests without `group` return the same rows and fields as before.
Geändert2026.11.12Abwärtskompatibel
`/api/liquidation-events` returns the Top 10 with a `source` field
This corrects the 2026-11-11 entry below. The historical baseline rows (third-party public historical records) are served again, as recorded and without recalculation.
Rows recorded by CoinBoss are UTC daily totals from its own collectors. A day is added only when its total is greater than the 10th place of the list at that time. Every row carries `source` (`historical_baseline` or `coinboss`) and `basis`.
The list is sorted by `total_usd` and returns 10 rows. New fields: `data[].total_usd` (same value as `amount_usd`), `data[].source`, `data[].basis` and `threshold_usd`. `coverage` is split into `coverage.baseline` and `coverage.coinboss`; the `coverage.source`, `coverage.from` and `coverage.note` fields introduced on 2026-11-11 moved under them.
Geändert2026.11.12Abwärtskompatibel
Upstream-Fehler werden mit HTTP 503 beantwortet und behalten den JSON-Fehler-Body
Fehlgeschlagene Anfragen, die bisher mit HTTP 502 oder 504 beantwortet wurden, erhalten jetzt 503 mit einem `Retry-After`-Header. Das der API vorgeschaltete CDN ersetzte den Body von 502- und 504-Antworten durch eigenen Text, wodurch `code` und `request_id` verloren gingen; eine 503-Antwort wird unverändert durchgereicht. Die `code`-Werte sind dieselben wie zuvor.
Fällt eine Upstream-Quelle hinter einem Endpunkt aus, wirkt sich das nicht mehr auf andere Endpunkte aus: Das Gateway versucht es nur bei Verbindungsfehlern und Zeitüberschreitungen mit einer anderen Instanz.
`/api/sd/options/*` und `/api/sd/cme/overview` akzeptieren Coin-Namen in chinesischen Schriftzeichen. Ein Coin ohne einen solchen Markt erhält HTTP 200 mit `null`-Aggregaten statt 400.
Funding-Abrechnungshistorie: Lücken innerhalb des 30-Tage-Fensters werden für die 150 meistgehandelten Coins auf Bybit, OKX, Gate und Bitget (40 auf HTX) erkannt und nachgefüllt, sodass `cum_7d` und `cum_30d` für mehr Coins vollständig sind.
Behoben2026.11.11Abwärtskompatibel
Index der Liquidationsvariabilität repariert; bei nicht verfügbarer Quelle Antwort 503
`/api/indicators/cdri`: Die Tagesreihe war leer, weil die Gruppierung nach Tagen den Millisekunden-Zeitstempel als Sekunden gelesen hat. Jetzt werden bis zu 90 vollständige UTC-Tage mit Liquidationssummen zurückgegeben; `current.days` (neues Feld) ist die Anzahl der verwendeten Tage, und `current.cdri` / `current.liqCV` sind `null`, wenn weniger als zwei Tage vorliegen.
`/api/indicators/reddit-subs`: Antwortet mit HTTP 503 und dem Code `UNAVAILABLE` statt mit HTTP 500, solange die Quelle Anfragen ablehnt. Eine Abonnentenzahl wird nur gespeichert, wenn die Quelle eine positive Zahl liefert.
Fehler-Bodys von HTTP-5xx-Antworten enthalten im Legacy-Feld `msg` keinen Upstream-Fehlertext mehr; es enthält jetzt dieselbe allgemeine Meldung wie `error`.
Behoben2026.11.11Inkompatibel
Datensätze, die nicht mehr aktualisiert werden, werden gekennzeichnet und aus den Summen ausgeschlossen
`/api/coins/all` und `/api/coins/search`: Ein Coin-Datensatz, der seit mehr als 48 Stunden nicht aktualisiert wurde, liefert `market_cap` und `mcap_rank` als `null` mit `is_stale: true` und wird hinter allen aktuellen Zeilen einsortiert. Die geltende Regel wird als `stale_rule` zurückgegeben.
`/api/derivatives/coins-full`: genau eine Zeile je Coin. Ein Symbol, das sich mehrere Coin-Datensätze teilen, erzeugte bisher eine Zeile je Datensatz; die Zeile trägt nun Namen, Marktkapitalisierung und Rang des größten Datensatzes, der innerhalb von 48 Stunden aktualisiert wurde, oder `null`, wenn es keinen gibt. `mcap_rank` ist ein neues Feld.
`/api/reserves/overview`: Jede Zeile hat `updated_at` und `is_stale`. `total` summiert nun nur Börsen, die innerhalb von 36 Stunden aktualisiert wurden; die bisherige Definition bleibt als `total_including_stale` erhalten, und die ausgeschlossenen Börsen sind in `stale_exchanges` aufgeführt.
`/api/margin/rates` und `/api/margin-fee/matrix`: Assets und Zellen, deren Zinssatz nicht mehr aktualisiert wird, tragen `is_stale: true`; Schwellen und Anzahlen werden auf oberster Ebene zurückgegeben.
Die täglichen Snapshots der globalen Marktkapitalisierung vom 2026-10-28 bis 2026-11-11 wurden neu berechnet, nachdem in der Summe zwei Datensätze mit einer unmöglichen Marktkapitalisierung (größer als die von Bitcoin) gefunden worden waren. Die Collectors speichern für solche Werte nun `null`.
Geändert2026.11.11Abwärtskompatibel
Ausfälle von Quellen werden in der Antwort gemeldet, statt einen Fehler zu liefern oder aktuell zu wirken
`/api/indicators/mempool/pools`: Antwortet die Mining-Pool-Quelle nicht, wird statt HTTP 500 das zuletzt gespeicherte Ergebnis mit `stale: true`, `cached_at` und `stale_reason` zurückgegeben.
`/api/etf/funds`: neues Objekt `frozen_fields`, das die Felder auf Fondsebene benennt, deren Quelle die Veröffentlichung am 2026-10-08 eingestellt hat, mit dem Datum, auf das sich jeder Wert bezieht.
`/api/indicators/halving`: neues Objekt `current_difficulty` (`value`, `as_of`, `source`). `difficulty` (Fortschritt bis zur Neuanpassung) bleibt `null`, solange die Quelle dafür nicht verfügbar ist.
`/api/browser/detect`: Eine fehlgeschlagene Chain-Abfrage wird nicht mehr als Adresse ohne Aktivität gemeldet. `kind` ist `lookup_failed`, wenn keine Chain abgefragt werden konnte.
`/api/currency/flows`: Die Dokumentation führt nun die 22 Zeitfenster auf, die der Endpunkt tatsächlich bereitstellt (5 Minuten bis 1 Jahr).
Geändert2026.11.11Inkompatibel
Nicht unterstützte Parameterwerte liefern 400 statt Standarddaten
`/api/derivatives/kline`: `interval=4h` liefert echte 4-Stunden-Kerzen, die aus 1h-Kerzen an UTC-Grenzen gebildet werden (bisher wurden 1h-Kerzen geliefert). Jedes andere Intervall als `1h`, `4h` oder `1d` liefert 400.
Options-Endpunkte unter `/api/options/`: Ein nicht unterstützter Wert für `currency` liefert 400 statt BTC-Daten, und `coin` wird auf allen sieben Endpunkten als Alias akzeptiert.
`/api/etf/flows`, `/api/etf/detail`, `/api/etf/funds` und `/api/etf/holdings`: Ein nicht unterstützter Wert für `asset` liefert 400 statt BTC-Daten.
`/api/liquidations/coins`: Ein nicht unterstützter Wert für `range` liefert 400 statt 24h-Daten, und das geltende Zeitfenster wird als `range` zurückgegeben.
`limit` ist bei `/api/liquidations`, `/api/liquidations/largest` und `/api/derivatives/coins-full` auf 1000 begrenzt. Ein nicht numerischer Wert für `limit` führt zum Standardwert statt zu einem Fehler.
Behoben2026.11.11Inkompatibel
Tagesvolumen und Research-Statistiken korrigiert
`/api/volume/coin`: `daily_30d` addierte jeden rollierenden 24h-Snapshot eines Tages und wies das Tagesvolumen dadurch etwa 24-fach zu hoch aus. Nun wird der letzte Snapshot jedes UTC-Tages verwendet.
`/api/research/stats` mit `topic=derivatives`: `volume_24h_usd` war in gleicher Weise überhöht und ist korrigiert.
`avg_funding_rate_pct` in derselben Antwort ist nun ein Prozentwert, etwa das 100-Fache des zuvor gelieferten rohen Dezimalbruchs. Passen Sie Code an, der den Wert mit 100 multipliziert hat.
Behoben2026.11.11Abwärtskompatibel
Ältere Markt-Endpunkte ignorieren Zeilen, die nicht mehr aktualisiert werden
Zeilen werden nur gezählt, solange sie aktuell sind: Ticker innerhalb von 1 Stunde, Open Interest innerhalb von 3 Stunden (CME: 120 Stunden), Funding innerhalb von 4 Stunden, Long/Short-Verhältnisse innerhalb von 24 Stunden.
Die Summen fallen etwas niedriger aus und manche Listen sind kürzer. Kontrakte, die nicht mehr gehandelt werden, zeigen `null` als Preis statt ihres letzten Werts.
Behoben2026.11.11Abwärtskompatibel
Multiplikator-Kontrakte ihrem Basis-Coin zugeordnet
`/api/funding/coin`, `/api/funding/history`, `/api/funding/chart` und `/api/ls/coin` ordnen Kontrakte, die in Vielfachen eines Coins notiert sind (zum Beispiel `1000PEPE`), nun dem Basis-Coin zu, sodass für diese Coins mehr Börsen aufgeführt werden.
Hinzugefügt2026.11.11Abwärtskompatibel
Optionsdaten von sechs Börsen
Neu: `/api/sd/options/overview`, `/api/sd/options/expiries`, `/api/sd/options/strikes`, `/api/sd/options/chain` und `/api/sd/options/history`.
Open Interest, 24h-Nominalvolumen, Put/Call-Verhältnisse, Max Pain, ATM IV, 25-Delta-Skew und die IV-Terminstruktur berechnet CoinBoss aus den Kontraktlisten von Deribit, Binance, Bybit, OKX, Gate und Coincall.
Nominalvolumen und Prämienumsatz sind getrennte Felder und werden nie zusammengerechnet. Spalten, die eine Börse nicht veröffentlicht, sind `null` und unter `coverage.field_gaps` aufgeführt.
Die Historie ist stündlich und beginnt am 2026-11-11; frühere Stunden werden nicht nachbefüllt.
Hinzugefügt2026.11.11Abwärtskompatibel
Spot-ETF-, CME- und CFTC-Daten aus Primärveröffentlichungen
Neu: `/api/sd/etf/overview`, `/api/sd/etf/funds` und `/api/sd/etf/history`, aufgebaut aus den Offenlegungen der Emittenten. Die Summen umfassen die Fonds, die CoinBoss erheben kann; jeder andere Fonds ist mit Begründung aufgeführt, und `totals_scope` ist immer `covered_funds_only`.
Den Fondsfluss berechnet CoinBoss aus ausstehenden Anteilen und NAV (oder aus Nettovermögen und NAV). Die verwendete Formel wird je Fonds in `flow_method` zurückgegeben.
Neu: `/api/sd/cme/overview` (tägliches Volumen und Open Interest von acht CME-Produkten) und `/api/sd/cme/cot` (wöchentliche CFTC-Positionierung nach Händlerkategorie).
CME-Abrechnungspreise werden noch nicht erhoben. USD-Zahlen verwenden einen gekennzeichneten Referenzpreis (`price_src`), und die Übersicht wird aus diesem Grund als PARTIAL markiert.
Hinzugefügt2026.11.11Abwärtskompatibel
Orderbuchtiefe und Slippage
Neu: `/api/sd/liquidity`, `/api/sd/liquidity/history` und `/api/sd/liquidity/rank`.
Die Tiefe innerhalb von ±0.5 %, ±1 % und ±2 % um den Mittelkurs und die Slippage von Market-Orders über 10k / 100k / 1M USD werden aus echten Orderbuch-Snapshots von 24 Börsen berechnet, getrennt für Perpetual- und Spot-Märkte.
Ein Snapshot, der ein Band nicht erreicht, wird mit `complete: false` markiert, als Untergrenze gemeldet und bleibt im Aggregat unberücksichtigt. `n_included` gibt an, wie viele Orderbücher eine Summe enthält.
`/api/indicators/large-orderbook` ist eine Modellausgabe, kein Orderbuch; verwenden Sie für ruhende Liquidität die neuen Endpunkte.
Hinzugefügt2026.11.11Abwärtskompatibel
Basis aus Mark- und Indexpreisen der Börsen
Neu: `/api/sd/basis`, `/api/sd/basis/history` und `/api/sd/basis/rank`.
Perpetual-Basis = (mark − index) ÷ index × 100 an derselben Börse; die Spot-Perpetual-Basis vergleicht den Perpetual-Kontrakt mit dem Spot-Markt derselben Börse; Terminkontrakte mit Fälligkeit ergänzen einen annualisierten Wert.
Aggregate werden OI-gewichtet, volumengewichtet und als Median angegeben. Zeilen, die die Einbeziehungsregeln nicht erfüllen, werden dennoch mit `excluded_reason` zurückgegeben.
Die stündliche Historie beginnt am 2026-11-11.
Geändert2026.11.11Abwärtskompatibel
Icon-Maps verwenden den öffentlichen Origin der Website
`/api/coin-icons` und `/api/exchange-icons` liefern Icon-URLs unter `https://www.coinboss.com`, demselben Origin wie jeder andere öffentliche Endpunkt. Die Pfade (`/api/coin-icon/{coin}`, `/api/exchange-icon/{exchange}`) bleiben unverändert.
Abgekündigt2026.11.11Abwärtskompatibel
`/api/basis/list` und `/api/cftc/cot` als legacy markiert
Verwenden Sie `/api/sd/basis/rank` statt `/api/basis/list` und `/api/sd/cme/cot` statt `/api/cftc/cot`. Die Legacy-Endpunkte funktionieren weiterhin.
Geändert2026.11.11Abwärtskompatibel
`/api/liquidation-events` liefert jetzt nur noch CoinBoss-Aufzeichnungen
Die Liste wird aus Liquidationsorders aufgebaut, die CoinBoss aus den Feeds der Börsen empfangen hat. Ihre Historie beginnt am 2026-08-19; frühere Daten liefern keine Zeilen.
Feldnamen und Typen sind unverändert.
Entfernt2026.11.11Abwärtskompatibel
Betriebsendpunkte sind aus dem Internet nicht mehr erreichbar
`/api/health/alerts`, `/api/health/server`, `/api/health/history` und `/api/health/ch-read` antworten auf öffentliche Anfragen mit 404. Sie waren nie Teil der öffentlichen API.
Verwenden Sie `/api/meta/status` für den Dienststatus und `/api/meta/quality` für die Datenaktualität.
Hinzugefügt2026.11.11Abwärtskompatibel
Entwicklerzentrum und maschinenlesbare API-Metadaten
Neu: `/api/meta/catalog`, `/api/meta/endpoint`, `/api/meta/status`, `/api/meta/quality`, `/api/meta/changelog` und `/api/meta/openapi`.
Feldtabellen und Beispielantworten in der Dokumentation werden aus echten Antworten erzeugt, und zwar von einer API-Prüfsonde, die jeden öffentlichen Endpunkt alle 5 Minuten aufruft.
Der Endpunktstatus (available / partial / degraded / down / unavailable) stammt jetzt aus diesen echten Aufrufen, nicht aus dem Prozesszustand.
Geändert2026.11.11Abwärtskompatibel
Einheitlicher Fehler-Body und Request-IDs
Jede Antwort trägt einen `X-Request-Id`-Header; Fehler-Bodys wiederholen ihn als `request_id`.
Fehler-Bodys haben jetzt an allen Endpunkten die Form `{ success: false, code, error, request_id }`. `error` bleibt eine Zeichenkette, bestehende Clients funktionieren also weiterhin.
Unbekannte `/api/*`-Routen antworten mit JSON 404 (`NOT_FOUND`) statt mit einer HTML-Seite.
HTTP-429-Antworten enthalten `Retry-After`.
Meldungen von 5xx-Fehlern sind allgemein gehalten; interne Details werden nicht mehr ausgegeben.
Hinzugefügt2026.11.11Abwärtskompatibel
Endpunkte der eigenen Datenschicht mit Abdeckung und Qualität in jeder Antwort
Neu: `/api/sd/oi`, `/api/sd/funding`, `/api/sd/liquidations`, `/api/sd/volume`, `/api/sd/ls`, `/api/sd/coin` und `/api/sd/quality`.
Das Open Interest weist USDT- / USDC- / coin-marginierte Kontrakte und Terminkontrakte mit Fälligkeit getrennt aus und gibt an, welche Börsen doppelseitig gezählte Zahlen melden.
Das Funding wird roh, mit seinem Intervall, auf 8h normalisiert und annualisiert zurückgegeben; Börsen, deren Kontrakt nicht aktiv ist, werden ausgeschlossen und aufgeführt.
Abgekündigt2026.11.11Abwärtskompatibel
`/api/market/long-short` als legacy markiert
Verwenden Sie `/api/market/long-short-v2` für die Listenansicht oder `/api/sd/ls` für die Verhältnisse nach Konten / Positionen / Taker je Börse.
Geändert2026.10.31Abwärtskompatibel
Icon-Felder liefern Same-Origin-Pfade
Felder wie `image_url` / `icon` enthalten jetzt einen CoinBoss-Pfad (`/api/coin-icon/...`) statt einer Drittanbieter-URL.
Ein Coin ohne verifiziertes Icon liefert `null`; Clients sollten ihren eigenen Platzhalter darstellen.
Behoben2026.10.24Abwärtskompatibel
Veraltete Zeilen fließen nicht mehr in Aggregate ein
Summen für Open Interest, Funding und Long/Short verwenden nur Zeilen, die innerhalb des Aktualitätsfensters aktualisiert wurden (länger bei der CME, die täglich veröffentlicht).
Delistete Kontrakte tragen nicht mehr zu den Summen bei, sobald ihre letzte Aktualisierung das Fenster verlässt.
Legacy-Endpunkte
Aus Kompatibilitätsgründen beibehalten. Sie funktionieren weiterhin; neue Integrationen sollten den Ersatz verwenden.
`apr_pct` ist `basis_pct × 3 × 365`, eine einfache Hochrechnung der aktuellen Perpetual-Basis, als würde sie alle 8 Stunden gezahlt; es ist keine Funding- oder Terminrendite. `/api/sd/basis` weist die Basis für Mark-Index, Spot-Perpetual und Terminkontrakte mit Fälligkeit getrennt aus.