API REST

Dérivés

Le positionnement à terme : combien de capital est engagé, à quel coût, dans quel sens, et à quel prix par rapport au comptant. Toutes ces métriques sont des composites — la pondération employée est indiquée pour chacune.

#Open interest

GET/v1/raw/oidata_type · raw_oi

L’open interest total, sommé sur toutes les places, en fenêtres d’une minute. Chaque place conserve sa dernière valeur connue quand son rafraîchissement saute une minute, et une minute n’est servie que si toutes les places y sont représentées : sans cela, le total oscillerait artificiellement.

ParamètreTypeDéfautDescription
symbolstringrequisL’actif.
limitinteger30Nombre de minutes, de 1 à 1000.
ChampTypeDescription
timestampstringDébut de la minute.
oi_totalfloatOpen interest sommé. Le nom dit l’agrégat : ce n’est pas la valeur d’une place.
GET/v1/oi/deltadata_type · oi_delta
GET/v1/oi/delta/historydata_type · oi_delta_history

La variation d’open interest — l’entrée ou la sortie de capital. Le pourcentage est recalculé à partir des totaux agrégés, pour rester cohérent avec la somme.

ChampTypeDescription
oi_currentfloatOpen interest cumulé courant.
oi_previousfloatLe précédent.
deltafloatLa différence.
delta_pctfloat | nullLa variation en pourcentage.
timestampstringHorodatage du calcul.

#Funding

Trois lectures du même phénomène : le dernier taux appliqué, le prochain estimé, et le cumul des dernières vingt-quatre heures. Toutes sont des composites pondérés par l’open interest — la place qui porte le plus de positions pèse le plus — et ramenés à une base de huit heures avant pondération, certaines paires réglant toutes les quatre heures ou toutes les heures.

GET/v1/funding/ratedata_type · funding_rate_8h
GET/v1/funding/rate/historydata_type · funding_rate_8h_history
ChampTypeDescription
bucketstringDébut de la fenêtre de 8 h, alignée sur 00 h, 08 h et 16 h UTC.
ratefloatLe taux composite sur la fenêtre, en équivalent 8 h.
aprfloatLe taux annualisé : rate × 1095, soit 1095 règlements de 8 h par an. Absent de l’historique.
exchange_countintegerNombre de places agrégées sur la fenêtre.
GET/v1/funding/nextdata_type · funding_next_estimated
ChampTypeDescription
estimated_ratefloatLe taux estimé, en équivalent 8 h.
settlement_atstringHorodatage de règlement le plus récent connu.
is_pastbooleanVrai si ce règlement est déjà passé.
aprfloatAnnualisé.
exchange_countintegerNombre de places agrégées.
GET/v1/funding/cumulativedata_type · funding_cumulative_24h
GET/v1/funding/cumulative/historydata_type · funding_cumulative_24h_history
curl
curl -H "X-API-KEY: $BYTNODE_KEY" \
  "https://api.bytnode.com/v1/funding/cumulative?symbol=BTCUSDT"
ChampTypeDescription
timestampstringBucket de la fenêtre de 8 h la plus récente.
cumulative_ratefloatSomme des composites 8 h de la plage.
aprfloatAnnualisé sur le nombre de fenêtres réellement sommées, ce qui reste exact même quand il en manque une.
window_countintegerNombre de fenêtres de 8 h effectivement sommées, au plus trois.

#Liquidations

GET/v1/raw/liquidationsdata_type · raw_liquidations

Les liquidations individuelles, toutes places confondues. La couverture y est structurellement plus faible que sur les trades : toutes les places ne publient pas de flux public de liquidations.

ParamètreTypeDéfautDescription
symbolstringrequisL’actif.
limitinteger30Nombre d’événements, de 1 à 1000.
min_usdfloatFiltre optionnel sur la valeur en dollars.
ChampTypeDescription
timestampstringHorodatage.
sidestringlong ou short — le côté de la position liquidée, pas celui de l’ordre. La convention est normalisée entre les places.
pricefloatPrix de liquidation.
quantityfloatTaille en unités de l’actif de base.
usd_valuefloatValeur en dollars.
GET/v1/liquidations/cumulativedata_type · liquidations_cumulative
GET/v1/liquidations/cumulative/historydata_type · liquidations_cumulative_history
ChampTypeDescription
timestampstringHorodatage du calcul.
long_usdfloatDollars de positions longues liquidées.
short_usdfloatDollars de positions courtes liquidées.
total_usdfloatLe total.
GET/v1/liquidations/ratiodata_type · liquidation_ratio
GET/v1/liquidations/ratio/historydata_type · liquidation_ratio_history

