JSON-RPC
Métodos JSON-RPC compatibles, pesos en CU y códigos de error. Configure un punto de enlace, elija una cadena y consulte disponibilidad, precios y reglas de facturación.
Visión general
Todas las solicitudes se miden en Compute Units (CU) y tienen límites de tasa por API key.
- Punto de enlace:
POST /v1/{chain}/{api_key}(API key en la ruta) oPOST /v1/{chain}(API key en un encabezado). Para Robinhood Chain,{chain}esrobinhood_mainnet:https://api.blockvectra.com/v1/robinhood_mainnet. La misma API key funciona en todas las cadenas compatibles - Protocolo: HTTP
POST, llamada individual o por lotes - Medición: el costo total en CU de una solicitud cuenta para la capacidad de ráfaga (burst) de la API key en cuanto llega. Toda llamada aceptada que recibe una respuesta se factura según el peso público de CU del método; la Referencia de errores enumera los casos sin facturación. La facturación se liquida por hora (redondeada a la baja en unidades enteras, con el resto transferido al siguiente período, ejecutada ~15 minutos después de finalizar el período)
- Ethereum: tiene su propia lista de métodos y una ventana de estado definida por
state_window_blocks— consulte Cadenas compatibles → Ethereum.
Para esquemas completos de parámetros, firmas de métodos y pruebas interactivas de solicitudes en todos los métodos, consulte la Referencia completa. Para control de versiones de rutas, reglas de compatibilidad con versiones anteriores y recomendaciones de SDK, consulte Control de versiones y compatibilidad de la API.
Para obtener una API key y enviar la primera solicitud, consulte el Inicio rápido; también explica cómo enviar la API key y realizar solicitudes por lotes.
Llamadas comunes
Ejemplos prácticos de llamadas comunes.
Consultar logs (eth_getLogs)
Filtre los logs de un contrato en un rango reciente de bloques — aquí, el evento ERC-20 Transfer (topic 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef). Consulte la tabla Reglas de medición en CU a continuación para conocer el peso actual en CU de eth_getLogs; un rango mayor que el max_logs_block_range de la cadena (de GET /v1/chains) se rechaza con -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
}'Rastrear una transacción (debug_traceTransaction)
Rastree las llamadas internas de una transacción con callTracer. Consulte la tabla Reglas de medición en CU a continuación para conocer el peso actual en CU de debug_traceTransaction. Al igual que otros métodos de lectura de estado, se rechaza si el bloque de destino está fuera de la ventana de estado reciente de la cadena (-32011). El tamaño de la ventana es state_window_blocks de la cadena (de GET /v1/chains). En las cadenas que ofrecen trazas, use la Data API para trazas históricas.
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
}'Reglas de medición en CU
Peso en Compute Units (CU) de cada método JSON-RPC.
| Método | Peso (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 |
Política de métodos
Los métodos disponibles varían según la cadena; la lista de cada cadena aparece a continuación, y Cadenas compatibles presenta las funciones restantes. Solo se pueden llamar los métodos que coincidan con un nombre o patrón permitido; cualquier otro método devuelve -32601 method not available.
Permitidos en todas las cadenas siguientes
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
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: 6,000 bloques
También permitidos
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Base
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: 10,000 bloques
También permitidos
eth_blobBaseFeeeth_createAccessListeth_getProofeth_simulateV1eth_getRawTransactionByHasheth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getUncleCountByBlockNumbereth_getUncleCountByBlockHasheth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexeth_getHeaderByNumbereth_getHeaderByHasheth_sendRawTransactionweb3_sha3
BNB Smart Chain
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: 100 bloques
También permitidos
eth_sendRawTransaction
Ethereum
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: 250,000 bloques
También permitidos
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getProofeth_sendRawTransactiontrace_blocktrace_calltrace_gettrace_replayTransactiontrace_transactionweb3_sha3
Ethereum Sepolia
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: —
También permitidos
eth_blobBaseFeeeth_createAccessListeth_getProofeth_sendRawTransactionweb3_sha3
HyperEVM
El envío de transacciones aún no es compatible en esta cadena (eth_sendRawTransaction devuelve -32601 method_not_allowed); los métodos de lectura funcionan con normalidad.
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: —
Polygon
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: 126 bloques
También permitidos
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Robinhood Chain
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: 900 bloques
También permitidos
eth_blobBaseFeeeth_createAccessListeth_getProofeth_simulateV1eth_getRawTransactionByHasheth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getUncleCountByBlockNumbereth_getUncleCountByBlockHasheth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexeth_getHeaderByNumbereth_getHeaderByHasheth_sendRawTransactionweb3_sha3debug_traceTransactiondebug_traceCalldebug_traceBlockByNumberdebug_traceBlockByHash
Robinhood Chain Testnet
Rango máximo de bloques de eth_getLogs: 1,000 bloques; Ventana de estado: 1,023 bloques
También permitidos
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Límites:
- Lote: máximo 100 llamadas por solicitud; también limitado por la capacidad de ráfaga de CU de la API key, como se describe a continuación.
- Cuerpo de la solicitud: máximo 2 MiB
- Ráfaga de CU (burst): cada API key tiene un depósito de CU (reposición
cu_per_sec, capacidadburst_cu— los valores predeterminados son 400 CU/s y ráfaga de 1,600 CU; mostrado por API key en la tabla Keys de la consola). Una única solicitud —incluido un lote JSON-RPC completo— cuyo total de CU supere la capacidad de ráfaga de la API key se rechaza con-32022 request_exceeds_burst(request cost <N> CU exceeds burst capacity <M> CU); divídala en lotes más pequeños.
Códigos de error
Consulte la Referencia de errores para ver cada código de error, si se factura y qué acción tomar.
Referencia OpenAPI completa
Consulte la Referencia OpenAPI completa para ver la especificación completa legible por máquina, con todas las firmas de métodos, esquemas de solicitud y respuesta, y detalles de parámetros presentados de forma interactiva.
Última actualización: