Référence de la Data API blockchain

Référence des requêtes de la Data API blockchain : points de terminaison REST, authentification par clé API, paramètres, schémas de réponse, erreurs et pondérations en CU pour les données de chaîne indexées.

Vue d'ensemble

Utilisez cette référence de la Data API blockchain pour construire des requêtes REST pour les blocs indexés, les transactions, les adresses, les tokens, les NFT, l'activité DEX, les actions tokenisées et la fraîcheur des jeux de données. Pour choisir un jeu de données et vérifier la disponibilité par chaîne, commencez par le répertoire des jeux de données ; pour les soldes de tokens de portefeuille et l'historique des transferts, suivez le guide des actifs de portefeuille.

  • URL de base : https://api.blockvectra.com/v1/data — chaque route à l'exception de /chains est préfixée par un identifiant de chaîne (par ex. https://api.blockvectra.com/v1/data/{chain}/…)
  • Protocole : HTTP GET (ainsi que POST pour les recherches de tokens par batch sur /{chain}/tokens:batch), réponses JSON
  • Authentification : clé API requise — transmettez votre clé dans l'en-tête de requête x-api-key. Les requêtes sont mesurées et facturées en Compute Units (CU) ; seules les réponses 2xx réussies sont facturées
  • Ethereum : la couverture des données est déterminée par coverage.from_block dans GET /v1/data/chains, et couvre un ensemble plus restreint de jeux de données — voir Chaînes prises en charge → Ethereum

Les pondérations en CU de la Data API sont répertoriées sur la page Tarifs et renvoyées par GET /v1/plans. Consultez Démarrage rapide → Appeler la Data API pour obtenir des exemples de requêtes et la structure des réponses. Pour le versioning des chemins, les règles de rétrocompatibilité et les recommandations de SDK, consultez Gestion des versions et compatibilité de l'API.

Chaînes

La Data API fournit des données indexées propres à chaque chaîne : https://api.blockvectra.com/v1/data/{chain}/….

Les jeux de données et fonctionnalités disponibles varient selon la chaîne ; consultez Chaînes prises en charge pour la matrice complète des capacités. GET https://api.blockvectra.com/v1/data/chains indique pour chaque chaîne ses features, coverage, finality et limits. Les requêtes en dehors de la couverture d'un jeu de données renvoient HTTP 422 no_coverage (non facturé) ; une chaîne inconnue ou non publique renvoie HTTP 404 avec error.code not_found (non facturé ; les noms de chaînes doivent être des slugs exacts en minuscules).

Erreurs

Chaque réponse d'erreur est sous la forme {"error":{"code","message"}} ; seul 409 not_indexed_yet peut ajouter indexed_through (le bloc indexé le plus élevé sur cette chaîne), et celui-ci est absent lorsque la chaîne ne comporte pas encore de données indexées. Codes les plus fréquemment rencontrés par les utilisateurs :

Statuterror.codeSignificationAction
402insufficient_balanceSolde payé ou crédit gratuit épuisé ; lorsque le solde est connu, error.data inclut balance_units et balance_cu (non facturé)Rechargez on-chain sur la page Facturation de la console, ou attendez le rechargement du quota gratuit
404not_found{chain} inconnue ou non publique, ou l'objet n'existe pasCorrigez la requête
409not_indexed_yetLa requête dépasse as_of_block (le bloc le plus récent entièrement écrit ; inclut indexed_through), le hash résout vers un bloc supérieur à as_of_block, ou la chaîne ne comporte pas encore de données indexées (aucun indexed_through)Avec indexed_through, faites du polling jusqu'à ce que votre bloc ou to_block soit inférieur ou égal à celui-ci ; sans lui, attendez que la chaîne commence à s'indexer (coverage.has_data dans GET /v1/data/chains indique l'état)
422no_coverageÉcart de couverture permanent : la chaîne ne dispose pas de cette fonctionnalité, ou le bloc est antérieur à la couverture d'indexation ou de traceModifiez la requête ; réessayer ne servira à rien
429rate_limitedLimite de débit en CU par clé (la réponse inclut Retry-After) ou limite de débit d'appels du compte (sans Retry-After) ; non facturéRéessayez après Retry-After secondes
429cost_exceeds_burstUne requête unique coûte davantage que la capacité de burst de la clé ; pas de Retry-After (non facturé)Découpez la requête ; réessayer à l'identique ne réussira jamais
503unavailableTemporairement indisponible ; la réponse comporte Retry-After. Également renvoyé pour les requêtes historiques sur une chaîne dont coverage.from_block est actuellement nullRéessayez après Retry-After secondes
503gateway_overloadedLa limite de requêtes simultanées du compte sur l'ensemble de ses clés et chaînes est atteinte, ou le service est temporairement surchargé ; Retry-After: 1 (non facturé)Réduisez les requêtes simultanées sur l'ensemble du compte et attendez Retry-After secondes avant de réessayer

Index des points de terminaison

Voici la spécification originale en anglais.

Chain

MéthodeCheminRésumé
GET/chainsList supported chains
GET/{chain}/blocks/{number}Get a block by number
GET/{chain}/blocks/hash/{hash}Get a block by hash
GET/{chain}/blocks/{number}/transactionsList a block's transactions
GET/{chain}/transactions/{hash}Get a transaction by hash

Status

MéthodeCheminRésumé
GET/{chain}/status/freshnessFreshness and lag per dataset

Addresses

MéthodeCheminRésumé
GET/{chain}/addresses/{address}/transactionsList an address's transactions
GET/{chain}/addresses/{address}/transfersList an address's token transfers
GET/{chain}/addresses/{address}/balancesList an address's ERC-20 balances

Tokens

MéthodeCheminRésumé
GET/{chain}/tokens/{token}/transfersList a token contract's transfers
GET/{chain}/tokens/{token}/holdersList a token's holders
GET/{chain}/tokens/{token}Get token metadata
POST/{chain}/tokens:batchBatch get token metadata

NFTs

MéthodeCheminRésumé
GET/{chain}/nfts/{contract}/{token_id}Get one NFT's owner/holders
GET/{chain}/nftsList NFTs owned by an address

DEX

MéthodeCheminRésumé
GET/{chain}/dex/swapsList DEX swaps by pool or token
GET/{chain}/dex/pricesDaily DEX token prices

Stocks

MéthodeCheminRésumé
GET/{chain}/stocksDaily leaderboard of tokenized stocks
GET/{chain}/stocks/{token}Get one tokenized stock

Traces

MéthodeCheminRésumé
GET/{chain}/blocks/{number}/tracesHistorical callTracer trace tree for a whole block
GET/{chain}/transactions/{hash}/traceHistorical callTracer trace tree for one transaction

Voici la spécification originale en anglais.

Dernière mise à jour :

Sur cette page