Basis des futures (toutes plateformes)
Basis des perpétuels (mark vs index), basis perpétuel vs spot sur la même plateforme et basis des futures à échéance avec taux annualisé, par contrat, ainsi que les agrégats pondéré par l'OI, pondéré par le volume et médian.
/api/sd/basisRequête
Paramètres de requête
| Nom | Type | Requis | Par défaut | Valeurs autorisées | Description |
|---|---|---|---|---|---|
| coin | string | Requis | — | — | Symbole de la crypto, insensible à la casse (par exemple `BTC`). Une valeur absente ou mal formée renvoie 400. Exemple: BTC |
Exemple de requête
curl -s "https://www.coinboss.com/api/sd/basis?coin=BTC"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 }`. |
| schema | string | — | Identifiant de schéma de cette réponse. Il ne change que lorsqu'un champ existant change de sens ou de type. |
| now | number | ms | Heure du serveur au moment où la réponse a été construite. |
| coin | string | — | Symbole de la crypto (en majuscules). |
| perp | object | — | Basis des perpétuels : prix mark par rapport au prix d'indice de la même plateforme. |
| perp.unit | string | — | Unité des valeurs de basis (pourcentage). |
| perp.aggregate | object | — | Agrégat multi-plateformes de la section. |
| perp.aggregate.oi_weighted_pct | number | % | Basis pondéré par les positions ouvertes ; les lignes sans pondération OI sont écartées. |
| perp.aggregate.oi_weight_usd | number | USD | Somme des pondérations de positions ouvertes utilisées. |
| perp.aggregate.n_oi_weighted | number | — | Lignes disposant d'une pondération OI. |
| perp.aggregate.vol_weighted_pct | number | % | Basis pondéré par le volume notionnel 24h. |
| perp.aggregate.vol_weight_usd | number | USD | Somme des pondérations de volume utilisées. |
| perp.aggregate.n_vol_weighted | number | — | Lignes disposant d'une pondération de volume. |
| perp.aggregate.median_pct | number | % | Basis médian calculé sur un contrat principal par plateforme. |
| perp.aggregate.mean_pct | number | % | Moyenne simple sur le même ensemble que la médiane. |
| perp.aggregate.n_exchanges | number | — | Plateformes incluses dans l'agrégat. |
| perp.aggregate.n_contracts | number | — | Contrats inclus dans l'agrégat. |
| perp.aggregate.min | object | — | Plateforme et contrat affichant le basis le plus bas. |
| perp.aggregate.min.exchange | string | — | Identifiant de la plateforme (en minuscules). |
| perp.aggregate.min.symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| perp.aggregate.min.basis_pct | number | % | (mark − index) ÷ index × 100 pour les perpétuels et les futures à échéance ; dans les classements, la médiane multi-plateformes. |
| perp.aggregate.max | object | — | Plateforme et contrat affichant le basis le plus élevé. |
| perp.aggregate.max.exchange | string | — | Identifiant de la plateforme (en minuscules). |
| perp.aggregate.max.symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| perp.aggregate.max.basis_pct | number | % | (mark − index) ÷ index × 100 pour les perpétuels et les futures à échéance ; dans les classements, la médiane multi-plateformes. |
| perp.aggregate.median_last_pct | number | % | Médiane du basis sur dernier prix. |
| perp.aggregate.n_exchanges_last | number | — | Plateformes incluses dans la médiane sur dernier prix. |
| perp.aggregate.weights | object | — | Origine des pondérations, leur fenêtre de fraîcheur et l'âge de la pondération la plus ancienne. |
| perp.aggregate.weights.oi | object | — | Positions ouvertes. |
| perp.aggregate.weights.oi.source | string | — | Endpoints publics amont auprès desquels les données ont été collectées. |
| perp.aggregate.weights.oi.fresh_window_s | number | s | Une pondération plus ancienne que cette durée n'est pas utilisée. |
| perp.aggregate.weights.oi.oldest_age_s | number | s | Âge de la pondération la plus ancienne utilisée. |
| perp.aggregate.weights.oi.side | string | — | Indique si la pondération par les positions ouvertes est simple face. |
| perp.aggregate.weights.vol | object | — | Volume. |
| perp.aggregate.weights.vol.source | string | — | Endpoints publics amont auprès desquels les données ont été collectées. |
| perp.aggregate.weights.vol.fresh_window_s | number | s | Une pondération plus ancienne que cette durée n'est pas utilisée. |
| perp.aggregate.weights.vol.oldest_age_s | number | s | Âge de la pondération la plus ancienne utilisée. |
| perp.contracts | array | — | Une ligne par contrat. |
| perp.contracts[] | object | — | Une ligne par contrat. |
| perp.contracts[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| perp.contracts[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| perp.contracts[].native_symbol | string | — | Symbole du contrat tel que l'écrit la plateforme. |
| perp.contracts[].quote | string | — | Devise de cotation du contrat. |
| perp.contracts[].margin_type | string | — | Type de marge du contrat (par exemple à marge USDT, à marge en crypto). |
| perp.contracts[].multiplier | number | — | Nombre de cryptos par unité cotée (1000 pour les contrats de type `1000PEPE`). Le basis n'est pas affecté. |
| perp.contracts[].mark_price | number|null | — | Prix mark publié par la plateforme. |
| perp.contracts[].index_price | number|null | — | Prix d'indice publié par la plateforme. |
| perp.contracts[].last_price | number|null | — | Dernier prix négocié. |
| perp.contracts[].index_kind | string|null | — | Nature de l'indice : `exchange_index`, `oracle`, ou un autre type affiché mais non agrégé. |
| perp.contracts[].basis_pct | number|null | % | (mark − index) ÷ index × 100 pour les perpétuels et les futures à échéance ; dans les classements, la médiane multi-plateformes. |
| perp.contracts[].basis_abs | number|null | — | mark − index, dans la devise de cotation. |
| perp.contracts[].basis_last_pct | number|null | % | (last − index) ÷ index × 100 ; `null` en l'absence de transaction récente. |
| perp.contracts[].basis_last_reason | string|null | — | Raison pour laquelle `basis_last_pct` vaut null. |
| perp.contracts[].index_lag_s | number|null | s | Secondes entre l'horodatage du prix mark et celui du prix d'indice de la ligne. |
| perp.contracts[].oi_usd | number|null | USD | Positions ouvertes du contrat, simple face ; utilisées comme pondération. |
| perp.contracts[].vol_usd_24h | number|null | USD | Volume notionnel 24h du contrat ; utilisé comme pondération. |
| perp.contracts[].primary | boolean | — | True pour le contrat qui représente sa plateforme dans la médiane et la moyenne. |
| perp.contracts[].in_aggregate | boolean | — | True lorsque la ligne satisfait aux règles d'inclusion. |
| perp.contracts[].excluded_reason | string|null | — | Raison pour laquelle la ligne n'est pas dans l'agrégat. |
| perp.contracts[].last_ts | number|null | ms | Heure de la dernière transaction. |
| perp.contracts[].observed_at | number|null | ms | Horodatage attribué aux données par la source. |
| perp.contracts[].received_at | number | ms | Moment où le collecteur CoinBoss a reçu les données. |
| perp.contracts[].age_s | number | s | Secondes écoulées depuis la réception de la ligne. |
| spot_perp | object | — | Prix du perpétuel par rapport au prix spot de la même plateforme. |
| spot_perp.unit | string | — | Unité des valeurs de basis (pourcentage). |
| spot_perp.aggregate | object | — | Agrégat multi-plateformes de la section. |
| spot_perp.aggregate.oi_weighted_pct | number | % | Basis pondéré par les positions ouvertes ; les lignes sans pondération OI sont écartées. |
| spot_perp.aggregate.oi_weight_usd | number | USD | Somme des pondérations de positions ouvertes utilisées. |
| spot_perp.aggregate.n_oi_weighted | number | — | Lignes disposant d'une pondération OI. |
| spot_perp.aggregate.vol_weighted_pct | number | % | Basis pondéré par le volume notionnel 24h. |
| spot_perp.aggregate.vol_weight_usd | number | USD | Somme des pondérations de volume utilisées. |
| spot_perp.aggregate.n_vol_weighted | number | — | Lignes disposant d'une pondération de volume. |
| spot_perp.aggregate.median_pct | number | % | Basis médian calculé sur un contrat principal par plateforme. |
| spot_perp.aggregate.mean_pct | number | % | Moyenne simple sur le même ensemble que la médiane. |
| spot_perp.aggregate.n_exchanges | number | — | Plateformes incluses dans l'agrégat. |
| spot_perp.aggregate.n_contracts | number | — | Contrats inclus dans l'agrégat. |
| spot_perp.aggregate.min | object | — | Plateforme et contrat affichant le basis le plus bas. |
| spot_perp.aggregate.min.exchange | string | — | Identifiant de la plateforme (en minuscules). |
| spot_perp.aggregate.min.symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| spot_perp.aggregate.min.basis_pct | number | % | (mark − index) ÷ index × 100 pour les perpétuels et les futures à échéance ; dans les classements, la médiane multi-plateformes. |
| spot_perp.aggregate.max | object | — | Plateforme et contrat affichant le basis le plus élevé. |
| spot_perp.aggregate.max.exchange | string | — | Identifiant de la plateforme (en minuscules). |
| spot_perp.aggregate.max.symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| spot_perp.aggregate.max.basis_pct | number | % | (mark − index) ÷ index × 100 pour les perpétuels et les futures à échéance ; dans les classements, la médiane multi-plateformes. |
| spot_perp.pairs | array | — | Une ligne par couple perpétuel / spot de la même plateforme. |
| spot_perp.pairs[] | object | — | Une ligne par couple perpétuel / spot de la même plateforme. |
| spot_perp.pairs[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| spot_perp.pairs[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| spot_perp.pairs[].spot_symbol | string | — | Marché spot utilisé comme jambe spot. |
| spot_perp.pairs[].quote | string | — | Devise de cotation du contrat. |
| spot_perp.pairs[].spot_mult | number | — | Facteur appliqué au prix spot pour que les deux jambes cotent la même quantité. |
| spot_perp.pairs[].futures_price | number|null | — | Prix du perpétuel utilisé ; voir `price_kind`. |
| spot_perp.pairs[].price_kind | string|null | — | Prix du perpétuel retenu : `last` ou `mark`. |
| spot_perp.pairs[].spot_price | number | — | Dernier prix spot, après application de `spot_mult`. |
| spot_perp.pairs[].basis_pct | number|null | % | (mark − index) ÷ index × 100 pour les perpétuels et les futures à échéance ; dans les classements, la médiane multi-plateformes. |
| spot_perp.pairs[].basis_last_pct | number|null | % | (last − index) ÷ index × 100 ; `null` en l'absence de transaction récente. |
| spot_perp.pairs[].basis_mark_pct | number|null | % | (mark − spot) ÷ spot × 100. |
| spot_perp.pairs[].leg_gap_s | number | s | Secondes entre les horodatages des deux jambes. |
| spot_perp.pairs[].spot_time_kind | string | — | Nature de l'horodatage spot (heure de la transaction ou heure de réception). |
| spot_perp.pairs[].spot_vol_24h | number|null | — | Volume d'échanges 24h du marché spot, dans sa devise de cotation. |
| spot_perp.pairs[].oi_usd | number|null | USD | Positions ouvertes du contrat, simple face ; utilisées comme pondération. |
| spot_perp.pairs[].vol_usd_24h | number|null | USD | Volume notionnel 24h du contrat ; utilisé comme pondération. |
| spot_perp.pairs[].primary | boolean | — | True pour le contrat qui représente sa plateforme dans la médiane et la moyenne. |
| spot_perp.pairs[].in_aggregate | boolean | — | True lorsque la ligne satisfait aux règles d'inclusion. |
| spot_perp.pairs[].excluded_reason | string|null | — | Raison pour laquelle la ligne n'est pas dans l'agrégat. |
| spot_perp.pairs[].received_at | number | ms | Moment où le collecteur CoinBoss a reçu les données. |
| spot_perp.pairs[].spot_received_at | number | ms | Heure de réception de la jambe spot. |
| delivery | object | — | Basis des futures à échéance (datés). |
| delivery.unit | string | — | Unité des valeurs de basis (pourcentage). |
| delivery.contracts | array | — | Une ligne par contrat. |
| delivery.contracts[] | object | — | Une ligne par contrat. |
| delivery.contracts[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| delivery.contracts[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| delivery.contracts[].native_symbol | string | — | Symbole du contrat tel que l'écrit la plateforme. |
| delivery.contracts[].quote | string | — | Devise de cotation du contrat. |
| delivery.contracts[].margin_type | string | — | Type de marge du contrat (par exemple à marge USDT, à marge en crypto). |
| delivery.contracts[].expiry_ts | number | ms | Heure d'échéance du contrat (futures à échéance). |
| delivery.contracts[].days_to_expiry | number | days | Jours restants avant l'échéance. |
| delivery.contracts[].mark_price | number | — | Prix mark publié par la plateforme. |
| delivery.contracts[].last_price | number|null | — | Dernier prix négocié. |
| delivery.contracts[].index_price | number | — | Prix d'indice publié par la plateforme. |
| delivery.contracts[].index_kind | string | — | Nature de l'indice : `exchange_index`, `oracle`, ou un autre type affiché mais non agrégé. |
| delivery.contracts[].basis_pct | number | % | (mark − index) ÷ index × 100 pour les perpétuels et les futures à échéance ; dans les classements, la médiane multi-plateformes. |
| delivery.contracts[].annualized_pct | number|null | % per year | basis_pct × 365 ÷ jours avant l'échéance, intérêt simple ; `null` au cours du dernier jour. |
| delivery.contracts[].basis_reason | null | — | Raison pour laquelle `basis_pct` vaut null. |
| delivery.contracts[].index_lag_s | number | s | Secondes entre l'horodatage du prix mark et celui du prix d'indice de la ligne. |
| delivery.contracts[].basis_last_pct | number|null | % | (last − index) ÷ index × 100 ; `null` en l'absence de transaction récente. |
| delivery.contracts[].annualized_last_pct | number|null | % per year | Basis annualisé calculé à partir du dernier prix négocié. |
| delivery.contracts[].spot_symbol | string|null | — | Marché spot utilisé comme jambe spot. |
| delivery.contracts[].spot_price | number|null | — | Dernier prix spot, après application de `spot_mult`. |
| delivery.contracts[].spot_price_kind | string|null | — | Prix futures qui a été comparé au spot. |
| delivery.contracts[].basis_spot_pct | number|null | % | (futures − spot de la même plateforme) ÷ spot × 100. |
| delivery.contracts[].annualized_spot_pct | number|null | % per year | Basis annualisé par rapport au spot de la même plateforme. |
| delivery.contracts[].annualized_reason | string|null | — | Raison pour laquelle la valeur annualisée vaut null (par exemple `expiry_lt_1d`). |
| delivery.contracts[].oi_usd | number|null | USD | Positions ouvertes du contrat, simple face ; utilisées comme pondération. |
| delivery.contracts[].vol_usd_24h | number|null | USD | Volume notionnel 24h du contrat ; utilisé comme pondération. |
| delivery.contracts[].last_ts | number|null | ms | Heure de la dernière transaction. |
| delivery.contracts[].observed_at | number|null | ms | Horodatage attribué aux données par la source. |
| delivery.contracts[].received_at | number | ms | Moment où le collecteur CoinBoss a reçu les données. |
| delivery.contracts[].age_s | number | s | Secondes écoulées depuis la réception de la ligne. |
| coverage | object | — | Ce qui est inclus ou non dans les chiffres. Comparez ces éléments avant de comparer les totaux avec une autre source. |
| coverage.included_exchanges | array | — | Sources dont les données à jour sont incluses. |
| coverage.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. |
| coverage.unavailable | array | — | Sources qui n'ont pas pu être incluses, chacune avec sa raison. Elles ne sont jamais comptées comme 0. |
| coverage.unavailable[] | object | — | Sources qui n'ont pas pu être incluses, chacune avec sa raison. Elles ne sont jamais comptées comme 0. |
| coverage.unavailable[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| coverage.unavailable[].reason | string | — | Code de raison lisible par machine. |
| coverage.unavailable[].detail | string | — | Explication de la raison, lisible par un humain. |
| coverage.stale_excluded | array | — | Lignes écartées parce que leur dernière mise à jour est hors de la fenêtre de fraîcheur. vide dans les échantillons ayant servi à générer ce tableau |
| coverage.missing_fields | array | — | Plateformes qui ne publient pas l'un des prix. |
| coverage.excluded_from_aggregate | array | — | Lignes affichées mais écartées de l'agrégat, chacune avec sa raison. |
| coverage.excluded_from_aggregate[] | object | — | Lignes affichées mais écartées de l'agrégat, chacune avec sa raison. |
| coverage.excluded_from_aggregate[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| coverage.excluded_from_aggregate[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| coverage.excluded_from_aggregate[].section | string | — | Section à laquelle appartient la ligne. |
| coverage.excluded_from_aggregate[].reason | string | — | Code de raison lisible par machine. |
| coverage.stock_excluded | array | — | Perpétuels sur actions partageant le même ticker, qui ont été retirés. vide dans les échantillons ayant servi à générer ce tableau |
| coverage.dropped_delisted_rows | number | — | Lignes écartées parce que le contrat a cessé de se mettre à jour. |
| coverage.delivery_unavailable | array | — | Plateformes dont les contrats à échéance ne sont pas collectés. |
| coverage.delivery_unavailable[] | object | — | Plateformes dont les contrats à échéance ne sont pas collectés. |
| coverage.delivery_unavailable[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| coverage.delivery_unavailable[].reason | string | — | Code de raison lisible par machine. |
| coverage.delivery_unavailable[].detail | string | — | Explication de la raison, lisible par un humain. |
| method | object | — | Énoncé en texte brut des formules utilisées pour cette réponse, une entrée par champ. |
| method.perp.basis_pct | string | — | Note de formule pour `perp.basis_pct`, en texte brut. |
| method.perp.basis_last_pct | string | — | Note de formule pour `perp.basis_last_pct`, en texte brut. |
| method.perp.aggregate.oi_weighted_pct | string | — | Note de formule pour `perp.aggregate.oi_weighted_pct`, en texte brut. |
| method.perp.aggregate.vol_weighted_pct | string | — | Note de formule pour `perp.aggregate.vol_weighted_pct`, en texte brut. |
| method.perp.aggregate.median_pct | string | — | Note de formule pour `perp.aggregate.median_pct`, en texte brut. |
| method.perp.aggregate.inclusion | string | — | Note de formule pour `perp.aggregate.inclusion`, en texte brut. |
| method.spot_perp.basis_pct | string | — | Note de formule pour `spot_perp.basis_pct`, en texte brut. |
| method.spot_perp.aggregate.inclusion | string | — | Note de formule pour `spot_perp.aggregate.inclusion`, en texte brut. |
| method.delivery.basis_pct | string | — | Note de formule pour `delivery.basis_pct`, en texte brut. |
| method.delivery.annualized_pct | string | — | Note de formule pour `delivery.annualized_pct`, en texte brut. |
| method.index_lag_s | string | — | Note de formule pour `index_lag_s`, en texte brut. |
| method.multiplier | string | — | Note de formule pour `multiplier`, en texte brut. |
| meta | object | — | Traçabilité et fraîcheur de cette réponse. |
| meta.schema | string | — | Identifiant de schéma de cette réponse. Il ne change que lorsqu'un champ existant change de sens ou de type. |
| meta.source | array | — | Endpoints publics amont auprès desquels les données ont été collectées. |
| meta.source[] | object | — | Endpoints publics amont auprès desquels les données ont été collectées. |
| meta.source[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| meta.source[].endpoint | string | — | Endpoint public de la source que lit le collecteur (indiqué pour la traçabilité ; les clients ne l'appellent jamais). |
| meta.observed_at | number | ms | Horodatage attribué aux données par la source. |
| meta.received_at | number | ms | Moment où le collecteur CoinBoss a reçu les données. |
| meta.fetched_at | number | ms | Moment où cette réponse a été assemblée. |
| meta.window | string | — | Fenêtre temporelle couverte par les chiffres. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN ou UNAVAILABLE, d'après les horodatages des données et la couverture. |
| meta.is_stale | boolean | — | True lorsque les données sont plus anciennes que leur fenêtre de fraîcheur. |
| meta.cache_ttl_s | number | s | Durée de vie en cache de cette réponse. |
| meta.fallback | string | — | Ce que renvoie l'endpoint lorsque le collecteur ou une source est en échec. |
| meta.collector_heartbeat_age_s | number | s | Secondes écoulées depuis le dernier signal d'activité du collecteur. |
| coverage.missing_fields[] | object | — | Plateformes qui ne publient pas l'un des prix. |
| coverage.missing_fields[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| coverage.missing_fields[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| coverage.missing_fields[].missing | string | — | Prix que la plateforme ne publie pas (`mark` ou `index`). |
Généré à partir de 4 réponses réelles (2026-11-11 23:00 UTC).
Exemple de réponse
/api/sd/basis?coin=BTC · Réponse réelle (capture : 2026-11-13 03:58:07 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : meta.source comptait 20 éléments; perp.contracts comptait 37 éléments; spot_perp.pairs comptait 22 éléments; delivery.contracts comptait 53 éléments; coverage.unavailable comptait 4 éléments; coverage.included_exchanges comptait 20 éléments.
- "success"true
- "schema""coinboss.sd.basis/1"
- "now"1794542287427
- "coin""BTC"
- "perp"
- "unit""percent"
- "aggregate"
- "contracts"
- "spot_perp"
- "unit""percent"
- "aggregate"
- "pairs"
- "delivery"
- "unit""percent"
- "contracts"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "missing_fields"
- "excluded_from_aggregate"
- "stock_excluded"
- "dropped_delisted_rows"0
- "delivery_unavailable"
- "method"
- "perp.basis_pct""(mark_price - index_price) / index_price * 100, percent; mark and index are both published by the same exchange for that…"
- "perp.basis_last_pct""(last_price - index_price) / index_price * 100; null when the exchange gives no last-trade price or the last trade is mo…"
- "perp.aggregate.oi_weighted_pct""sum(basis_pct * oi_usd) / sum(oi_usd) over all included perpetual contracts that have an open-interest weight; oi_usd fr…"
- "perp.aggregate.vol_weighted_pct""same with 24h notional volume (market_tickers.volume_usd / sd_contract_latest.vol_usd_24h, <= 1 h old) as weight"
- "perp.aggregate.median_pct""median of basis_pct over one primary contract per exchange (largest OI, then volume, then USDT-margined); mean_pct is th…"
- "perp.aggregate.inclusion""row is fresh (<= 180 s), basis_pct is not null, index_kind is exchange_index or oracle, the contract traded within 24 h …"
- "spot_perp.basis_pct""(perp last_price, or mark_price when last is unusable - spot last price * spot_mult) / (spot last price * spot_mult) * 1…"
- "spot_perp.aggregate.inclusion""as perp, plus spot 24h turnover >= 10000 (quote currency) when the exchange reports it"
- "delivery.basis_pct""(F - S) / S * 100 with F = mark_price and S = the exchange index price of the underlying; basis_last_pct uses F = last_p…"
- "delivery.annualized_pct""basis_pct * 365 / days_to_expiry, simple (not compounded); null when days_to_expiry < 1; days_to_expiry = (expiry_ts - p…"
- "index_lag_s""seconds between the mark timestamp and the index timestamp of the row; 0 when the exchange returns both in one response;…"
- "multiplier""contract units per coin (1000PEPE, kPEPE = 1000); mark and index carry the same multiplier so basis_pct is unaffected; s…"
- "meta"
- "schema""coinboss.sd.basis/1"
- "source"
- "observed_at"1794539247345
- "received_at"1794539247425
- "fetched_at"1794542287427
- "window""latest"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"20
- "fallback""rows older than 180 s are excluded; if no exchange is fresh the last stored rows (<= 1 h old) are served with is_stale=t…"
- "collector_heartbeat_age_s"3090
É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=ETH | 200 | 31 ms | Réussi STALE |
| coin=SOL | 200 | 28 ms | Réussi STALE |
| coin=PEPE | 200 | 32 ms | Réussi STALE |
| — | 400 | 2 ms | Réussi renvoie l'erreur attendue |
Vérifié : 2026-11-13 03:58:07 UTC
Détails
- Authentification
- Aucune. Endpoint public.
- Limite de requêtes
- 1200 requêtes par minute et par IP
- Cache serveur
- 20s
- Micro-cache en périphérie
- 10s
- Fréquence de mise à jour
- Cycle de collecte toutes les 60 secondes ; une ligne reste à jour pendant 180 secondes. Des instantanés horaires alimentent l'historique.
- Fenêtre
- Dernière valeur par contrat.
- Sources de données
- Prix mark, prix d'indice et dernier prix publiés par 21 plateformes de dérivés, ainsi que le prix spot de la même plateforme, collectés et stockés par CoinBoss (sd_px_latest, sd_px_hourly).
- Couverture des plateformes
- 21 plateformes. Les plateformes qui ne publient pas de prix d'indice ou de prix mark sont listées sous `coverage.unavailable` ; les lignes dont les deux jambes de prix sont espacées de plus de 60 secondes renvoient `null`. Les lignes écartées de l'agrégat sont listées sous `coverage.excluded_from_aggregate` avec la raison.
- Pagination
- Pas de pagination.
- Tri
- Contrats aux positions ouvertes les plus importantes en premier.
- Unités
- All basis values in percent. Prices in the quote currency of the contract (USDT / USDC / USD). `oi_usd` single-sided.
- Méthode
- Perpetual: basis_pct = (mark − index) ÷ index × 100. Spot-perp: (perpetual price − spot price) ÷ spot price × 100, same exchange and quote currency. Delivery: basis_pct = (futures − index) ÷ index × 100; annualized_pct = basis_pct × 365 ÷ days to expiry (simple interest; `null` inside the last day). Aggregates use one primary contract per exchange; a row enters only if it is fresh, traded within 24 hours and |basis| ≤ 10 %.
- Horodatages
- Millisecondes depuis l'epoch Unix (UTC), sauf indication contraire dans la description du champ
- Format de réponse
- json
- Stabilité
- Stable
- Disponible depuis
- 2026-11-11
Statut en direct
L'endpoint signale une qualité de données STALE
Disponibilité, 30 derniers jours
100 % des 407 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/sd/basisDégradéstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
https://www.coinboss.com/api/sd/basis?coin=BTCAutres endpoints de cette catégorie
- Basis des futures (toutes plateformes) /api/sd/basis
- Historique du basis (horaire) /api/sd/basis/history
- Cryptos classées par basis /api/sd/basis/rank
- Liste des basis futures-spot /api/derivatives/basis
- Écart quotidien du prix du BTC entre Coinbase et Kraken /api/p3/cb-kr-spread
- Indice de prime Bitcoin Coinbase /api/p3/coinbase-premium
- Liste des indices de prime des perpétuels /api/p3/premium-index
- Historique de l'indice de prime d'une crypto /api/p3/premium-index/history
- Bougies de l'indice de prime /api/p3/premium-index/klines
- Prime OTC de l'USDT par rapport aux taux de change fiat /api/usdt-premium
- Liste complète des basis futures-spot /api/basis/list