Bitculator
Bitculator · Data API · v1

Bitculator Data API

73 endpoints 15 groupes X-Quota-* sur chaque appel http://localhost/api/v1

Tous les endpoints se trouvent sous /api/v1 et nécessitent une clé Bearer dotée de l'aptitude data-api — créez-en une dans votre console développeur.

Votre premier appel :

curl https://bitculator.com/api/v1/prices/bitcoin \
  -H "Authorization: Bearer YOUR_API_KEY"

Les réponses sont en JSON. Les prix, taux et offres sont des chaînes décimales (les flottants ne peuvent pas porter la précision du marché) ; les décomptes et valeurs analytiques sont des nombres. Chaque réponse transporte votre quota en direct dans les en-têtes X-Quota-Limit / X-Quota-Used / X-Quota-Reset, et les erreurs utilisent toujours l'enveloppe {"error": {"code", "message", "details"}}.

La Data API dispose de son propre quota mensuel, lié à votre forfait API et totalement distinct de vos widgets embed. Les plafonds per_page dépendent du forfait (Free 100, Starter/Pro 250) ; dépasser un plafond renvoie 422 au lieu d'écrêter.

Authentification

Pour authentifier vos requêtes, incluez un en-tête Authorization: Bearer {YOUR_API_KEY} à chaque requête.

Créez une clé Data API dans votre console développeur — les clés sont exclusivement Bearer et portent l'aptitude data-api. Conservez-les côté serveur ; elles ne sont jamais destinées à être intégrées côté client.

En-tête Authorization
Créer une clé →
Bearer
bc_••••••••••••••••

Envoyé sous la forme Authorization: Bearer {YOUR_API_KEY} à chaque requête.

9 endpoints

Cryptos

Données de marché classées des cryptos et tokens : listes paginées, détail d'une crypto, mouvements (gainers/losers), récemment ajoutés, en tendance, et séries temporelles par crypto. Les prix, le marketcap et l'offre sont des CHAÎNES décimales (les flottants ne peuvent pas porter la précision du marché) ; les variations en pourcentage, les rangs et les décomptes sont des nombres.

Lister les cryptos

Cryptos classées avec prix, filtres et sélecteurs, paginées avec l'enveloppe links + meta de Laravel. Les prix, le marketcap et circulating_supply sont des chaînes décimales ; les variations et les rangs sont des nombres.

GET
http://localhost/api/v1/coins
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

type
string optionnel
coin

Limiter à un seul type d'actif : coin ou token.

Une valeur parmi : coin token

status
string optionnel
active

Statut de listing : active, delisted, untracked, progressing, awaiting ou preparing. Par défaut, tous les statuts publics.

Une valeur parmi : active delisted untracked progressing awaiting preparing

search
string optionnel
bitcoin

Recherche en texte libre sur le nom ou le symbole. Ne doit pas dépasser 100 caractères.

min_price
number optionnel
0.5

Uniquement les cryptos dont le prix est supérieur ou égal à cette valeur USD. Doit être au moins 0.

max_price
number optionnel
100000

Uniquement les cryptos dont le prix est inférieur ou égal à cette valeur USD. Doit être au moins 0.

min_marketcap
number optionnel
1000000

Uniquement les cryptos dont le marketcap USD est supérieur ou égal à cette valeur. Doit être au moins 0.

max_marketcap
number optionnel
5000000000000

Uniquement les cryptos dont le marketcap USD est inférieur ou égal à cette valeur. Doit être au moins 0.

min_volume
number optionnel
1000000

Uniquement les cryptos dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les cryptos dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

ids
string optionnel
38,39

Limiter à des ids de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés avec slugs/symbols). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
bitcoin,ethereum

Limiter à des slugs de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 2000 caractères.

symbols
string optionnel
BTC,ETH

