Cryptos classées par basis
Cryptos classées par basis médian multi-plateformes, avec la moyenne, le basis pondéré par l'OI, les positions ouvertes et les plateformes affichant la valeur la plus basse et la plus haute.
/api/sd/basis/rankRequête
Paramètres de requête
| Nom | Type | Requis | Par défaut | Valeurs autorisées | Description |
|---|---|---|---|---|---|
| kind | string | Optionnel | perp | perp, spot_perp | `perp` : prix mark par rapport au prix d'indice de la même plateforme. `spot_perp` : prix du perpétuel par rapport au prix spot de la même plateforme. |
| sort | string | Optionnel | basis_desc | basis_desc, basis_asc, abs_desc | Clé de tri : basis médian le plus élevé, le plus bas ou le plus grand en valeur absolue en premier. |
| limit | integer | Optionnel | 50 | ≥ 1 · ≤ 200 | Nombre de lignes. |
| min_exchanges | integer | Optionnel | 3 | ≥ 1 · ≤ 20 | Uniquement les cryptos disposant d'un basis sur au moins ce nombre de plateformes. |
Exemple de requête
curl -s "https://www.coinboss.com/api/sd/basis/rank"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. |
| kind | string | — | `perp` ou `spot_perp`. |
| sort | string | — | Ordre de tri appliqué. |
| limit | number | — | Limite de lignes appliquée. |
| min_exchanges | number | — | Nombre minimal de plateformes appliqué. |
| total | number | — | Lignes disponibles avant application de `limit`. |
| count | number | — | Lignes renvoyées. |
| data | array | — | Une ligne par crypto. |
| data[] | object | — | Une ligne par crypto. |
| data[].rank | number | — | Position dans le classement ; `null` lorsque la ligne n'a aucune valeur à classer. |
| data[].coin | string | — | Symbole de la crypto (en majuscules). |
| data[].basis_pct | number | % | (mark − index) ÷ index × 100 pour les perpétuels et les futures à échéance ; dans les classements, la médiane multi-plateformes. |
| data[].mean_pct | number | % | Moyenne simple sur le même ensemble que la médiane. |
| data[].oi_weighted_pct | number | % | Basis pondéré par les positions ouvertes ; les lignes sans pondération OI sont écartées. |
| data[].oi_usd | number | USD | Positions ouvertes du contrat, simple face ; utilisées comme pondération. |
| data[].n_exchanges | number | — | Plateformes incluses dans l'agrégat. |
| data[].n_contracts | number | — | Contrats inclus dans l'agrégat. |
| data[].min | object | — | Plateforme et contrat affichant le basis le plus bas. |
| data[].min.exchange | string | — | Identifiant de la plateforme (en minuscules). |
| data[].min.symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| data[].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. |
| data[].max | object | — | Plateforme et contrat affichant le basis le plus élevé. |
| data[].max.exchange | string | — | Identifiant de la plateforme (en minuscules). |
| data[].max.symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| data[].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. |
| 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 |
| method | object | — | Énoncé en texte brut des formules utilisées pour cette réponse, une entrée par champ. |
| method.basis_pct | string | — | Note de formule pour `basis_pct`, en texte brut. |
| method.oi_weighted_pct | string | — | Note de formule pour `oi_weighted_pct`, en texte brut. |
| method.inclusion | string | — | Note de formule pour `inclusion`, en texte brut. |
| method.coin | string | — | Note de formule pour `coin`, 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. |
Généré à partir de 3 réponses réelles (2026-11-11 23:00 UTC).
Exemple de réponse
/api/sd/basis/rank · Réponse réelle (capture : 2026-11-13 03:58:08 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : coverage.stale_excluded comptait 21 éléments.
- "success"true
- "schema""coinboss.sd.basis/1"
- "now"1794542288498
- "kind""perp"
- "sort""basis_desc"
- "limit"50
- "min_exchanges"3
- "total"null
- "count"null
- "data"null
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "basis_pct""median over exchanges (one primary contract per exchange) of the perpetual mark-vs-index basis, percent; the ranking key"
- "oi_weighted_pct""OI-weighted mean over all included contracts of the coin (single-sided OI, <= 3 h old); null when no contract has a weight"
- "inclusion""fresh rows only (<= 180 s); same row filters as /api/sd/basis; catalogued stock/ETF perpetuals (stock_contracts) are removed; coins quoted on fewer than min_exc…"
- "coin""multiplier contracts are folded into the underlying coin (1000PEPE, kPEPE -> PEPE)"
- "meta"
- "schema""coinboss.sd.basis/1"
- "source"
- "observed_at"null
- "received_at"null
- "fetched_at"1794542288498
- "window""latest"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"30
- "fallback""only rows refreshed within 180 s are ranked; when the collector is down the list is empty and quality is STALE"
- "collector_heartbeat_age_s"3091
É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 |
|---|---|---|---|
| kind=spot_perp | 200 | 2 ms | Réussi STALE |
| sort=basis_asc&limit=10 | 200 | 2 ms | Réussi STALE |
| sort=zzz | 400 | 2 ms | Réussi renvoie l'erreur attendue |
Vérifié : 2026-11-13 03:58:08 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
- 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 ; `limit` plafonne le nombre de lignes (max 200).
- Tri
- Déterminé par `sort` ; la clé de tri est la médiane multi-plateformes (`basis_pct`).
- Unités
- All basis values in percent. Prices in the quote currency of the contract (USDT / USDC / USD). `oi_usd` single-sided.
- 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
- Renvoyé mais non documenté: coverage.stale_excluded[], coverage.stale_excluded[].exchange, coverage.stale_excluded[].age_s
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/basis/rankDégradéstring · défaut perp — `perp`: mark price against the index price of the same exchange. `spot_perp`: perpetual price against the spot price of the same exchange.
string · défaut basis_desc — Sort key: highest, lowest or largest absolute median basis first.
integer · défaut 50 · min 1 · max 200 — Number of rows.
integer · défaut 3 · min 1 · max 20 — Only coins with a basis on at least this many exchanges.
https://www.coinboss.com/api/sd/basis/rankAutres 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