Le rapport entre les grosses liquidations — au moins 100 000 $ — et les petites. Il distingue une purge de gros comptes d’une cascade de petits porteurs.

ChampTypeDescription
big_count / big_usdinteger / floatLes liquidations d’au moins 100 000 $.
small_count / small_usdinteger / floatCelles en dessous.
ratiofloat | nullbig_usd divisé par small_usd. null si le dénominateur est nul.
timestampstringHorodatage du calcul.

#Ratio long/short

GET/v1/ls-ratiodata_type · ls_ratio_composite
GET/v1/ls-ratio/historydata_type · ls_ratio_composite_history

La part des comptes positionnés à la hausse, en saveur compte global, composite sur les places qui la publient et pondérée par l’open interest. Deux places au minimum sont requises sur une fenêtre, sinon la réponse est null.

ParamètreTypeDéfautDescription
symbolstringrequisL’actif.
timeframestringrequis5m, 15m, 30m, 1h, 4h, 1d. Le pas 1m est refusé : aucune place ne publie à cette cadence.
livebooleanfalseExpose la fenêtre en cours.
limitinteger30Sur l’historique, de 1 à 500.
ChampTypeDescription
timestampstringDébut de la fenêtre.
timeframestringLe pas demandé.
part_longfloatPart des comptes longs, strictement entre 0 et 1.
ratiofloatLongs divisés par shorts.
venue_countintegerNombre de places agrégées, au moins deux.
weightingstringoi quand la pondération par l’open interest a pu s’appliquer, geomean en repli.
is_closedbooleanFaux uniquement avec live=1.

#Basis

GET/v1/basisdata_type · basis
GET/v1/basis/historydata_type · basis_history

L’écart entre le prix à terme et le prix au comptant, moyenne pondérée par l’open interest sur les places qui portent les deux marchés. Les deux prix sont pondérés de la même façon, ce qui garantit que basis_value = futures_price − spot_price reste vrai.

ChampTypeDescription
basis_valuefloatL’écart en dollars.
basis_pctfloatL’écart en pourcentage.
futures_pricefloatPrix à terme composite.
spot_pricefloatPrix comptant composite.
timestampstringHorodatage du calcul.

Fenêtre par défaut de l’historique

Sans since_ms ni until_ms, la recherche remonte limit minutes en arrière. Avec une fenêtre explicite, c’est elle qui s’applique.

#Écarts entre places

GET/v1/spread/interexchangedata_type · spread_interexchange_<tf>
GET/v1/spread/interexchange/historydata_type · spread_interexchange_<tf>_history

La seule surface de l’API qui nomme les places de marché — un écart n’ayant aucun sens sans elles. Le modèle est une prime par place : un prix de référence cross-place, puis l’écart de chacune à cette référence. Une paire quelconque se dérive côté client, par différence de deux primes.

ParamètreTypeDéfautDescription
symbolstringrequisL’actif.
timeframestringrequis1m, 5m, 15m, 30m, 1h, 4h, 1d.
livebooleanfalseExpose la fenêtre en cours.
limitinteger30Sur l’historique, de 1 à 500. Pas de fenêtre datée.
Réponse
{
  "status": "ok",
  "data_type": "spread_interexchange_1m",
  "data": {
    "timestamp": "2026-08-29T11:38:00+00:00",
    "timeframe": "1m",
    "is_closed": true,
    "ref_price": 71420.83,
    "weighting": "volume",
    "max_spread_bps": 5.4,
    "max_spread_pct": 0.054,
    "high": { "exchange": "venue_a", "price": 71423.10 },
    "low":  { "exchange": "venue_b", "price": 71414.55 },
    "venue_count": 2,
    "venues": [
      { "exchange": "venue_a", "price": 71423.10, "premium_bps":  3.2 },
      { "exchange": "venue_b", "price": 71414.55, "premium_bps": -2.2 }
    ]
  }
}
ChampTypeDescription
ref_pricefloatPrix de référence cross-place.
weightingstringvolume en régime nominal, mean en repli quand le volume manque.
max_spread_bps / max_spread_pctfloatL’amplitude entre la place la plus haute et la plus basse.
high / lowobjectLa place extrême et son prix.
venue_countintegerNombre de places sur la fenêtre, au moins deux.
venuesarrayUne entrée par place : exchange, price, premium_bps. Trié par prime décroissante.
is_closedbooleanFaux uniquement avec live=1.