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.
Vue d'ensemble
Toutes les requêtes sont décomptées en Compute Units (CU) et soumises à une limitation de débit par clé.
- Point de terminaison :
POST /v1/{chain}/{api_key}(clé dans le chemin) ouPOST /v1/{chain}(clé dans un en-tête). Pour Robinhood Chain,{chain}estrobinhood_mainnet:https://api.blockvectra.com/v1/robinhood_mainnet. La même clé API fonctionne sur chaque chaîne prise en charge - Protocole : HTTP
POST, appel unique ou batch - Mesure : Le coût total en CU d'une requête est décompté de la capacité de burst de votre clé dès sa réception. Chaque appel accepté qui reçoit une réponse est facturé selon la pondération en CU publiée de la méthode ; la Référence des erreurs répertorie les cas non facturés. Le règlement est effectué toutes les heures (arrondi à l'unité entière inférieure, le reliquat étant reporté, et traité environ 15 minutes après la fin de la période)
- Ethereum : dispose de sa propre liste de méthodes et d'une fenêtre d'état déterminée par
state_window_blocks— voir Chaînes prises en charge → Ethereum.
Pour obtenir les schémas complets des paramètres, les signatures des méthodes et tester les requêtes de manière interactive sur toutes les méthodes, consultez la Référence complète. 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.
Pour obtenir une clé API et envoyer une première requête, consultez le Démarrage rapide ; il couvre également la transmission de la clé et les requêtes par batch.
Appels fréquents
Exemples concrets pour les appels fréquents.
Interroger les logs (eth_getLogs)
Filtrez les logs d'un contrat sur une plage de blocs récente — ici, l'événement Transfer ERC-20 (topic 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef). Consultez le tableau des Règles de mesure des CU ci-dessous pour connaître la pondération actuelle en CU de eth_getLogs ; une plage plus large que la valeur max_logs_block_range de la chaîne (obtenue via GET /v1/chains) est rejetée avec -32602.
export BLOCKVECTRA_API_KEY=rgw_your_api_key
curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
-H 'Content-Type: application/json' \
-H "x-api-key: $BLOCKVECTRA_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getLogs",
"params": [{
"fromBlock": "0x45a2409",
"toBlock": "0x45a2609",
"address": "0x1111111111111111111111111111111111111111",
"topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]
}],
"id": 1
}'Tracer une transaction (debug_traceTransaction)
Tracez les appels internes d'une transaction avec callTracer. Consultez le tableau des Règles de mesure des CU ci-dessous pour connaître la pondération actuelle en CU de debug_traceTransaction. Tout comme les autres méthodes de lecture d'état, elle est rejetée dès lors que le bloc cible se situe en dehors de la fenêtre d'état récent de cette chaîne (-32011). La taille de la fenêtre correspond à la valeur state_window_blocks de la chaîne (obtenue via GET /v1/chains). Sur les chaînes proposant des traces, utilisez la Data API pour consulter les traces historiques.
export BLOCKVECTRA_API_KEY=rgw_your_api_key
curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
-H 'Content-Type: application/json' \
-H "x-api-key: $BLOCKVECTRA_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": ["0xYOUR_TRANSACTION_HASH", {"tracer": "callTracer"}],
"id": 1
}'Règles de mesure des CU
Poids en Compute Unit (CU) pour chaque méthode JSON-RPC.
| Méthode | Poids (CU) |
|---|---|
eth_blockNumber | 1 |
eth_chainId | 1 |
eth_getBlockByNumber | 5 |
eth_blobBaseFee | 10 |
eth_feeHistory | 10 |
eth_gasPrice | 10 |
eth_getBalance | 10 |
eth_getBlockByHash | 10 |
eth_getBlockReceipts | 10 |
eth_getBlockTransactionCountByHash | 10 |
eth_getBlockTransactionCountByNumber | 10 |
eth_getCode | 10 |
eth_getHeaderByHash | 10 |
eth_getHeaderByNumber | 10 |
eth_getProof | 10 |
eth_getRawTransactionByBlockHashAndIndex | 10 |
eth_getRawTransactionByBlockNumberAndIndex | 10 |
eth_getRawTransactionByHash | 10 |
eth_getStorageAt | 10 |
eth_getTransactionByBlockHashAndIndex | 10 |
eth_getTransactionByBlockNumberAndIndex | 10 |
eth_getTransactionByHash | 10 |
eth_getTransactionCount | 10 |
eth_getTransactionReceipt | 10 |
eth_getUncleByBlockHashAndIndex | 10 |
eth_getUncleByBlockNumberAndIndex | 10 |
eth_getUncleCountByBlockHash | 10 |
eth_getUncleCountByBlockNumber | 10 |
eth_maxPriorityFeePerGas | 10 |
eth_syncing | 10 |
net_version | 10 |
web3_clientVersion | 10 |
web3_sha3 | 10 |
eth_call | 15 |
eth_createAccessList | 20 |
eth_estimateGas | 20 |
eth_simulateV1 | 20 |
eth_getLogs | 30 |
eth_sendRawTransaction | 30 |
debug_traceBlockByHash | 100 |
debug_traceBlockByNumber | 100 |
debug_traceCall | 100 |
debug_traceTransaction | 100 |
trace_block | 100 |
trace_call | 100 |
trace_get | 100 |
trace_replayTransaction | 100 |
trace_transaction | 100 |
Politique des méthodes
Les méthodes disponibles varient selon la chaîne ; la liste de chaque chaîne est présentée ci-dessous, et Chaînes prises en charge couvre le reste. Seules les méthodes correspondant à un nom ou à un modèle autorisé sont accessibles ; toute autre méthode renvoie -32601 method not available.
Autorisé sur toutes les chaînes ci-dessous
eth_blockNumbereth_calleth_chainIdeth_estimateGaseth_feeHistoryeth_gasPriceeth_getBalanceeth_getBlockByHasheth_getBlockByNumbereth_getBlockReceiptseth_getBlockTransactionCountByHasheth_getBlockTransactionCountByNumbereth_getCodeeth_getLogseth_getStorageAteth_getTransactionByBlockHashAndIndexeth_getTransactionByBlockNumberAndIndexeth_getTransactionByHasheth_getTransactionCounteth_getTransactionReceipteth_maxPriorityFeePerGaseth_syncingnet_versionweb3_clientVersion
Arbitrum One
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : 6,000 blocs
Également autorisé
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Base
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : 10,000 blocs
Également autorisé
eth_blobBaseFeeeth_createAccessListeth_getProofeth_simulateV1eth_getRawTransactionByHasheth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getUncleCountByBlockNumbereth_getUncleCountByBlockHasheth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexeth_getHeaderByNumbereth_getHeaderByHasheth_sendRawTransactionweb3_sha3
BNB Smart Chain
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : 100 blocs
Également autorisé
eth_sendRawTransaction
Ethereum
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : 250,000 blocs
Également autorisé
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getProofeth_sendRawTransactiontrace_blocktrace_calltrace_gettrace_replayTransactiontrace_transactionweb3_sha3
Ethereum Sepolia
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : —
Également autorisé
eth_blobBaseFeeeth_createAccessListeth_getProofeth_sendRawTransactionweb3_sha3
HyperEVM
L'envoi de transactions n'est pas encore pris en charge sur cette chaîne (eth_sendRawTransaction renvoie -32601 method_not_allowed) ; les méthodes de lecture fonctionnent normalement.
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : —
Polygon
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : 126 blocs
Également autorisé
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Robinhood Chain
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : 900 blocs
Également autorisé
eth_blobBaseFeeeth_createAccessListeth_getProofeth_simulateV1eth_getRawTransactionByHasheth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getUncleCountByBlockNumbereth_getUncleCountByBlockHasheth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexeth_getHeaderByNumbereth_getHeaderByHasheth_sendRawTransactionweb3_sha3debug_traceTransactiondebug_traceCalldebug_traceBlockByNumberdebug_traceBlockByHash
Robinhood Chain Testnet
Plage de blocs maximale pour eth_getLogs : 1,000 blocs ; fenêtre d'état : 1,023 blocs
Également autorisé
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Limites :
- Batch : 100 appels maximum par requête ; également limité par le burst de CU de la clé, voir ci-dessous.
- Corps de la requête : 2 Mio maximum
- Burst de CU : chaque clé API dispose d'un bucket de CU (recharge
cu_per_sec, capacitéburst_cu— les valeurs par défaut sont 400 CU/s et un burst de 1,600 CU ; affiché par clé dans le tableau Clés de la console). Une requête unique — y compris un batch JSON-RPC complet — dont le total de CU dépasse la capacité de burst de la clé est rejetée avec-32022 request_exceeds_burst(request cost <N> CU exceeds burst capacity <M> CU) ; découpez-la en batches plus petits.
Codes d'erreur
Consultez la Référence des erreurs pour chaque code d'erreur, son statut de facturation et la conduite à adopter.
Référence OpenAPI complète
Consultez la Référence OpenAPI complète pour obtenir la spécification complète lisible par machine avec l'ensemble des signatures de méthodes, des schémas de requête et de réponse, et les détails des paramètres affichés de manière interactive.
Dernière mise à jour :
Data API
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.
Référence complète
Spécification complète de l'API JSON-RPC 2.0 et index des points de terminaison. Parcourez l'ensemble des méthodes prises en charge, les formats de requête et de réponse, les types de schéma et les codes d'erreur.