Tableau des plateformes de la page crypto
Tableau des plateformes de la page crypto (prix, volume, OI, financement par plateforme ; spot ou futures)
/api/currency/ex-tableRequête
Paramètres de requête
| Nom | Type | Requis | Par défaut | Valeurs autorisées | Description |
|---|---|---|---|---|---|
| coin | string | Requis | — | — | Symbole de la crypto de base (en majuscules, p. ex. BTC). Exemple: BTC |
| market | string | Optionnel | 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`. Exemple: futures |
| group | string | Optionnel | — | 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. |
Exemple de requête
curl -s "https://www.coinboss.com/api/currency/ex-table?coin=BTC&market=futures"Champs de la réponse
Le tableau des champs est généré à partir de réponses réelles : il liste donc exactement ce que renvoie l'endpoint. Les chemins utilisent a[] pour les éléments d'un tableau et {*} pour les objets indexés par un nom dynamique, comme une crypto ou une plateforme.
| Champ | Type | Unité | Description |
|---|---|---|---|
| success | boolean | — | true lorsque la requête a abouti. En cas d'échec, le corps est `{ success: false, code, error, request_id }`. |
| coin | string | — | Symbole de la crypto, en majuscules (par exemple BTC). |
| market | string | — | Marché. |
| data | array | — | Charge utile. |
| data[] | object | — | Charge utile. |
| data[].exchange | string | — | Identifiant de la plateforme, en minuscules (par exemple `binance`). |
| data[].name | string | — | Nom. |
| 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 | — | Dernier prix dans la devise de cotation (USD ou USDT sauf mention contraire). |
| data[].change_pct | number|null | % | Variation en pourcentage. |
| data[].volume_usd | number|null | USD | Volume en notionnel USD. |
| data[].oi_usd | number|null | USD | Positions ouvertes en notionnel USD. |
| data[].ls_ratio | number|null | — | Ratio long/short. |
| data[].liq_long | number|null | — | Longs liquidés. |
| data[].liq_short | number|null | — | Shorts liquidés. |
| data[].funding | number|null | — | Bloc ou valeur du taux de financement. |
| data[].funding_interval_h | number|null | h | Intervalle de financement. peut être absent |
| data[].funding_8h | number|null | fraction | `funding` normalisé sur un intervalle de 8 heures : taux × 8 ÷ `funding_interval_h` (0.0001 = 0,01 %) ; null lorsque l'intervalle de règlement est inconnu. peut être absent |
| data[].next_funding_time | number|null | ms | Horodatage. peut être absent |
| data[].multiplier | number | x | Nombre de cryptos que représente une unité cotée du contrat (1000 pour les contrats de type 1000PEPE, sinon 1). peut être absent |
| data[].vol_change_pct | number|null | % | Variation du volume 24h de la plateforme par rapport à son instantané horaire pris 23 à 25 heures plus tôt ; null en l'absence d'instantané ou sur les lignes non principales. |
| data[].oi_change_pct | number|null | % | Variation des positions ouvertes de la plateforme par rapport à l'instantané horaire des mêmes contrats le plus proche d'il y a 24 heures (±1 h) ; null lorsqu'aucune référence n'existe. |
| data[].oi_vol_change_pct | number|null | % | Variation du ratio positions ouvertes ÷ volume 24h par rapport au même ratio 24 heures plus tôt. |
| data[].price_raw | number|null | USD | Dernier prix exactement tel que la plateforme cote le contrat, avant division par `multiplier` ; égal à `price` lorsque `multiplier` vaut 1. peut être absent |
| data[].liquidity_usd | number|null | USD | Notionnel du carnet d'ordres, bid plus ask, à ±1 % du prix médian sur cette plateforme ; il s'agit d'une borne inférieure lorsque `liquidity_complete` vaut false. peut être absent |
| data[].liquidity_reach_pct | number | % | Distance au prix médian réellement couverte par le carnet d'ordres renvoyé par la plateforme, la plus petite des deux entre le côté bid et le côté ask. peut être absent |
| data[].liquidity_complete | boolean | — | True lorsque le carnet d'ordres renvoyé couvre toute la bande de ±1 % des deux côtés ; false signifie que `liquidity_usd` est sous-estimé. peut être absent |
| data[].oi_vol_ratio | number|null | — | Positions ouvertes divisées par le volume sur 24h. |
| data[].pair_disp | string | — | Forme d'affichage de la paire, base/cotation (`BTC/USDT`, `1000PEPE/USDT`, `BTC/USD` pour le CME et les plateformes à marge USD). |
| 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`. peut être absent |
| 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. peut être absent |
| data[].expiry_date | string|null | — | Expiry date as YYYY-MM-DD (UTC); null when the contract has no expiry. peut être absent |
| 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. peut être absent |
| data[].quote | string|null | — | Quote currency of the contract or spot pair (`USDT`, `USDC`, `USD`, …). peut être absent |
| 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. peut être absent |
| 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. peut être absent |
| 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. peut être absent |
| 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. peut être absent |
| 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. peut être absent |
| 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`. peut être absent |
| data[].base | string | — | Underlying of the contract or spot pair as traded. Contracts quoted in multiples of the coin keep the multiplier (`1000PEPE`). peut être absent |
| 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`. peut être absent |
| 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`. peut être absent |
| 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`. peut être absent |
| data[].quality | string | — | `live` = `source_at` within the last hour, `stale` = older, `none` = no ticker for this market. peut être absent |
| data[].is_stale | boolean | — | True when `quality` is `stale`. peut être absent |
| 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. peut être absent |
| 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. peut être absent |
| data[].market | string | — | Marché. peut être absent |
| meta | object | — | peut être absent |
| meta.group | string | — | `pair` = one row per contract, `exchange` = one row per spot venue. peut être absent |
| meta.as_of | number | ms | Time the table was assembled, Unix milliseconds. peut être absent |
| meta.fresh_window_s | number | s | Maximum age of a quote for a row to count as `active`. peut être absent |
| meta.expiring_window_s | number | s | A contract whose expiry is closer than this is reported as `EXPIRING`. peut être absent |
| meta.volume_window | string | — | Window of `volume_usd`: `24h_rolling`, the rolling 24-hour turnover each exchange reports. peut être absent |
| meta.volume_unit | string | — | Unit of `volume_usd`. peut être absent |
| meta.sort | string | — | Row order of the response in words. peut être absent |
| meta.counts | object | — | Number of rows per `status`. peut être absent |
| meta.counts.active | number | count | Rows with `status=active`. peut être absent |
| meta.counts.no_quote | number | count | Rows with `status=no_quote`. peut être absent |
| meta.counts.not_provided | number | count | Rows with `status=not_provided`. peut être absent |
| meta.counts.expired | number | count | Rows with `status=expired`. peut être absent |
| meta.market_status_counts | object | — | Number of rows per `market_status`. peut être absent |
| meta.market_status_counts.ACTIVE | number | count | Rows with `market_status=ACTIVE`. peut être absent |
| meta.market_status_counts.EXPIRING | number | count | Rows with `market_status=EXPIRING`. peut être absent |
| meta.market_status_counts.EXPIRED | number | count | Rows with `market_status=EXPIRED`. peut être absent |
| meta.market_status_counts.NO_QUOTE | number | count | Rows with `market_status=NO_QUOTE`. peut être absent |
| meta.market_status_counts.STALE | number | count | Rows with `market_status=STALE`. peut être absent |
| meta.type_counts | object | — | Number of rows per market type. peut être absent |
| meta.type_counts.spot | number | count | Spot rows in the response. peut être absent |
| meta.type_counts.perpetual | number | count | Perpetual rows in the response. peut être absent |
| meta.type_counts.delivery | number | count | Delivery (dated futures) rows in the response. peut être absent |
| meta.type_rankable | object | — | Number of rankable rows (`ACTIVE` or `EXPIRING`) per market type. peut être absent |
| meta.type_rankable.spot | number | count | Spot rows that are rankable (`ACTIVE` or `EXPIRING`). peut être absent |
| meta.type_rankable.perpetual | number | count | Perpetual rows that are rankable. peut être absent |
| meta.type_rankable.delivery | number | count | Delivery rows that are rankable. peut être absent |
Généré à partir de 9 réponses réelles (2026-11-12 10:57 UTC).
Exemple de réponse
/api/currency/ex-table?coin=BTC&market=futures · Réponse réelle (capture : 2026-11-13 03:57:28 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : data comptait 24 éléments.
- "success"true
- "coin""BTC"
- "market""futures"
- "data"
Échantillons vérifiés
Outre l'exemple ci-dessus, la sonde appelle cet endpoint avec les paramètres suivants et vérifie le schéma à chaque fois.
| Paramètres | HTTP | Latence | Résultat |
|---|---|---|---|
| coin=BTC&market=all | 200 | 139 ms | Réussi |
| coin=BTC&market=perpetual | 200 | 1 ms | Réussi |
| coin=BTC&market=delivery | 200 | 2 ms | Réussi |
| coin=BTC&group=pair&market=futures | 200 | 2 ms | Réussi |
| coin=BTC&market=spot | 200 | 1 ms | Réussi |
| coin=ETH&market=futures | 200 | 105 ms | Réussi |
| coin=SOL&market=futures | 200 | 67 ms | Réussi |
| coin=ARKM&market=futures | 200 | 55 ms | Réussi |
Vérifié : 2026-11-13 03:57:28 UTC
Détails
- Authentification
- Aucune. Endpoint public.
- Limite de requêtes
- 1200 requêtes par minute et par IP
- Cache serveur
- 30s
- Micro-cache en périphérie
- 10s
- Fréquence de mise à jour
- tickers / OI / financement toutes les 60 s à 5 min ; profondeur du carnet d'ordres toutes les 5 min ; volume spot toutes les 10 min ; liquidations en temps réel
- Fenêtre
- dernier instantané (tickers 1 h, OI 3 h, financement 4 h, long/short 24 h, profondeur 30 min) ; variations 24 h par rapport aux archives horaires
- Sources de données
- Statistiques futures et spot par plateforme pour une crypto, assemblées par les collecteurs de CoinBoss qui interrogent les API publiques d'environ 30 plateformes (p. ex. binance, okx, bybit, bitget, gate, hyperliquid).
- Couverture des plateformes
- futures : toutes les plateformes ayant un ticker à jour pour la crypto (jusqu'à 24) ; profondeur sur 15 plateformes pour environ 28 cryptos ; spot (market=spot) : 14 plateformes spot
- Tri
- 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
- Unités
- 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
- Méthode
- 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)
- Horodatages
- Millisecondes depuis l'epoch Unix (UTC), sauf indication contraire dans la description du champ
- Format de réponse
- json
- Stabilité
- Stable
Statut en direct
Disponibilité, 30 derniers jours
99.76 % des 411 contrôles réussis
Erreurs
Les appels en échec ont la même structure sur tous les endpoints. La liste complète figure sur la page des erreurs. Erreurs et limites de requêtes →
| Code | HTTP | Signification | Que faire |
|---|---|---|---|
| INVALID_PARAM | 400 | Un paramètre requis est manquant ou une valeur n'est pas acceptée. `param` indique le nom du paramètre lorsqu'il est connu. | Ne réessayez pas à l'identique ; corrigez la requête. |
| UNAUTHORIZED | 401 | L'en-tête `CB-API-KEY` a été envoyé, mais la clé est inconnue ou révoquée. Les données publiques ne nécessitent aucune clé — supprimez l'en-tête ou utilisez une clé valide. | Ne réessayez pas à l'identique. |
| FORBIDDEN | 403 | La route ne fait pas partie de l'API publique (interne ou réservée aux comptes). | Ne réessayez pas. |
| NOT_FOUND | 404 | Route inconnue, ou la crypto / la plateforme / le fonds demandé n'existe pas. | Ne réessayez pas ; vérifiez le chemin et les identifiants dans le catalogue. |
| RATE_LIMITED | 429 | Plus de requêtes que la limite par minute. `Retry-After` indique le nombre de secondes à attendre. | Attendez la durée indiquée par `Retry-After`, puis réessayez avec backoff. |
| INTERNAL | 500 | Erreur serveur inattendue. Le message est volontairement générique ; citez `request_id` lorsque vous la signalez. | Réessayez une fois après quelques secondes ; si l'erreur persiste, signalez-la avec l'ID de requête. |
| UPSTREAM_FAILED | 503 | La source de données derrière cet endpoint n'a pas répondu à temps. Aucun chiffre périmé ni de substitution n'est renvoyé à sa place. | Réessayez avec backoff ; consultez la page de statut. |
| UNAVAILABLE | 501 / 503 | Le jeu de données n'est temporairement pas prêt (préchauffage du cache) ou l'endpoint n'a pas encore de source publique licite. | Réessayez plus tard ; le catalogue signale les endpoints indisponibles par conception. |
| REQUEST_FAILED | 200 | Certains endpoints plus anciens répondent HTTP 200 avec `success: false`. Vérifiez toujours `success`, et pas seulement le statut HTTP. | Dépend du message ; à traiter comme une requête en échec. |
Essayer
/api/currency/ex-tableDisponiblestring — Base coin symbol (uppercase, e.g. BTC).
string · défaut 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=futuresAutres endpoints de cette catégorie
- Données de la heatmap des cryptos /api/coin-heatmap
- Liste complète des cryptos /api/coins/all
- Recherche de cryptos /api/coins/search
- Tableau des plateformes de la page crypto /api/currency/ex-table
- Flux de fonds d'une crypto /api/currency/flows
- Liste des cryptos pour la navigation /api/currency/list
- Marchés par plateforme d'une crypto /api/currency/markets
- Vue d'ensemble détaillée d'une crypto /api/currency/overview
- Performance du prix d'une crypto par période /api/currency/performance
- Flux net entrant taker spot d'une crypto /api/currency/spot-netflow
- Matrice des taux d'emprunt sur marge /api/margin-fee/matrix
- Taux d'emprunt sur marge /api/margin/rates
- Hausses et baisses (avec seuil de volume) /api/market/gainers-losers
- Aperçu rapide des variations des plus grosses capitalisations /api/market/top-movers
- Matrice des rendements mensuels / trimestriels / annuels /api/p3/btc-returns
- Matrice des rendements quotidiens /api/p3/btc-returns-daily
- Matrice des rendements hebdomadaires /api/p3/btc-returns-weekly
- Hausses et baisses (futures ou spot) /api/p3/gainers-losers
- Bougies horaires /api/p3/klines
- Aperçu de la volatilité /api/p3/volatility
- Historique de la volatilité d'une crypto /api/p3/volatility/series
- Liste des marchés spot par crypto /api/spot/coins
- Données de la page volume d'une crypto /api/volume/coin