Börsentabelle der Coin-Seite
Börsentabelle der Coin-Seite (Preis, Volumen, OI, Funding je Börse; Spot oder Futures)
/api/currency/ex-tableAnfrage
Query-Parameter
| Name | Typ | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|---|
| coin | string | Erforderlich | — | — | Symbol des Basis-Coins (Großbuchstaben, z. B. BTC). Beispiel: BTC |
| market | string | Optional | futures | futures, spot, perpetual, delivery, all | `futures` (default) and `spot` return one row per exchange (`futures` one row per contract with `group=pair`). `perpetual`, `delivery` and `all` always return one row per market: perpetual contracts only, dated futures only, or every spot, perpetual and delivery market of the coin in one list. Any other value is treated as `futures`. Beispiel: futures |
| group | string | Optional | — | pair | `pair` returns one row per contract instead of one row per exchange. Each row then carries `status`, `status_reason`, `market_type`, `expiry_ts`, `expiry_date`, `native_symbol`, `quote`, `margin_type`, `price_source`, `price_at` and `rank`, and the response adds a `meta` object. Rows whose `status` is not `active` (no live quote, no feed, expired) carry no price. |
Beispielanfrage
curl -s "https://www.coinboss.com/api/currency/ex-table?coin=BTC&market=futures"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 }`. |
| coin | string | — | Coin-Symbol in Großbuchstaben (zum Beispiel BTC). |
| market | string | — | Markt. |
| data | array | — | Nutzdaten. |
| data[] | object | — | Nutzdaten. |
| data[].exchange | string | — | Börsenkennung in Kleinbuchstaben (zum Beispiel `binance`). |
| data[].name | string | — | Name. |
| data[].pair | string|null | — | Exchange symbol of the row's contract: the highest-volume contract of the exchange, or the exact contract with `group=pair` (the symbol as CoinBoss normalises it; the name used by the exchange is `native_symbol`); null when the exchange has open interest but no ticker. |
| data[].price | number|null | — | Letzter Preis in der Kurswährung (USD oder USDT, sofern nicht anders angegeben). |
| data[].change_pct | number|null | % | Prozentuale Veränderung. |
| data[].volume_usd | number|null | USD | Volumen als Nominalwert in USD. |
| data[].oi_usd | number|null | USD | Open Interest als Nominalwert in USD. |
| data[].ls_ratio | number|null | — | Long/Short-Verhältnis. |
| data[].liq_long | number|null | — | Liquidierte Long-Positionen. |
| data[].liq_short | number|null | — | Liquidierte Short-Positionen. |
| data[].funding | number|null | — | Block oder Wert der Funding-Rate. |
| data[].funding_interval_h | number|null | h | Funding-Intervall. kann fehlen |
| data[].funding_8h | number|null | fraction | `funding`, auf ein 8-Stunden-Intervall normalisiert: Rate × 8 ÷ `funding_interval_h` (0.0001 = 0,01 %); null, wenn das Abrechnungsintervall unbekannt ist. kann fehlen |
| data[].next_funding_time | number|null | ms | Zeitstempel. kann fehlen |
| data[].multiplier | number | x | Anzahl der Coins, die eine notierte Einheit des Kontrakts repräsentiert (1000 bei Kontrakten nach dem Muster 1000PEPE, sonst 1). kann fehlen |
| data[].vol_change_pct | number|null | % | Veränderung des 24h-Volumens der Börse gegenüber ihrem stündlichen Snapshot von vor 23–25 Stunden; null ohne Snapshot oder bei Zeilen, die nicht den Hauptkontrakt betreffen. |
| data[].oi_change_pct | number|null | % | Veränderung des Open Interest der Börse gegenüber dem stündlichen Snapshot derselben Kontrakte, der dem Zeitpunkt vor 24 Stunden am nächsten liegt (±1 h); null, wenn keine Vergleichsbasis existiert. |
| data[].oi_vol_change_pct | number|null | % | Veränderung des Verhältnisses Open Interest ÷ 24h-Volumen gegenüber demselben Verhältnis 24 Stunden zuvor. |
| data[].price_raw | number|null | USD | Letzter Preis genau so, wie die Börse den Kontrakt notiert, vor der Division durch `multiplier`; entspricht `price`, wenn `multiplier` gleich 1 ist. kann fehlen |
| data[].liquidity_usd | number|null | USD | Nominalwert von Bid plus Ask im Orderbuch innerhalb von ±1 % um den Mittelkurs an dieser Börse; eine Untergrenze, wenn `liquidity_complete` false ist. kann fehlen |
| data[].liquidity_reach_pct | number | % | Abstand vom Mittelkurs, den das von der Börse gelieferte Orderbuch tatsächlich abdeckt; der kleinere Wert von Bid- und Ask-Seite. kann fehlen |
| data[].liquidity_complete | boolean | — | True, wenn das gelieferte Orderbuch auf beiden Seiten das volle Band von ±1 % erreicht; false bedeutet, dass `liquidity_usd` zu niedrig ausfällt. kann fehlen |
| data[].oi_vol_ratio | number|null | — | Open Interest geteilt durch das 24h-Volumen. |
| data[].pair_disp | string | — | Anzeigeform des Paars als Basis/Kurswährung (`BTC/USDT`, `1000PEPE/USDT`, `BTC/USD` für CME und USD-marginierte Handelsplätze). |
| data[].contract_type | string|null | — | `perpetual` or `delivery` (dated futures); null on spot rows. With `group=pair` it comes from the exchange's contract specification where CoinBoss has one, otherwise from the expiry code in the symbol. |
| data[].expiry | string(decimal)|null | — | Expiry date code YYMMDD of a dated contract. With `group=pair` it is derived from `expiry_ts` for every contract that has an expiry; otherwise it is the six-digit symbol suffix. Null for contracts without an expiry and for CME rows. |
| data[].market_type | string | — | `spot`, `perpetual` or `delivery`. kann fehlen |
| data[].expiry_ts | number|null | ms | Expiry / delivery time of the contract, Unix milliseconds; null when the contract has no expiry or the exchange does not publish one. kann fehlen |
| data[].expiry_date | string|null | — | Expiry date as YYYY-MM-DD (UTC); null when the contract has no expiry. kann fehlen |
| data[].native_symbol | string|null | — | Contract name exactly as the exchange lists it (`BTCUSDT_270326`, `BTC-PERPETUAL`, `XBTMZ26`); null when CoinBoss holds no contract specification for the venue and on spot rows. kann fehlen |
| data[].quote | string|null | — | Quote currency of the contract or spot pair (`USDT`, `USDC`, `USD`, …). kann fehlen |
| data[].margin_type | string|null | — | Margin asset class from the contract specification: `usdt`, `usdc`, `coin`, `usd` or `other`; null when unknown and on spot rows. kann fehlen |
| data[].status | string | — | Market state of the row (only with `group=pair` and `market=spot`): `active` = a real quote received within the last hour and a 24h volume above zero; `no_quote` = the contract is listed but has no usable quote, see `status_reason`; `not_provided` = the exchange publishes no real-time ticker that CoinBoss collects (CME); `expired` = the contract is past its expiry. Rows that are not `active` carry no price. kann fehlen |
| data[].status_reason | string|null | — | Why a row is not `active`: `expired`, `no_realtime_feed`, `quote_stale` (last quote older than one hour), `no_price`, `no_volume` (the exchange reports no 24h volume) or `no_trades_24h` (the reported 24h volume is zero). Null on active rows. kann fehlen |
| data[].price_source | string|null | — | Dataset the row's price and volume were read from: `market_tickers`, `sd_contract_latest` or `spot_coin_ex_vol`; null when no ticker exists for the contract. kann fehlen |
| data[].price_at | number|null | ms | Time the row's ticker was received, Unix milliseconds. On rows that are not `active` it is the time of the last ticker seen (no price is returned for it), or null. kann fehlen |
| data[].symbol | string | — | Symbol of the row as CoinBoss stores it (`BTCUSDT`, `BTCUSD_270326`, `BTC-27NOV26`); same value as `pair` on contract rows, base + quote on spot rows. The name used by the exchange is `native_symbol`. kann fehlen |
| data[].base | string | — | Underlying of the contract or spot pair as traded. Contracts quoted in multiples of the coin keep the multiplier (`1000PEPE`). kann fehlen |
| data[].market_status | string | — | State of the market: `ACTIVE` = not expired, a quote of this market received within the last hour and a 24h volume above zero; `EXPIRING` = active and the exchange lists its expiry within the next 24 hours; `EXPIRED` = past its expiry; `STALE` = the last quote is older than one hour; `NO_QUOTE` = no usable quote, see `reason_code`. Only `ACTIVE` and `EXPIRING` rows carry a price and a `rank`. kann fehlen |
| data[].reason_code | string|null | — | Why the row carries no price: `NO_QUOTE` (listed, but no trades in 24h or no last price / volume reported), `EXPIRED`, `STALE`, or `UNAVAILABLE` (CoinBoss collects no real-time ticker for this market, e.g. CME). Null on `ACTIVE` and `EXPIRING` rows. The finer cause is in `status_reason`. kann fehlen |
| data[].source_at | number|null | ms | Time the ticker behind this row was received from the exchange, Unix milliseconds; null when no ticker exists. Same value as `price_at`. kann fehlen |
| data[].quality | string | — | `live` = `source_at` within the last hour, `stale` = older, `none` = no ticker for this market. kann fehlen |
| data[].is_stale | boolean | — | True when `quality` is `stale`. kann fehlen |
| data[].expires_in_s | number|null | s | Seconds until the expiry of the contract at the time the table was assembled; negative once expired; null when the contract has no expiry. kann fehlen |
| data[].rank | number|null | — | Position among rankable rows (`market_status` `ACTIVE` or `EXPIRING`) ordered by `volume_usd` descending, starting at 1 and counted inside the requested view; null on rows that are not rankable. kann fehlen |
| data[].market | string | — | Markt. kann fehlen |
| meta | object | — | Table-level information: grouping, freshness and volume windows, sort rule and row counts. Present with `group=pair` and with `market=spot`, `perpetual`, `delivery` or `all`. kann fehlen |
| meta.group | string | — | `pair` = one row per contract, `exchange` = one row per spot venue. kann fehlen |
| meta.as_of | number | ms | Time the table was assembled, Unix milliseconds. kann fehlen |
| meta.fresh_window_s | number | s | Maximum age of a quote for a row to count as `active`. kann fehlen |
| meta.expiring_window_s | number | s | A contract whose expiry is closer than this is reported as `EXPIRING`. kann fehlen |
| meta.volume_window | string | — | Window of `volume_usd`: `24h_rolling`, the rolling 24-hour turnover each exchange reports. kann fehlen |
| meta.volume_unit | string | — | Unit of `volume_usd`. kann fehlen |
| meta.sort | string | — | Row order of the response in words. kann fehlen |
| meta.counts | object | — | Number of rows per `status`. kann fehlen |
| meta.counts.active | number | count | Rows with `status=active`. kann fehlen |
| meta.counts.no_quote | number | count | Rows with `status=no_quote`. kann fehlen |
| meta.counts.not_provided | number | count | Rows with `status=not_provided`. kann fehlen |
| meta.counts.expired | number | count | Rows with `status=expired`. kann fehlen |
| meta.market_status_counts | object | — | Number of rows per `market_status`. kann fehlen |
| meta.market_status_counts.ACTIVE | number | count | Rows with `market_status=ACTIVE`. kann fehlen |
| meta.market_status_counts.EXPIRING | number | count | Rows with `market_status=EXPIRING`. kann fehlen |
| meta.market_status_counts.EXPIRED | number | count | Rows with `market_status=EXPIRED`. kann fehlen |
| meta.market_status_counts.NO_QUOTE | number | count | Rows with `market_status=NO_QUOTE`. kann fehlen |
| meta.market_status_counts.STALE | number | count | Rows with `market_status=STALE`. kann fehlen |
| meta.type_counts | object | — | Number of rows per market type. kann fehlen |
| meta.type_counts.spot | number | count | Spot rows in the response. kann fehlen |
| meta.type_counts.perpetual | number | count | Perpetual rows in the response. kann fehlen |
| meta.type_counts.delivery | number | count | Delivery (dated futures) rows in the response. kann fehlen |
| meta.type_rankable | object | — | Number of rankable rows (`ACTIVE` or `EXPIRING`) per market type. kann fehlen |
| meta.type_rankable.spot | number | count | Spot rows that are rankable (`ACTIVE` or `EXPIRING`). kann fehlen |
| meta.type_rankable.perpetual | number | count | Perpetual rows that are rankable. kann fehlen |
| meta.type_rankable.delivery | number | count | Delivery rows that are rankable. kann fehlen |
Erzeugt 2026-11-12 10:57 UTC aus 9 echten Antworten.
Beispielantwort
/api/currency/ex-table?coin=BTC&market=futures · Echte Antwort, erfasst 2026-11-13 03:57:28 UTC. Lange Arrays und Maps sind für die Anzeige gekürzt: data hatte 24 Elemente.
- "success"true
- "coin""BTC"
- "market""futures"
- "data"
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=BTC&market=all | 200 | 139 ms | Bestanden |
| coin=BTC&market=perpetual | 200 | 1 ms | Bestanden |
| coin=BTC&market=delivery | 200 | 2 ms | Bestanden |
| coin=BTC&group=pair&market=futures | 200 | 2 ms | Bestanden |
| coin=BTC&market=spot | 200 | 1 ms | Bestanden |
| coin=ETH&market=futures | 200 | 105 ms | Bestanden |
| coin=SOL&market=futures | 200 | 67 ms | Bestanden |
| coin=ARKM&market=futures | 200 | 55 ms | Bestanden |
Geprüft 2026-11-13 03:57:28 UTC
Details
- Authentifizierung
- Keine. Öffentlicher Endpunkt.
- Rate-Limit
- 1200 Anfragen pro Minute und IP
- Server-Cache
- 30s
- Edge-Micro-Cache
- 10s
- Aktualisierungsintervall
- Ticker / OI / Funding alle 60 s bis 5 min; Orderbuchtiefe alle 5 min; Spot-Volumen alle 10 min; Liquidationen in Echtzeit
- Zeitfenster
- letzter Snapshot (Ticker 1 h, OI 3 h, Funding 4 h, Long/Short 24 h, Tiefe 30 min); 24-h-Veränderungen gegenüber stündlichen Archiven
- Datenquellen
- Futures- und Spot-Statistiken je Börse für einen Coin, zusammengestellt von den CoinBoss-eigenen Collectoren, die die öffentlichen APIs von rund 30 Börsen abfragen (z. B. binance, okx, bybit, bitget, gate, hyperliquid).
- Börsenabdeckung
- Futures: alle Börsen mit einem aktuellen Ticker für den Coin (bis zu 24); Tiefe von 15 Börsen für rund 28 Coins; Spot (market=spot): 14 Spot-Börsen
- Sortierung
- volume_usd desc. With `group=pair` and with `market=spot|perpetual|delivery|all`: rankable rows (`market_status` ACTIVE or EXPIRING) first by volume_usd desc (these carry `rank`), then rows without a live quote by oi_usd desc, expired contracts last; ties by expiry, exchange and symbol, so every request made at the same moment gets the same order
- Einheiten
- price in USD (multiplier contracts normalized to one coin); volume / OI / liquidations / depth in USD; funding as raw fraction and 8 h-normalized fraction; changes in percent
- Methode
- per exchange (futures): volume = SUM(volume_usd); funding_8h = rate x 8 / interval_hours of the largest-OI contract; depth_1pct_usd = bid + ask notional within +/- 1% of mid; OI 24 h change by same-contract pairing; volume change vs the ticker archive 23-25 h earlier; liquidations = 24 h SUM(value_usd)
- Zeitstempel
- Unix-Epoche in Millisekunden (UTC), sofern die Feldbeschreibung nichts anderes angibt
- Antwortformat
- json
- Stabilität
- Stabil
Live-Status
Verfügbarkeit, letzte 30 Tage
99.76 % von 411 Prüfungen bestanden
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/currency/ex-tableVerfügbarstring — Base coin symbol (uppercase, e.g. BTC).
string · Standard futures — `futures` (default) and `spot` return one row per exchange (`futures` one row per contract with `group=pair`). `perpetual`, `delivery` and `all` always return one row per market: perpetual contracts only, dated futures only, or every spot, perpetual and delivery market of the coin in one list. Any other value is treated as `futures`.
string — `pair` returns one row per contract instead of one row per exchange. Each row then carries `status`, `status_reason`, `market_type`, `expiry_ts`, `expiry_date`, `native_symbol`, `quote`, `margin_type`, `price_source`, `price_at` and `rank`, and the response adds a `meta` object. Rows whose `status` is not `active` (no live quote, no feed, expired) carry no price.
https://www.coinboss.com/api/currency/ex-table?coin=BTC&market=futuresMehr in dieser Kategorie
- Daten der Coin-Heatmap /api/coin-heatmap
- Vollständige Coin-Liste /api/coins/all
- Coin-Suche /api/coins/search
- Börsentabelle der Coin-Seite /api/currency/ex-table
- Kapitalfluss eines Coins /api/currency/flows
- Coin-Liste für die Navigation /api/currency/list
- Märkte je Börse für einen Coin /api/currency/markets
- Detailübersicht eines Coins /api/currency/overview
- Preisperformance eines Coins über mehrere Zeiträume /api/currency/performance
- Spot-Taker-Nettozufluss für einen Coin /api/currency/spot-netflow
- Matrix der Margin-Leihzinsen /api/margin-fee/matrix
- Margin-Leihzinsen /api/margin/rates
- Gewinner & Verlierer (mit Mindestvolumen) /api/market/gainers-losers
- Schnellübersicht der Kursbewegungen bei Coins mit der höchsten Marktkapitalisierung /api/market/top-movers
- Renditematrix nach Monat / Quartal / Jahr /api/p3/btc-returns
- Matrix der Tagesrenditen /api/p3/btc-returns-daily
- Matrix der Wochenrenditen /api/p3/btc-returns-weekly
- Gewinner & Verlierer (Futures oder Spot) /api/p3/gainers-losers
- Stundenkerzen /api/p3/klines
- Volatilitätsübersicht /api/p3/volatility
- Volatilitätshistorie für einen Coin /api/p3/volatility/series
- Spot-Marktliste der Coins /api/spot/coins
- Daten der Volumenseite eines Coins /api/volume/coin