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/chainsest préfixée par un identifiant de chaîne (par ex.https://api.blockvectra.com/v1/data/{chain}/…) - Protocole : HTTP
GET(ainsi quePOSTpour 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_blockdansGET /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 :
| Statut | error.code | Signification | Action |
|---|---|---|---|
402 | insufficient_balance | Solde 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 |
404 | not_found | {chain} inconnue ou non publique, ou l'objet n'existe pas | Corrigez la requête |
409 | not_indexed_yet | La 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) |
422 | no_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 trace | Modifiez la requête ; réessayer ne servira à rien |
429 | rate_limited | Limite 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 |
429 | cost_exceeds_burst | Une 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 |
503 | unavailable | Temporairement indisponible ; la réponse comporte Retry-After. Également renvoyé pour les requêtes historiques sur une chaîne dont coverage.from_block est actuellement null | Réessayez après Retry-After secondes |
503 | gateway_overloaded | La 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éthode | Chemin | Résumé |
|---|---|---|
| GET | /chains | List 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}/transactions | List a block's transactions |
| GET | /{chain}/transactions/{hash} | Get a transaction by hash |
Status
| Méthode | Chemin | Résumé |
|---|---|---|
| GET | /{chain}/status/freshness | Freshness and lag per dataset |
Addresses
| Méthode | Chemin | Résumé |
|---|---|---|
| GET | /{chain}/addresses/{address}/transactions | List an address's transactions |
| GET | /{chain}/addresses/{address}/transfers | List an address's token transfers |
| GET | /{chain}/addresses/{address}/balances | List an address's ERC-20 balances |
Tokens
| Méthode | Chemin | Résumé |
|---|---|---|
| GET | /{chain}/tokens/{token}/transfers | List a token contract's transfers |
| GET | /{chain}/tokens/{token}/holders | List a token's holders |
| GET | /{chain}/tokens/{token} | Get token metadata |
| POST | /{chain}/tokens:batch | Batch get token metadata |
NFTs
| Méthode | Chemin | Résumé |
|---|---|---|
| GET | /{chain}/nfts/{contract}/{token_id} | Get one NFT's owner/holders |
| GET | /{chain}/nfts | List NFTs owned by an address |
DEX
| Méthode | Chemin | Résumé |
|---|---|---|
| GET | /{chain}/dex/swaps | List DEX swaps by pool or token |
| GET | /{chain}/dex/prices | Daily DEX token prices |
Stocks
| Méthode | Chemin | Résumé |
|---|---|---|
| GET | /{chain}/stocks | Daily leaderboard of tokenized stocks |
| GET | /{chain}/stocks/{token} | Get one tokenized stock |
Traces
| Méthode | Chemin | Résumé |
|---|---|---|
| GET | /{chain}/blocks/{number}/traces | Historical callTracer trace tree for a whole block |
| GET | /{chain}/transactions/{hash}/trace | Historical callTracer trace tree for one transaction |
Voici la spécification originale en anglais.
Dernière mise à jour :
Versions et compatibilité
Gestion des versions de chemin de l'API BlockVectra, définitions des modifications rétrocompatibles et disponibilité des chaînes et des méthodes.
JSON-RPC
Méthodes JSON-RPC prises en charge, pondérations en CU et codes d'erreur. Configurez un point de terminaison, choisissez une chaîne et vérifiez la disponibilité des méthodes, les tarifs et les règles de facturation.