Limiter à des symbols de cryptos spécifiques (CSV, insensible à la casse, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 1000 caractères.

sort
string optionnel
-marketcap

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : marketcap, rank, price, volume_24h, change_24h, change_7d. Ne doit pas dépasser 100 caractères.

interval
string optionnel
24h

Fenêtre des mouvements pour /coins/gainers et /coins/losers uniquement : 24h ou 7d.

Une valeur parmi : 24h 7d

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins?page=1&per_page=50&type=coin&status=active&search=bitcoin&min_price=0.5&max_price=100000&min_marketcap=1000000&max_marketcap=5000000000000&min_volume=1000000&max_volume=100000000000&ids=38%2C39&slugs=bitcoin%2Cethereum&symbols=BTC%2CETH&sort=-marketcap&interval=24h" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Cryptos récemment ajoutées

Listings les plus récents — triés par status_updated_at (l'horodatage de passage en actif ; created_at est la date de crawl, qui précède le listing de durées arbitraires). Même structure de ligne et même enveloppe de pagination que List coins.

GET
http://localhost/api/v1/coins/recently-added
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

type
string optionnel
coin

Limiter à un seul type d'actif : coin ou token.

Une valeur parmi : coin token

status
string optionnel
active

Statut de listing : active, delisted, untracked, progressing, awaiting ou preparing. Par défaut, tous les statuts publics.

Une valeur parmi : active delisted untracked progressing awaiting preparing

search
string optionnel
bitcoin

Recherche en texte libre sur le nom ou le symbole. Ne doit pas dépasser 100 caractères.

min_price
number optionnel
0.5

Uniquement les cryptos dont le prix est supérieur ou égal à cette valeur USD. Doit être au moins 0.

max_price
number optionnel
100000

Uniquement les cryptos dont le prix est inférieur ou égal à cette valeur USD. Doit être au moins 0.

min_marketcap
number optionnel
1000000

Uniquement les cryptos dont le marketcap USD est supérieur ou égal à cette valeur. Doit être au moins 0.

max_marketcap
number optionnel
5000000000000

Uniquement les cryptos dont le marketcap USD est inférieur ou égal à cette valeur. Doit être au moins 0.

min_volume
number optionnel
1000000

Uniquement les cryptos dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les cryptos dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

ids
string optionnel
38,39

Limiter à des ids de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés avec slugs/symbols). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
bitcoin,ethereum

Limiter à des slugs de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 2000 caractères.

symbols
string optionnel
BTC,ETH

Limiter à des symbols de cryptos spécifiques (CSV, insensible à la casse, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 1000 caractères.

sort
string optionnel
-marketcap

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : marketcap, rank, price, volume_24h, change_24h, change_7d. Ne doit pas dépasser 100 caractères.

interval
string optionnel
24h

Fenêtre des mouvements pour /coins/gainers et /coins/losers uniquement : 24h ou 7d.

Une valeur parmi : 24h 7d

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/recently-added?page=1&per_page=50&type=coin&status=active&search=bitcoin&min_price=0.5&max_price=100000&min_marketcap=1000000&max_marketcap=5000000000000&min_volume=1000000&max_volume=100000000000&ids=38%2C39&slugs=bitcoin%2Cethereum&symbols=BTC%2CETH&sort=-marketcap&interval=24h" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Meilleures hausses

Plus fortes hausses sur la fenêtre interval (24h par défaut, ou 7d). Même structure de ligne et même enveloppe de pagination que List coins.

GET
http://localhost/api/v1/coins/gainers
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

type
string optionnel
coin

Limiter à un seul type d'actif : coin ou token.

Une valeur parmi : coin token

status
string optionnel
active

Statut de listing : active, delisted, untracked, progressing, awaiting ou preparing. Par défaut, tous les statuts publics.

Une valeur parmi : active delisted untracked progressing awaiting preparing

search
string optionnel
bitcoin

Recherche en texte libre sur le nom ou le symbole. Ne doit pas dépasser 100 caractères.

min_price
number optionnel
0.5

Uniquement les cryptos dont le prix est supérieur ou égal à cette valeur USD. Doit être au moins 0.

max_price
number optionnel
100000

Uniquement les cryptos dont le prix est inférieur ou égal à cette valeur USD. Doit être au moins 0.

min_marketcap
number optionnel
1000000

Uniquement les cryptos dont le marketcap USD est supérieur ou égal à cette valeur. Doit être au moins 0.

max_marketcap
number optionnel
5000000000000

Uniquement les cryptos dont le marketcap USD est inférieur ou égal à cette valeur. Doit être au moins 0.

min_volume
number optionnel
1000000

Uniquement les cryptos dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les cryptos dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

ids
string optionnel
38,39

Limiter à des ids de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés avec slugs/symbols). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
bitcoin,ethereum

Limiter à des slugs de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 2000 caractères.

symbols
string optionnel
BTC,ETH

Limiter à des symbols de cryptos spécifiques (CSV, insensible à la casse, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 1000 caractères.

sort
string optionnel
-marketcap

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : marketcap, rank, price, volume_24h, change_24h, change_7d. Ne doit pas dépasser 100 caractères.

interval
string optionnel
24h

Fenêtre des mouvements pour /coins/gainers et /coins/losers uniquement : 24h ou 7d.

Une valeur parmi : 24h 7d

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/gainers?page=1&per_page=50&type=coin&status=active&search=bitcoin&min_price=0.5&max_price=100000&min_marketcap=1000000&max_marketcap=5000000000000&min_volume=1000000&max_volume=100000000000&ids=38%2C39&slugs=bitcoin%2Cethereum&symbols=BTC%2CETH&sort=-marketcap&interval=24h" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Plus fortes baisses

Plus fortes baisses sur la fenêtre interval (24h par défaut, ou 7d). Même structure de ligne et même enveloppe de pagination que List coins.

GET
http://localhost/api/v1/coins/losers
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

type
string optionnel
coin

Limiter à un seul type d'actif : coin ou token.

Une valeur parmi : coin token

status
string optionnel
active

Statut de listing : active, delisted, untracked, progressing, awaiting ou preparing. Par défaut, tous les statuts publics.

Une valeur parmi : active delisted untracked progressing awaiting preparing

search
string optionnel
bitcoin

Recherche en texte libre sur le nom ou le symbole. Ne doit pas dépasser 100 caractères.

min_price
number optionnel
0.5

Uniquement les cryptos dont le prix est supérieur ou égal à cette valeur USD. Doit être au moins 0.

max_price
number optionnel
100000

Uniquement les cryptos dont le prix est inférieur ou égal à cette valeur USD. Doit être au moins 0.

min_marketcap
number optionnel
1000000

Uniquement les cryptos dont le marketcap USD est supérieur ou égal à cette valeur. Doit être au moins 0.

max_marketcap
number optionnel
5000000000000

Uniquement les cryptos dont le marketcap USD est inférieur ou égal à cette valeur. Doit être au moins 0.

min_volume
number optionnel
1000000

Uniquement les cryptos dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les cryptos dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

ids
string optionnel
38,39

Limiter à des ids de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés avec slugs/symbols). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
bitcoin,ethereum

Limiter à des slugs de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 2000 caractères.

symbols
string optionnel
BTC,ETH

Limiter à des symbols de cryptos spécifiques (CSV, insensible à la casse, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 1000 caractères.

sort
string optionnel
-marketcap

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : marketcap, rank, price, volume_24h, change_24h, change_7d. Ne doit pas dépasser 100 caractères.

interval
string optionnel
24h

Fenêtre des mouvements pour /coins/gainers et /coins/losers uniquement : 24h ou 7d.

Une valeur parmi : 24h 7d

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/losers?page=1&per_page=50&type=coin&status=active&search=bitcoin&min_price=0.5&max_price=100000&min_marketcap=1000000&max_marketcap=5000000000000&min_volume=1000000&max_volume=100000000000&ids=38%2C39&slugs=bitcoin%2Cethereum&symbols=BTC%2CETH&sort=-marketcap&interval=24h" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Obtenir le détail d'une crypto

Profil complet d'une crypto. Au-delà des champs de la liste, il ajoute : supply (en circulation/total/max), today OHLC, all_time_high / all_time_low (prix, date et percent_from le prix actuel), fully_diluted_valuation, les counts de marché (exchanges/pairs/tickers/wallets), decimals, genesis_date, les links officiels (liste d'url typées), les contracts de tokens, et une description HTML localisée (repli sur l'anglais lorsque la locale demandée est absente). Tous les champs de prix/offre sont des chaînes décimales.

GET
http://localhost/api/v1/coins/{slug}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

Paramètres de requête

locale
string optionnel
en

Langue du contenu pour la description (repli sur l'anglais).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin?locale=en" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Historique des bougies

Séries temporelles OHLC + volume + marketcap par crypto. Choisissez interval : minutely, half-hourly, hourly ou daily. La rétention est une propriété stricte du pipeline de rollup — minutely 8 jours, half-hourly 3 mois, hourly 6 mois, daily indéfiniment ; les requêtes au-delà d'une fenêtre renvoient ce qui existe. Lorsqu'un limit est défini, vous obtenez les N lignes LES PLUS RÉCENTES de la fenêtre, émises de la plus ancienne à la plus récente. Les prix sont des chaînes décimales.

GET
http://localhost/api/v1/coins/{slug}/history
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

Paramètres de requête

interval
string optionnel
daily

minutely, half-hourly, hourly ou daily (par défaut daily).

start
string optionnel
2026-06-01

Borne inférieure de date/heure ISO.

end
string optionnel
2026-06-30

Borne supérieure de date/heure ISO (une valeur avec date seule signifie jusqu'à la fin de ce jour).

limit
integer optionnel
30

Nombre max de lignes (1–2000, par défaut 1000).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/history?interval=daily&start=2026-06-01&end=2026-06-30&limit=30" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Historique du marketcap

Les mêmes rollups par crypto que Candle history, projetés uniquement sur {time, marketcap}. Mêmes choix d'interval et mêmes fenêtres de rétention (minutely 8 jours, half-hourly 3 mois, hourly 6 mois, daily indéfiniment), N plus récents lorsqu'un limit est défini.

GET
http://localhost/api/v1/coins/{slug}/marketcap-history
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

Paramètres de requête

interval
string optionnel
daily

minutely, half-hourly, hourly ou daily (par défaut daily).

start
string optionnel
2026-06-01

Borne inférieure de date/heure ISO.

end
string optionnel
2026-06-30

Borne supérieure de date/heure ISO.

limit
integer optionnel
30

Nombre max de lignes (1–2000, par défaut 1000).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/marketcap-history?interval=daily&start=2026-06-01&end=2026-06-30&limit=30" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Sparkline d'une crypto

Une série de prix compacte pour la crypto sur la period choisie, pour tracer des sparklines.

GET
http://localhost/api/v1/coins/{slug}/sparkline
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

Paramètres de requête

period
string optionnel
7d

24h, 7d, 30d, 60d, 90d, 180d ou 365d (par défaut 7d).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/sparkline?period=7d" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
3 endpoints

Prix

Le chemin rapide et léger des prix — prix actuel, marketcap, volume 24h et variations récentes pour un ensemble de cryptos demandé. /prices nécessite un sélecteur (ids, slugs ou symbols) ; /prices/{slug} cible une seule crypto. Vous pouvez éventuellement convert dans une devise fiat (les prix crypto sont actualisés ~chaque minute, les taux fiat ~deux fois par jour). Les prix et le marketcap sont des chaînes décimales.

Obtenir les prix

Prix pour un ensemble de cryptos demandé. Passez au moins un sélecteur — ids, slugs ou symbols (jusqu'à 100 combinés). meta.currency renvoie la devise cible de conversion (USD sauf si convert est défini).

GET
http://localhost/api/v1/prices
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

ids
string optionnel
38,39

Ids de cryptos à valoriser (CSV). Au moins l'un de ids, slugs ou symbols est requis ; les trois listes sont plafonnées à 100 sélecteurs au total. Ce champ est requis lorsque ni slugs ni symbols ne sont présents. Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
bitcoin,ethereum

Slugs de cryptos à valoriser (CSV). Au moins l'un de ids, slugs ou symbols est requis. Ce champ est requis lorsque ni ids ni symbols ne sont présents. Ne doit pas dépasser 2000 caractères.

symbols
string optionnel
BTC,ETH

Symbols de cryptos à valoriser (CSV, insensible à la casse). Au moins l'un de ids, slugs ou symbols est requis. Ce champ est requis lorsque ni ids ni slugs ne sont présents. Ne doit pas dépasser 1000 caractères.

convert
string optionnel
EUR

Convertir les prix/marketcap dans une devise fiat active par symbole (par défaut USD). Les taux de change sont actualisés ~deux fois par jour.

Une valeur parmi : USD EUR JPY BGN CZK DKK GBP HUF PLN RON SEK CHF ISK NOK HRK RUB TRY AUD BRL CAD CNY HKD IDR ILS INR KRW MXN MYR NZD PHP SGD THB ZAR ARS DZD MAD TWD

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/prices?ids=38%2C39&slugs=bitcoin%2Cethereum&symbols=BTC%2CETH&convert=EUR" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Obtenir le prix d'une crypto

Instantané du prix d'une crypto. Vous pouvez éventuellement convert dans une devise fiat active par symbole (par défaut USD).

GET
http://localhost/api/v1/prices/{slug}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

Paramètres de requête

convert
string optionnel
EUR

Symbole de devise fiat active pour la valorisation (par défaut USD).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/prices/bitcoin?convert=EUR" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Prix historique

Le prix en USD de la crypto à une date donnée, lu depuis l'historique quotidien (jour exact, repli à ±3 jours — le même résolveur que celui utilisé par le portefeuille). Crypto uniquement : les lignes fiat n'ont pas d'historique quotidien.

GET
http://localhost/api/v1/historical-price
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

slug
string requis
bitcoin

L'identifiant slug de la crypto.

date
string requis
2021-04-14

date La date de recherche (postérieure au 2008-12-31, pas dans le futur).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/historical-price?slug=bitcoin&date=2021-04-14" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
5 endpoints

Marchés

Tickers (marchés par exchange) et paires (marchés agrégés par plateforme), plus les marchés d'une crypto et les symboles de trading bruts par exchange. Tout cela est constitué de données instantanées — il n'existe pas d'historique par ticker/paire. Les volumes en USD sont des nombres ; les prix sont des chaînes décimales.

Marchés d'une crypto

Tous les marchés d'une crypto — les tickers dont la paire a la crypto en base OU en cotation. Même structure de ligne et mêmes filtres que List tickers.

GET
http://localhost/api/v1/coins/{slug}/markets
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

exchange
string optionnel
binance-exchange

Limiter à un seul exchange par slug (à omettre sur la liste par exchange, qui est déjà cadrée). Doit correspondre à l'expression régulière /^[a-z0-9-]{1,120}$/.

pair
integer optionnel
1

Limiter à une seule paire par id. Doit être au moins 1.

instrument
string optionnel
spot

Type d'instrument : future, option, swap, spot ou margin (pluriels acceptés).

Une valeur parmi : future option swap spot margin

search
string optionnel
BTC

Recherche en texte libre sur le symbole du ticker. Ne doit pas dépasser 50 caractères.

min_volume
number optionnel
1000000

Uniquement les tickers dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les tickers dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

min_change
number optionnel
-50

Uniquement les tickers dont la variation en pourcentage sur 24h est supérieure ou égale à cette valeur.

max_change
number optionnel
50

Uniquement les tickers dont la variation en pourcentage sur 24h est inférieure ou égale à cette valeur.

sort
string optionnel
-volume_usd

Un seul champ de tri (préfixer par - pour l'ordre décroissant). Triables : volume_usd, change_24h, price_usd, updated. Par défaut -volume_usd. Ne doit pas dépasser 100 caractères.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/markets?page=1&per_page=50&exchange=binance-exchange&pair=1&instrument=spot&search=BTC&min_volume=1000000&max_volume=100000000000&min_change=-50&max_change=50&sort=-volume_usd" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Symboles de trading d'une crypto

Les symboles de trading bruts par exchange de la crypto — données de référence peu renseignées (la couverture est au mieux).

GET
http://localhost/api/v1/coins/{slug}/symbols
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/symbols" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Lister les tickers

Marchés individuels par exchange (tickers), paginés. Filtrez par exchange, paire, instrument et plages de volume/variation. Les volumes en USD sont des nombres ; les prix sont des chaînes décimales.

GET
http://localhost/api/v1/tickers
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

exchange
string optionnel
binance-exchange

Limiter à un seul exchange par slug (à omettre sur la liste par exchange, qui est déjà cadrée). Doit correspondre à l'expression régulière /^[a-z0-9-]{1,120}$/.

pair
integer optionnel
1

Limiter à une seule paire par id. Doit être au moins 1.

instrument
string optionnel
spot

Type d'instrument : future, option, swap, spot ou margin (pluriels acceptés).

Une valeur parmi : future option swap spot margin

search
string optionnel
BTC

Recherche en texte libre sur le symbole du ticker. Ne doit pas dépasser 50 caractères.

min_volume
number optionnel
1000000

Uniquement les tickers dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les tickers dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

min_change
number optionnel
-50

Uniquement les tickers dont la variation en pourcentage sur 24h est supérieure ou égale à cette valeur.

max_change
number optionnel
50

Uniquement les tickers dont la variation en pourcentage sur 24h est inférieure ou égale à cette valeur.

sort
string optionnel
-volume_usd

Un seul champ de tri (préfixer par - pour l'ordre décroissant). Triables : volume_usd, change_24h, price_usd, updated. Par défaut -volume_usd. Ne doit pas dépasser 100 caractères.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/tickers?page=1&per_page=50&exchange=binance-exchange&pair=1&instrument=spot&search=BTC&min_volume=1000000&max_volume=100000000000&min_change=-50&max_change=50&sort=-volume_usd" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Lister les paires

Paires de trading agrégées par plateforme, classées par volume USD 24h. Filtrez par un slug de crypto (base ou cotation) et par plage de volume.

GET
http://localhost/api/v1/pairs
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

search
string optionnel
BTC

Recherche en texte libre sur le symbole de la paire. Ne doit pas dépasser 50 caractères.

coin
string optionnel
bitcoin

Limiter aux paires où ce slug de crypto est l'actif de base ou de cotation. Doit correspondre à l'expression régulière /^[a-z0-9-]{1,120}$/.

min_volume
number optionnel
1000000

Uniquement les paires dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les paires dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

sort
string optionnel
-volume_usd

Champ de tri : volume_usd ou updated (préfixer par - pour l'ordre décroissant). Par défaut -volume_usd.

Une valeur parmi : volume_usd -volume_usd updated -updated

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/pairs?page=1&per_page=50&search=BTC&coin=bitcoin&min_volume=1000000&max_volume=100000000000&sort=-volume_usd" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Obtenir le détail d'une paire

Une paire ainsi que chaque ticker d'exchange la listant, ordonnés par volume.

GET
http://localhost/api/v1/pairs/{id}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

id
integer requis
1

L'id de la paire.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/pairs/1" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
7 endpoints

Exchanges

Classements des exchanges, détail, scores de confiance, séries temporelles et listes de marchés/cryptos par exchange. Les volumes sont en USD. Il n'y a pas de colonne CEX/DEX — type est dérivé de la taxonomie des exchanges, il peut donc valoir "cex", "dex" ou null.

Lister les exchanges

Exchanges classés avec volume 24h, dominance, décomptes de paires/actifs et variations récentes. Paginés avec l'enveloppe links + meta de Laravel.

GET
http://localhost/api/v1/exchanges
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

type
string optionnel
cex

Limiter à un type de plateforme : cex ou dex (résolu via la taxonomie des exchanges).

Une valeur parmi : cex dex

search
string optionnel
binance

Recherche en texte libre sur le nom de l'exchange. Ne doit pas dépasser 100 caractères.

min_pairs
integer optionnel
100

Uniquement les exchanges listant au moins ce nombre de paires. Doit être au moins 0.

max_pairs
integer optionnel
2000

Uniquement les exchanges listant au plus ce nombre de paires. Doit être au moins 0.

min_assets
integer optionnel
50

Uniquement les exchanges listant au moins ce nombre d'actifs. Doit être au moins 0.

max_assets
integer optionnel
1000

Uniquement les exchanges listant au plus ce nombre d'actifs. Doit être au moins 0.

min_volume
number optionnel
1000000

Uniquement les exchanges dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les exchanges dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

ids
string optionnel
1,12

Limiter à des ids d'exchanges spécifiques (CSV, jusqu'à 100). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
binance-exchange,gateio

Limiter à des slugs d'exchanges spécifiques (CSV, jusqu'à 100). Ne doit pas dépasser 2000 caractères.

sort
string optionnel
-volume

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : volume, rank, volume_dominance, change_24h, change_7d, pairs, assets. Ne doit pas dépasser 100 caractères.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/exchanges?page=1&per_page=50&type=cex&search=binance&min_pairs=100&max_pairs=2000&min_assets=50&max_assets=1000&min_volume=1000000&max_volume=100000000000&ids=1%2C12&slugs=binance-exchange%2Cgateio&sort=-volume" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Obtenir le détail d'un exchange

Profil complet d'un exchange : classement, volume/dominance, décomptes de paires et d'actifs, date established, location, website de parrainage, et le type dérivé (cex/dex/null).

GET
http://localhost/api/v1/exchanges/{slug}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
binance-exchange

Le slug de l'exchange.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/exchanges/binance-exchange" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Obtenir le score de confiance d'un exchange

Un score de confiance agrégé de 0 à 10 ainsi que sa breakdown à 13 facteurs (rank, volume, age, volume_trend, stability, rank_stability, ticker_health, pairs, community, assets, dominance, market_breadth, transparency). Calculé par exchange et mis en cache 24h.

GET
http://localhost/api/v1/exchanges/{slug}/trust-score
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
binance-exchange

Le slug de l'exchange.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/exchanges/binance-exchange/trust-score" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Historique d'un exchange

Séries temporelles de volume / dominance / paires / actifs (les rollups d'exchange ne portent pas d'OHLC). Choisissez interval : minutely, hourly ou daily. La rétention est une propriété stricte du pipeline de rollup — minutely 8 jours, hourly 6 mois, daily indéfiniment ; lorsqu'un limit est défini, vous obtenez les N lignes les plus récentes de la fenêtre, de la plus ancienne à la plus récente.

GET
http://localhost/api/v1/exchanges/{slug}/history
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
binance-exchange

Le slug de l'exchange.

Paramètres de requête

interval
string optionnel
daily

minutely, hourly ou daily (par défaut daily).

start
string optionnel
2026-06-01

Borne inférieure de date/heure ISO.

end
string optionnel
2026-06-30

Borne supérieure de date/heure ISO (une valeur avec date seule signifie jusqu'à la fin de ce jour).

limit
integer optionnel
30

Nombre max de lignes (1–2000, par défaut 1000).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/exchanges/binance-exchange/history?interval=daily&start=2026-06-01&end=2026-06-30&limit=30" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Sparkline d'un exchange

La série sparkline de volume de l'exchange pour une période (par défaut 7d) — la même série que celle affichée par les lignes d'exchange du web.

GET
http://localhost/api/v1/exchanges/{slug}/sparkline
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
binance-exchange

Le slug de l'exchange.

Paramètres de requête

period
string optionnel
7d

L'une de 24h, 7d (par défaut), 30d, 60d, 90d, 180d, 365d.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/exchanges/binance-exchange/sparkline?period=7d" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Marchés d'un exchange

Les listings de tickers de l'exchange (ses marchés), paginés. Déjà cadrés sur l'exchange — ne passez pas de paramètre exchange ici.

GET
http://localhost/api/v1/exchanges/{slug}/tickers
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
binance-exchange

Le slug de l'exchange.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

exchange
string optionnel
binance-exchange

Limiter à un seul exchange par slug (à omettre sur la liste par exchange, qui est déjà cadrée). Doit correspondre à l'expression régulière /^[a-z0-9-]{1,120}$/.

pair
integer optionnel
1

Limiter à une seule paire par id. Doit être au moins 1.

instrument
string optionnel
spot

Type d'instrument : future, option, swap, spot ou margin (pluriels acceptés).

Une valeur parmi : future option swap spot margin

search
string optionnel
BTC

Recherche en texte libre sur le symbole du ticker. Ne doit pas dépasser 50 caractères.

min_volume
number optionnel
1000000

Uniquement les tickers dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les tickers dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

min_change
number optionnel
-50

Uniquement les tickers dont la variation en pourcentage sur 24h est supérieure ou égale à cette valeur.

max_change
number optionnel
50

Uniquement les tickers dont la variation en pourcentage sur 24h est inférieure ou égale à cette valeur.

sort
string optionnel
-volume_usd

Un seul champ de tri (préfixer par - pour l'ordre décroissant). Triables : volume_usd, change_24h, price_usd, updated. Par défaut -volume_usd. Ne doit pas dépasser 100 caractères.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/exchanges/binance-exchange/tickers?page=1&per_page=50&exchange=binance-exchange&pair=1&instrument=spot&search=BTC&min_volume=1000000&max_volume=100000000000&min_change=-50&max_change=50&sort=-volume_usd" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Cryptos d'un exchange

Cryptos listées sur l'exchange, renvoyées dans la même structure que List coins et acceptant les mêmes filtres/tri.

GET
http://localhost/api/v1/exchanges/{slug}/assets
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
binance-exchange

Le slug de l'exchange.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

type
string optionnel
coin

Limiter à un seul type d'actif : coin ou token.

Une valeur parmi : coin token

status
string optionnel
active

Statut de listing : active, delisted, untracked, progressing, awaiting ou preparing. Par défaut, tous les statuts publics.

Une valeur parmi : active delisted untracked progressing awaiting preparing

search
string optionnel
bitcoin

Recherche en texte libre sur le nom ou le symbole. Ne doit pas dépasser 100 caractères.

min_price
number optionnel
0.5

Uniquement les cryptos dont le prix est supérieur ou égal à cette valeur USD. Doit être au moins 0.

max_price
number optionnel
100000

Uniquement les cryptos dont le prix est inférieur ou égal à cette valeur USD. Doit être au moins 0.

min_marketcap
number optionnel
1000000

Uniquement les cryptos dont le marketcap USD est supérieur ou égal à cette valeur. Doit être au moins 0.

max_marketcap
number optionnel
5000000000000

Uniquement les cryptos dont le marketcap USD est inférieur ou égal à cette valeur. Doit être au moins 0.

min_volume
number optionnel
1000000

Uniquement les cryptos dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les cryptos dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

ids
string optionnel
38,39

Limiter à des ids de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés avec slugs/symbols). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
bitcoin,ethereum

Limiter à des slugs de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 2000 caractères.

symbols
string optionnel
BTC,ETH

Limiter à des symbols de cryptos spécifiques (CSV, insensible à la casse, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 1000 caractères.

sort
string optionnel
-marketcap

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : marketcap, rank, price, volume_24h, change_24h, change_7d. Ne doit pas dépasser 100 caractères.

interval
string optionnel
24h

Fenêtre des mouvements pour /coins/gainers et /coins/losers uniquement : 24h ou 7d.

Une valeur parmi : 24h 7d

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/exchanges/binance-exchange/assets?page=1&per_page=50&type=coin&status=active&search=bitcoin&min_price=0.5&max_price=100000&min_marketcap=1000000&max_marketcap=5000000000000&min_volume=1000000&max_volume=100000000000&ids=38%2C39&slugs=bitcoin%2Cethereum&symbols=BTC%2CETH&sort=-marketcap&interval=24h" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
5 endpoints

Wallets

Avis sur les wallets crypto — score de l'avis, nombre d'actifs pris en charge, décomptes des avantages/inconvénients, modèle tarifaire et date de sortie, plus une taxonomie de tags groupés dans les réponses de détail/comparaison. meta.top_score est le score le plus élevé parmi tous les wallets (utilisez-le pour normaliser les scores dans une plage de 0 à 1).

Lister les wallets

Wallets évalués avec score, nombre d'actifs, décomptes d'avantages/inconvénients, modèle tarifaire, statut et date de sortie. Paginés avec l'enveloppe links + meta de Laravel, plus meta.top_score.

GET
http://localhost/api/v1/wallets
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

search
string optionnel
ledger

Recherche en texte libre sur le nom du wallet. Ne doit pas dépasser 100 caractères.

min_score
integer optionnel
50

Uniquement les wallets dont le score d'avis est supérieur ou égal à cette valeur. Doit être au moins 0.

max_score
integer optionnel
214

Uniquement les wallets dont le score d'avis est inférieur ou égal à cette valeur. Doit être au moins 0.

tags
string optionnel
12,34

Filtrer par taxonomie de tags : ids de groupes de catégories séparés par des virgules (les mêmes ids que ceux soumis par les filtres à facettes du web). Ne doit pas dépasser 1000 caractères.

ids
string optionnel
175,317

Limiter à des ids de wallets spécifiques (CSV, jusqu'à 100). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
frostsnap,coin98-fusion-card

Limiter à des slugs de wallets spécifiques (CSV, jusqu'à 100). Ne doit pas dépasser 2000 caractères.

sort
string optionnel
-score

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : score, released_at, assets, pros, cons. Ne doit pas dépasser 100 caractères.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/wallets?page=1&per_page=50&search=ledger&min_score=50&max_score=214&tags=12%2C34&ids=175%2C317&slugs=frostsnap%2Ccoin98-fusion-card&sort=-score" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Chronologie des sorties de wallets

La liste des wallets fixée sur released_at décroissant (les wallets sans date en dernier). Même structure de ligne et même enveloppe de pagination que List wallets.

GET
http://localhost/api/v1/wallets/timeline
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

search
string optionnel
ledger

Recherche en texte libre sur le nom du wallet. Ne doit pas dépasser 100 caractères.

min_score
integer optionnel
50

Uniquement les wallets dont le score d'avis est supérieur ou égal à cette valeur. Doit être au moins 0.

max_score
integer optionnel
214

Uniquement les wallets dont le score d'avis est inférieur ou égal à cette valeur. Doit être au moins 0.

tags
string optionnel
12,34

Filtrer par taxonomie de tags : ids de groupes de catégories séparés par des virgules (les mêmes ids que ceux soumis par les filtres à facettes du web). Ne doit pas dépasser 1000 caractères.

ids
string optionnel
175,317

Limiter à des ids de wallets spécifiques (CSV, jusqu'à 100). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
frostsnap,coin98-fusion-card

Limiter à des slugs de wallets spécifiques (CSV, jusqu'à 100). Ne doit pas dépasser 2000 caractères.

sort
string optionnel
-score

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : score, released_at, assets, pros, cons. Ne doit pas dépasser 100 caractères.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/wallets/timeline?page=1&per_page=50&search=ledger&min_score=50&max_score=214&tags=12%2C34&ids=175%2C317&slugs=frostsnap%2Ccoin98-fusion-card&sort=-score" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Comparer des wallets

Comparaison côte à côte de 2 à 4 wallets avec leur taxonomie de tags groupés complète. data[] conserve l'ordre des slugs demandé afin que les consommateurs puissent afficher les colonnes par position.

GET
http://localhost/api/v1/wallets/compare
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

slugs
string requis
frostsnap,coin98-fusion-card

2 à 4 slugs de wallet distincts, séparés par des virgules.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/wallets/compare?slugs=frostsnap%2Ccoin98-fusion-card" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Obtenir le détail d'un wallet

Profil complet d'un wallet incluant la taxonomie de tags groupés : categories est une liste de {group, tags[]} où chaque tag possède un slug, un nom et une valeur optionnelle. meta.top_score est le score le plus élevé parmi tous les wallets.

GET
http://localhost/api/v1/wallets/{slug}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
frostsnap

Le slug du wallet.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/wallets/frostsnap" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Cryptos prises en charge par un wallet

Cryptos prises en charge par le wallet, renvoyées dans la même structure que List coins et acceptant les mêmes filtres/tri.

GET
http://localhost/api/v1/wallets/{slug}/assets
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
frostsnap

Le slug du wallet.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

type
string optionnel
coin

Limiter à un seul type d'actif : coin ou token.

Une valeur parmi : coin token

status
string optionnel
active

Statut de listing : active, delisted, untracked, progressing, awaiting ou preparing. Par défaut, tous les statuts publics.

Une valeur parmi : active delisted untracked progressing awaiting preparing

search
string optionnel
bitcoin

Recherche en texte libre sur le nom ou le symbole. Ne doit pas dépasser 100 caractères.

min_price
number optionnel
0.5

Uniquement les cryptos dont le prix est supérieur ou égal à cette valeur USD. Doit être au moins 0.

max_price
number optionnel
100000

Uniquement les cryptos dont le prix est inférieur ou égal à cette valeur USD. Doit être au moins 0.

min_marketcap
number optionnel
1000000

Uniquement les cryptos dont le marketcap USD est supérieur ou égal à cette valeur. Doit être au moins 0.

max_marketcap
number optionnel
5000000000000

Uniquement les cryptos dont le marketcap USD est inférieur ou égal à cette valeur. Doit être au moins 0.

min_volume
number optionnel
1000000

Uniquement les cryptos dont le volume USD 24h est supérieur ou égal à cette valeur. Doit être au moins 0.

max_volume
number optionnel
100000000000

Uniquement les cryptos dont le volume USD 24h est inférieur ou égal à cette valeur. Doit être au moins 0.

ids
string optionnel
38,39

Limiter à des ids de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés avec slugs/symbols). Ne doit pas dépasser 1000 caractères.

slugs
string optionnel
bitcoin,ethereum

Limiter à des slugs de cryptos spécifiques (CSV, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 2000 caractères.

symbols
string optionnel
BTC,ETH

Limiter à des symbols de cryptos spécifiques (CSV, insensible à la casse, jusqu'à 100 sélecteurs combinés). Ne doit pas dépasser 1000 caractères.

sort
string optionnel
-marketcap

Champs de tri séparés par des virgules ; préfixer par - pour l'ordre décroissant. Triables : marketcap, rank, price, volume_24h, change_24h, change_7d. Ne doit pas dépasser 100 caractères.

interval
string optionnel
24h

Fenêtre des mouvements pour /coins/gainers et /coins/losers uniquement : 24h ou 7d.

Une valeur parmi : 24h 7d

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/wallets/frostsnap/assets?page=1&per_page=50&type=coin&status=active&search=bitcoin&min_price=0.5&max_price=100000&min_marketcap=1000000&max_marketcap=5000000000000&min_volume=1000000&max_volume=100000000000&ids=38%2C39&slugs=bitcoin%2Cethereum&symbols=BTC%2CETH&sort=-marketcap&interval=24h" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
3 endpoints

Marché global

Agrégats à l'échelle du marché — marketcap et volume totaux, décomptes d'actifs/exchanges/paires/marchés, dominance BTC/ETH avec un top 3 basé sur le rang, la lecture Fear & Greed du marché, plus une heatmap du top 100 et l'historique du marketcap/volume.

Instantané du marché global

Aperçu du marché en une requête : marketcap total et volume 24h, décomptes de cryptomonnaies / tokens / exchanges / paires / marchés, dominance (part de BTC & ETH plus le top3 basé sur le rang), et la lecture fear_greed du marché.

GET
http://localhost/api/v1/global
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/global" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Heatmap du marché

Lignes du treemap du top 100 ainsi que des statistiques de cadrage (marketcap/volume total, dominance et le score Fear & Greed du marché) — le pendant API de la heatmap du web.

GET
http://localhost/api/v1/global/heatmap
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/global/heatmap" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Historique du marketcap / volume global

Séries temporelles du marché total pour marketcap ou volume. La granularité suit la period : 24h = toutes les demi-heures, 7d = toutes les heures, 30d/all = quotidienne (les rollups plus fins sont purgés).

GET
http://localhost/api/v1/global/history/{metric}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

metric
string requis
marketcap

Quelle série : marketcap ou volume.

Paramètres de requête

period
string optionnel
7d

24h, 7d, 30d ou all (par défaut 24h).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/global/history/marketcap?period=7d" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
6 endpoints

Sentiment

Indices de sentiment du marché et par crypto. Fear & Greed et Bull/Bear sont des INSTANTANÉS actualisés toutes les 15 minutes — seule la lecture actuelle existe, il n'y a pas de série temporelle pour eux. L'altseason dispose d'un historique quotidien complet. indicators est le décompte technique à l'échelle du marché.

Décomptes des votes de la communauté

Les décomptes haussiers/baissiers de la communauté pour la crypto sur la fenêtre glissante de 24h.

GET
http://localhost/api/v1/coins/{slug}/votes
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

L'identifiant slug de la crypto.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/votes" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Émettre un vote de sentiment

Enregistre le vote de sentiment du propriétaire de la clé pour une crypto. Un vote par propriétaire de clé, par crypto et par fenêtre glissante de 24h — revoter dans la fenêtre met à jour le vote existant.

POST
http://localhost/api/v1/coins/{slug}/votes
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

L'identifiant slug de la crypto.

Paramètres du corps

vote
string requis
bullish

Votre sentiment : bullish ou bearish.

Requête

curl --request POST \
    "http://localhost/api/v1/coins/bitcoin/votes" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vote\": \"bullish\"
}"

Indice Fear & Greed

La lecture Fear & Greed actuelle (un instantané de 15 minutes — pas d'historique). Omettez coin pour l'indice à l'échelle du marché, ou passez un slug de crypto pour une lecture par crypto. intervals porte les sous-scores 7d/30d et la ventilation de leurs composantes.

GET
http://localhost/api/v1/sentiment/fear-greed
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

coin
string optionnel
bitcoin

Slug de la crypto pour une lecture par crypto ; à omettre pour l'indice de marché.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/sentiment/fear-greed?coin=bitcoin" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Indice Bull / Bear

La lecture Bull/Bear actuelle (un instantané de 15 minutes — pas d'historique). Omettez coin pour l'indice à l'échelle du marché, ou passez un slug de crypto pour une lecture par crypto.

GET
http://localhost/api/v1/sentiment/bull-bear
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

coin
string optionnel
bitcoin

Slug de la crypto pour une lecture par crypto ; à omettre pour l'indice de marché.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/sentiment/bull-bear?coin=bitcoin" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Indice d'altseason

La lecture altseason actuelle (nombre de cryptos surperformant BTC parmi le top 100), avec un history quotidien optionnel. Contrairement à Fear & Greed, l'altseason dispose d'un historique quotidien complet — passez days pour l'inclure.

GET
http://localhost/api/v1/sentiment/altseason
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

days
integer optionnel
30

Nombre de jours d'historique quotidien à inclure (1–365 ; 0/omis = uniquement l'actuel).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/sentiment/altseason?days=30" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Décompte des indicateurs de marché

Le décompte technique à l'échelle du marché — 25 catégories d'indicateurs agrégées, chacune avec son état actuel, son score et ses données de catégorie.

GET
http://localhost/api/v1/sentiment/indicators
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/sentiment/indicators" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
2 endpoints

Indicateurs

Indicateurs techniques par crypto — un instantané multi-indicateurs plus des séries temporelles quotidiennes par famille. Toutes les familles sont des séries QUOTIDIENNES calculées à partir de bougies quotidiennes (rétention complète ; les actifs jeunes renvoient des null de préchauffage jusqu'à ce qu'il y ait assez d'historique). Les familles à échelle de prix (sma, vwap, macd, obv) émettent des chaînes décimales ; les oscillateurs bornés émettent des nombres. Certaines périodes à fenêtre longue nécessitent un forfait payant (voir l'endpoint de la famille).

Instantané des indicateurs

L'instantané multi-indicateurs — le dernier state (bullish/bearish/sheepish…), le score et les data bruts de chaque catégorie d'indicateurs, en une seule charge utile.

GET
http://localhost/api/v1/coins/{slug}/indicators
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/indicators" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Séries d'une famille d'indicateurs

La série temporelle quotidienne d'une famille d'indicateurs. Les familles à fenêtres multiples acceptent un period, et les fenêtres valides diffèrent selon la famille : RSI/Stoch-RSI 7/14/21/28, SMA 50/100/200, CCI 20/50/100, MFI 7/14/28, Williams %R 14/20/50, price/volume-volatility 7/14/30. Les familles à série unique (MACD, OBV, ADX, VWAP, CMF) ignorent period. Les cryptos jeunes renvoient des null de préchauffage en début de série.

Certaines fenêtres longues nécessitent un forfait payant : RSI & Stoch-RSI 21/28 jours et les fenêtres de volatilité à 30 jours requièrent Starter ou supérieur — les demander sur le forfait Free renvoie 403 avec le code plan_required.

GET
http://localhost/api/v1/coins/{slug}/indicators/{family}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

Le slug de la crypto.

family
string requis
rsi

Famille d'indicateurs — l'une de rsi, stoch-rsi, sma, cci, mfi, williams-r, price-volatility, volume-volatility, macd, obv, adx, vwap, cmf.

Paramètres de requête

period
integer optionnel
14

Longueur de la fenêtre (uniquement lorsque la famille possède des fenêtres ; doit être l'une des fenêtres valides de cette famille).

start
string optionnel
2026-06-01

Borne inférieure de date ISO.

end
string optionnel
2026-06-30

Borne supérieure de date ISO.

limit
integer optionnel
30

Nombre max de lignes (1–1000, par défaut 365).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/indicators/rsi?period=14&start=2026-06-01&end=2026-06-30&limit=30" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
6 endpoints

Liquidations

Liquidations sur les dérivés. La couverture des sources se limite actuellement aux seuls marchés swap d'OKX (précisé dans chaque meta.note). Le flux BRUT (la liste /liquidations et la ventilation horaire) est purgé après ~48 heures ; les agrégats quotidiens sont conservés indéfiniment. Les agrégats du jour sont partiels et se mettent à jour environ toutes les 15 minutes.

Flux des liquidations

Le flux brut des liquidations (~48 dernières heures, puis purgé), du plus récent au plus ancien. La couverture des sources se limite actuellement aux marchés swap d'OKX. Les prix sont des chaînes décimales. meta porte les champs de pagination ainsi qu'un retention et un note.

GET
http://localhost/api/v1/liquidations
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1). Doit être au moins 1.

per_page
integer optionnel
50

Lignes par page. Le plafond dépend du forfait (Free 100, Starter/Pro 250) ; le dépasser renvoie 422 au lieu d'écrêter. Doit être au moins 1. Ne doit pas dépasser 100.

exchange
string optionnel
okx

Limiter à un seul exchange par slug. La couverture des sources se limite actuellement aux marchés swap d'OKX. Doit correspondre à l'expression régulière /^[a-z0-9-]{1,120}$/.

instrument
string optionnel
swap

Type d'instrument : future, option, swap, spot ou margin.

Une valeur parmi : future option swap spot margin

position
string optionnel
short

Sens de la position liquidée : long ou short.

Une valeur parmi : long short

order
string optionnel
buy

Côté de l'exécution ayant déclenché la liquidation : buy ou sell.

Une valeur parmi : buy sell

symbol
string optionnel
BTC

Correspondance par préfixe sur l'instId de la plateforme (p. ex. BTC correspond à BTC-USDT-SWAP). Doit correspondre à l'expression régulière /^[A-Za-z0-9$.-]{1,25}$/.

min_usd
number optionnel
1000

Uniquement les liquidations dont la valeur USD est supérieure ou égale à ce seuil. Doit être au moins 0.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/liquidations?page=1&per_page=50&exchange=okx&instrument=swap&position=short&order=buy&symbol=BTC&min_usd=1000" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Liquidations horaires

Totaux USD long/short horaires sur le flux brut. Comme le flux brut est purgé à ~48h, hours est plafonné à 48. La couverture des sources se limite actuellement aux marchés swap d'OKX.

GET
http://localhost/api/v1/liquidations/hourly
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

hours
integer optionnel
24

Fenêtre rétrospective en heures (1–48, par défaut 24).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/liquidations/hourly?hours=24" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Liquidations quotidiennes

Agrégats quotidiens (conservés indéfiniment), sommés sur l'ensemble des exchanges/instruments par jour — USD total/long/short plus les décomptes de positions long/short. La ligne du jour est partielle et se met à jour environ toutes les 15 minutes. La couverture des sources se limite actuellement aux marchés swap d'OKX.

GET
http://localhost/api/v1/liquidations/daily
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

days
integer optionnel
30

Nombre de jours calendaires, aujourd'hui inclus (1–365, par défaut 30).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/liquidations/daily?days=30" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Résumé des liquidations du jour

La journée jusqu'à présent — USD total/long/short, décomptes de positions et dominance long/short. Les chiffres sont partiels et se mettent à jour environ toutes les 15 minutes ; data est null jusqu'à ce que la première liquidation du jour soit enregistrée. La couverture des sources se limite actuellement aux marchés swap d'OKX.

GET
http://localhost/api/v1/liquidations/summary
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/liquidations/summary" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Flux net des liquidations

Flux USD de liquidations long/short par jour sur la fenêtre. La couverture des sources se limite actuellement aux marchés swap d'OKX.

GET
http://localhost/api/v1/liquidations/netflow
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

days
integer optionnel
30

Nombre de jours calendaires, aujourd'hui inclus (1–90, par défaut 30).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/liquidations/netflow?days=30" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Cryptos les plus liquidées

Principales cryptos par volume de liquidations sur la fenêtre récente, avec la répartition USD long/short par crypto. La couverture des sources se limite actuellement aux marchés swap d'OKX.

GET
http://localhost/api/v1/liquidations/coins
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

hours
integer optionnel
24

Fenêtre rétrospective en heures (1–48, par défaut 24).

limit
integer optionnel
8

Nombre de cryptos à renvoyer (1–20, par défaut 8).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/liquidations/coins?hours=24&limit=8" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
3 endpoints

Conversion

Convertissez entre deux actifs pris en charge quelconques (crypto ET fiat), et listez les devises utilisables comme jambes de conversion. Les valeurs sont des chaînes décimales. Les taux de change fiat sont actualisés ~deux fois par jour ; les taux crypto ~chaque minute.

Convertir entre actifs

Conversion côté serveur entre deux actifs pris en charge quelconques (crypto ET fiat). to accepte un CSV pour une conversion multi-cibles ; inverser revient simplement à permuter from/to. La conversion est linéaire, donc value = unit_rate * amount. Les taux de change fiat sont actualisés ~deux fois par jour ; les taux crypto ~chaque minute.

GET
http://localhost/api/v1/convert
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

from
string requis
bitcoin

Slug de l'actif source.

to
string requis
ethereum

Slug(s) de l'actif cible, séparés par des virgules (jusqu'à 10).

amount
number optionnel
2.5

Montant de l'actif source à convertir (par défaut 1).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/convert?from=bitcoin&to=ethereum&amount=2.5" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Lister les devises fiat

Les devises fiat actives avec leurs taux de change en USD : rate_per_usd (unités par USD) et son inverse usd_value. Les taux de change fiat sont actualisés ~deux fois par jour.

GET
http://localhost/api/v1/fiats
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/fiats" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Lister les taux de conversion

Les devises de contrepartie utilisables comme jambes de conversion — les principaux fiats, cryptos et tokens — chacune avec un usd_value normalisé (USD par unité). Les valeurs des cryptos/tokens sont actualisées ~chaque minute ; les taux fiat plus lents sont mis en cache séparément (~deux fois par jour).

GET
http://localhost/api/v1/rates
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/rates" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
5 endpoints

Calculateurs

Calculateurs financiers côté serveur reproduisant les outils web : DCA, profits/pertes et prêt (qui lisent des données de marché mises en cache), plus des calculs d'intérêts composés et de staking sans état.

Calculateur DCA

Backtest de dollar-cost averaging sur l'historique réel des prix quotidiens de la crypto : un achat de amount par interval entre start et end. Passez series=true pour inclure la série complète par achat.

GET
http://localhost/api/v1/calculators/dca
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

slug
string requis
bitcoin

L'identifiant slug de la crypto.

amount
number requis
100

USD dépensés par achat (0.01–1,000,000,000).

interval
string requis
weekly

Cadence d'achat : daily, weekly, monthly, quarterly ou yearly.

start
string requis
2024-01-01

date Date du premier achat (postérieure au 2008-12-31).

end
string optionnel
2025-01-01

date Date du dernier achat (par défaut aujourd'hui).

series
boolean optionnel
false

Inclure la série par achat dans la charge utile.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/calculators/dca?slug=bitcoin&amount=100&interval=weekly&start=2024-01-01&end=2025-01-01&series=" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Calculateur de profits / pertes

Ce qu'un achat-puis-vente entre deux dates historiques a rapporté, en utilisant les prix réels de la crypto à ces dates. Les frais sont des montants fixes en USD, et non des pourcentages.

GET
http://localhost/api/v1/calculators/profit-loss
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

slug
string requis
bitcoin

L'identifiant slug de la crypto.

amount
number requis
1000

USD investis à buy_date (0.01–1,000,000,000).

buy_date
string requis
2023-01-01

date Date d'achat.

sell_date
string requis
2025-01-01

date Date de vente (à partir de buy_date).

buy_fee
number optionnel
10

Frais d'achat fixes en USD (par défaut 0).

sell_fee
number optionnel
10

Frais de vente fixes en USD (par défaut 0).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/calculators/profit-loss?slug=bitcoin&amount=1000&buy_date=2023-01-01&sell_date=2025-01-01&buy_fee=10&sell_fee=10" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Calculateur d'intérêts composés

Calcul pur — aucune donnée de marché. Notez que le taux s'applique PAR PÉRIODE DE CAPITALISATION (la convention du calculateur web), et non par an.

GET
http://localhost/api/v1/calculators/compound-interest
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

principal
number requis
10000

Solde de départ en USD.

rate
number requis
1

Taux d'intérêt en % par période de capitalisation.

duration
integer requis
5

Durée de la projection (les années sont plafonnées à 50).

duration_unit
string optionnel
years

years (par défaut) ou months.

compound_frequency
string optionnel
monthly

daily, weekly, monthly (par défaut), quarterly ou annually.

contribution
number optionnel
100

Dépôt récurrent en USD (par défaut 0).

contribution_frequency
string optionnel
monthly

daily, weekly, monthly (par défaut), quarterly ou annually.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/calculators/compound-interest?principal=10000&rate=1&duration=5&duration_unit=years&compound_frequency=monthly&contribution=100&contribution_frequency=monthly" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Calculateur prêt vs vente

Emprunter en garantissant sa crypto plutôt que la vendre — compare les deux scénarios en utilisant le prix ACTUEL de la crypto. Projection informative, pas un conseil financier.

GET
http://localhost/api/v1/calculators/loan
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

slug
string requis
bitcoin

L'identifiant slug de la crypto.

crypto_amount
number requis
2

La quantité de crypto que vous détenez.

needed_cash
number requis
50000

Montant en USD que vous devez libérer.

term_months
integer optionnel
36

Durée du prêt en mois (par défaut 36).

interest_rate
number optionnel
10

TAEG du prêt en % (par défaut 10).

ltv
number optionnel
50

Ratio prêt/valeur (LTV) en % (par défaut 50).

expected_growth
number optionnel
25

Croissance attendue du prix de la crypto sur la durée en % (par défaut 25).

tax_rate
number optionnel
25

Impôt sur les plus-values en % appliqué à la vente (par défaut 25).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/calculators/loan?slug=bitcoin&crypto_amount=2&needed_cash=50000&term_months=36&interest_rate=10&ltv=50&expected_growth=25&tax_rate=25" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Calculateur de récompenses de staking

Calcul pur — récompenses de staking avec capitalisation optionnelle et une commission de validateur. Aucune donnée de marché n'est lue.

GET
http://localhost/api/v1/calculators/staking
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

amount
number requis
1000

Montant staké, dans les unités de l'actif staké.

period
number requis
2

Durée de la période de staking (plafonnée à l'équivalent de 50 ans).

period_unit
string optionnel
years

years (par défaut), months ou days.

apy
number requis
5

APY annoncé en %.

compound_frequency
string optionnel
monthly

never, daily, weekly, monthly (par défaut) ou yearly.

commission
number optionnel
10

Commission du validateur en %, prélevée sur les récompenses (par défaut 0).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/calculators/staking?amount=1000&period=2&period_unit=years&apy=5&compound_frequency=monthly&commission=10" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
8 endpoints

Éditorial

Articles éditoriaux — publiés (ACTIVE) uniquement. locale choisit la langue du contenu avec repli sur l'anglais champ par champ (la charge utile indique quel locale l'a effectivement emporté). Les articles peuvent être filtrés par tag ou par un slug de crypto/exchange/wallet associé. Les lectures via l'API n'incrémentent délibérément PAS les compteurs de vues.

Vidéos d'une crypto

Vidéos sélectionnées rattachées à une crypto (l'onglet Vidéos de la page de la crypto), paginées.

GET
http://localhost/api/v1/coins/{slug}/videos
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

L'identifiant slug de la crypto.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1).

per_page
integer optionnel
10

Lignes par page (1–50, par défaut 10).

type
string optionnel
review

Filtrer par type de vidéo (p. ex. overview, tutorial, explainer, review, analysis, news).

search
string optionnel
halving

Recherche en texte libre sur le titre.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/videos?page=1&per_page=10&type=review&search=halving" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Chronologie des analyses d'une crypto

La chronologie des analyses de la crypto — la même charge utile que celle utilisée par le panneau d'analyses de la page de l'actif, fenêtrée par offset/limit.

GET
http://localhost/api/v1/coins/{slug}/insights
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
bitcoin

L'identifiant slug de la crypto.

Paramètres de requête

locale
string optionnel
en

Langue du contenu (repli sur l'anglais).

offset
integer optionnel
0

Lignes à ignorer (0–500, par défaut 0).

limit
integer optionnel
5

Lignes à renvoyer (1–50, par défaut 5).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/coins/bitcoin/insights?locale=en&offset=0&limit=5" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Lister les articles

Articles publiés, du plus récent au plus ancien, paginés. Filtrez par tag ou par un slug de coin / exchange / wallet associé, ou par recherche libre search. Chaque ligne est un résumé (titre, sous-titre, tags, temps de lecture, image principale, entités associées, dates).

GET
http://localhost/api/v1/articles
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1).

per_page
integer optionnel
20

Lignes par page (1–50, par défaut 20).

locale
string optionnel
en

Langue du contenu (repli sur l'anglais).

tag
string optionnel
guide

Filtrer par tag : news, guide, tutorial, explainer, analysis, review, trading, overview ou information.

coin
string optionnel
bitcoin

Limiter aux articles liés à ce slug de crypto.

exchange
string optionnel
binance-exchange

Limiter aux articles liés à ce slug d'exchange.

wallet
string optionnel
frostsnap

Limiter aux articles liés à ce slug de wallet.

search
string optionnel
halving

Recherche en texte libre sur le titre/sous-titre.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/articles?page=1&per_page=20&locale=en&tag=guide&coin=bitcoin&exchange=binance-exchange&wallet=frostsnap&search=halving" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Obtenir un article

Un article publié avec son corps complet, ses tags, son image principale, ses compteurs d'utilité et ses entités associées. locale choisit la langue du contenu avec repli sur l'anglais champ par champ (la charge utile indique quelle locale l'a effectivement emporté).

GET
http://localhost/api/v1/articles/{slug}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
what-is-bitcoin

Le slug de l'article.

Paramètres de requête

locale
string optionnel
en

Langue du contenu (repli sur l'anglais).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/articles/what-is-bitcoin?locale=en" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Soumettre un avis sur un article

Enregistre un pouce en haut/en bas sur un article — les mêmes compteurs que ceux utilisés par les boutons d'utilité du web. Une limitation par clé s'applique en amont.

POST
http://localhost/api/v1/articles/{slug}/feedback
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

slug
string requis
what-is-bitcoin

Le slug de l'article.

Paramètres du corps

helpful
boolean requis
true

true pour utile, false pour non utile.

Requête

curl --request POST \
    "http://localhost/api/v1/articles/what-is-bitcoin/feedback" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"helpful\": true
}"

Obtenir une vidéo

Une vidéo sélectionnée avec son id YouTube, son titre, son type, sa durée et les cryptos/exchanges/wallets auxquels elle est rattachée.

GET
http://localhost/api/v1/videos/{id}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

id
integer requis
87

L'id de la vidéo.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/videos/87" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Lister les analyses

Analyses de marché générées par IA, paginées. Filtrez par type, un slug de coin associé ou une recherche libre search ; locale choisit la langue du titre/résumé avec repli sur l'anglais.

GET
http://localhost/api/v1/insights
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1).

per_page
integer optionnel
20

Lignes par page (1–50, par défaut 20).

locale
string optionnel
en

Langue du contenu (repli sur l'anglais).

type
string optionnel
per_asset

Filtrer par type d'analyse : per_asset, market_overview ou narrative.

coin
string optionnel
bitcoin

Limiter aux analyses concernant ce slug de crypto.

search
string optionnel
etf

Recherche en texte libre sur le titre.

sort
string optionnel
first_reported

Ordre de tri : first_reported (par défaut) ou last_updated.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/insights?page=1&per_page=20&locale=en&type=per_asset&coin=bitcoin&search=etf&sort=first_reported" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Obtenir une analyse

Une analyse avec sa charge utile complète — titre, résumé, chronologie des articles sources et cryptos associées.

GET
http://localhost/api/v1/insights/{id}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

id
integer requis
101

L'id de l'analyse.

Paramètres de requête

locale
string optionnel
en

Langue du contenu (repli sur l'anglais).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/insights/101?locale=en" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
3 endpoints

Alarmes

CRUD des alarmes de prix — les mêmes alarmes que celles gérées par l'application web. Les alarmes consomment le solde d'inventaire d'alarmes du propriétaire de la clé, sont de type TARGET sur les cryptos uniquement, et une protection above/below par rapport à la valeur actuelle bloque les alarmes qui se déclencheraient instantanément d'elles-mêmes. Rattachées à la clé (la clé API définit le propriétaire) et jamais mises en cache dans la réponse.

Lister les alarmes

Les alarmes du propriétaire de la clé, du plus récent au plus ancien, paginées. Filtrez par status, direction ou canal notification.

GET
http://localhost/api/v1/alarms
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1).

per_page
integer optionnel
25

Lignes par page (1–100, par défaut 25).

status
string optionnel
active

Filtrer par état : active ou triggered.

direction
string optionnel
above

Filtrer par sens de déclenchement : above ou below.

notification
string optionnel
email

Filtrer par canal de livraison : email, push ou webhook.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/alarms?page=1&per_page=25&status=active&direction=above&notification=email" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Créer une alarme

Crée une alarme de type TARGET sur une crypto et consomme un emplacement d'alarme du solde du propriétaire de la clé. La cible est vérifiée par rapport à la valeur actuelle de la crypto afin que l'alarme ne puisse pas se déclencher instantanément d'elle-même : une alarme above doit cibler une valeur supérieure à la valeur actuelle, une alarme below une valeur inférieure.

POST
http://localhost/api/v1/alarms
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres du corps

name
string requis
BTC six figures

Un libellé pour l'alarme (255 caractères max).

coin
string requis
bitcoin

L'identifiant slug de la crypto.

metric
string requis
rate

La métrique surveillée : rate, volume ou marketcap.

direction
string requis
above

Sens de déclenchement : above ou below.

target
number requis
100000

La valeur seuil (doit se situer du côté direction de la valeur actuelle de la crypto).

notification
string requis
email

Canal de livraison : email, push ou webhook.

Requête

curl --request POST \
    "http://localhost/api/v1/alarms" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"BTC six figures\",
    \"coin\": \"bitcoin\",
    \"metric\": \"rate\",
    \"direction\": \"above\",
    \"target\": 100000,
    \"notification\": \"email\"
}"

Supprimer une alarme

Supprime l'une des alarmes du propriétaire de la clé et rembourse l'emplacement d'alarme qu'elle avait consommé.

DELETE
http://localhost/api/v1/alarms/{id}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

id
integer requis
42

L'id de l'alarme.

Requête

curl --request DELETE \
    "http://localhost/api/v1/alarms/42" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
5 endpoints

Webhooks

Bitculator envoie chaque événement en POST au format JSON avec un en-tête de signature HMAC :

X-Bitculator-Signature: t=<unix-ts>,v1=<hex hmac_sha256("<ts>.<raw-body>", secret)>
X-Bitculator-Event: alarm.triggered

Vérifiez-le en recalculant le HMAC sur "." avec le secret de votre endpoint et en comparant en temps constant ; rejetez si t a plus de quelques minutes (protection anti-rejeu). Exemple (PHP) :

[$t, $v1] = sscanf($_SERVER['HTTP_X_BITCULATOR_SIGNATURE'], 't=%d,v1=%s');
$expected = hash_hmac('sha256', $t.'.'.file_get_contents('php://input'), $secret);
abort_unless(hash_equals($expected, $v1) && abs(time() - $t) < 300, 403);

Événements pris en charge : alarm.triggered. Les livraisons sont réessayées 3× avec backoff ; un endpoint se désactive automatiquement après 10 livraisons échouées consécutives.

Lister les endpoints webhook

Les endpoints webhook du propriétaire de la clé, du plus récent au plus ancien. Les secrets de signature ne sont jamais inclus — chaque secret est affiché exactement une fois, à la création.

GET
http://localhost/api/v1/webhooks
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/webhooks" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Créer un endpoint webhook

Enregistre un endpoint HTTPS (max 5 par compte) pour la livraison des événements. La réponse inclut le secret de signature — la SEULE fois où il est affiché, alors stockez-le immédiatement.

POST
http://localhost/api/v1/webhooks
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres du corps

url
string requis
https://example.com/webhooks/bitculator

L'URL de livraison HTTPS. Hôtes publics uniquement — les adresses internes/privées sont rejetées.

events
string[] requis
["alarm.triggered"]

Événements auxquels s'abonner. Valeurs autorisées : alarm.triggered.

Requête

curl --request POST \
    "http://localhost/api/v1/webhooks" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"https:\\/\\/example.com\\/webhooks\\/bitculator\",
    \"events\": [
        \"alarm.triggered\"
    ]
}"

Supprimer un endpoint webhook

Supprime l'un des endpoints webhook du propriétaire de la clé. Les livraisons en attente vers celui-ci sont abandonnées.

DELETE
http://localhost/api/v1/webhooks/{id}
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

id
integer requis
7

L'id de l'endpoint webhook.

Requête

curl --request DELETE \
    "http://localhost/api/v1/webhooks/7" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Envoyer un événement de test

Déclenche un événement de test alarm.triggered signé (test: true dans la charge utile, en-têtes de signature réels) afin que les récepteurs puissent être vérifiés de bout en bout.

POST
http://localhost/api/v1/webhooks/{id}/test
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

id
integer requis
7

L'id de l'endpoint webhook.

Requête

curl --request POST \
    "http://localhost/api/v1/webhooks/7/test" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Journal de livraison des webhooks

Les tentatives de livraison de l'endpoint (conservées 30 jours), du plus récent au plus ancien, paginées.

GET
http://localhost/api/v1/webhooks/{id}/deliveries
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Paramètres de chemin

id
integer requis
7

L'id de l'endpoint webhook.

Paramètres de requête

page
integer optionnel
1

Numéro de page (à partir de 1).

per_page
integer optionnel
25

Lignes par page (1–100, par défaut 25).

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/webhooks/7/deliveries?page=1&per_page=25" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
3 endpoints

Méta

Méta et introspection de l'API : un ping authentifié pour vérifier une clé et la pile de middlewares, l'utilisation/quota de la clé courante, et la spec OpenAPI lisible par machine.

Spec OpenAPI

Le document OpenAPI 3 lisible par machine pour cette API, au format JSON — pointez votre codegen ou vos outils d'API vers cette URL. Public : aucune clé requise.

GET
http://localhost/api/v1/openapi.json
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/openapi.json" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Ping

Une opération authentifiée sans effet pour vérifier de bout en bout une clé Data API (auth.api → limite de rafale par forfait → quota mensuel). Elle est décomptée du quota comme tout autre appel.

GET
http://localhost/api/v1/ping
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/ping" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"

Utilisation & quota de la clé

Introspection de l'utilisation pour le propriétaire de la clé appelante : le forfait Data API, sa limite mensuelle, l'utilisé et le restant (correspondant toujours aux en-têtes X-Quota-*), la fenêtre de la période courante, et les ventilations par endpoint / par token. L'utilisation des widgets embed a son propre forfait et sa propre réserve — elle n'apparaît jamais ici.

GET
http://localhost/api/v1/usage
Bearer
bc_••••••••••••••••

Les clés sont exclusivement Bearer et portent l'aptitude data-api — conservez-les côté serveur.

Requête GET — aucun corps de requête.

Requête

curl --request GET \
    --get "http://localhost/api/v1/usage" \
    --header "Authorization: Bearer {YOUR_API_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"