JSON-RPC

JSON-RPC

Supported JSON-RPC methods, CU weights, and error codes. Set up an endpoint, choose a chain, and check method availability, pricing, and billing rules.

Overview

All requests are counted in Compute Units (CU) and rate-limited per key.

  • Endpoint: POST /v1/{chain}/{api_key} (key in the path) or POST /v1/{chain} (key in a header). For Robinhood Chain, {chain} is robinhood_mainnet: https://api.blockvectra.com/v1/robinhood_mainnet. The same API key works on every supported chain
  • Protocol: HTTP POST, single call or batch
  • Metering: A request's total CU cost counts against your key's burst capacity as soon as it arrives. Every accepted call that gets a response is charged at the method's published CU weight; the Errors reference lists the cases that are not billed. Billing is settled hourly (rounded down to whole units, remainder carries over, executed ~15 minutes after the period ends)
  • Ethereum: its own method list and a state window determined by state_window_blocks — see Supported Chains → Ethereum.

For complete parameter schemas, method signatures, and interactive request testing across all methods, see the Full Reference. For path versioning, backward compatibility rules, and SDK recommendations, see API versioning and compatibility.

To get an API key and send a first request, see the Quickstart; it also covers key passing and batch requests.

Common calls

Worked examples for common calls.

Query logs (eth_getLogs)

Filter a contract's logs over a recent block range — here, the ERC-20 Transfer event (topic 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef). See the CU Metering Rules table below for eth_getLogs's current CU weight; a range wider than the chain's max_logs_block_range (from GET /v1/chains) is rejected with -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
  }'

Trace a transaction (debug_traceTransaction)

Trace a transaction's internal calls with the callTracer. See the CU Metering Rules table below for debug_traceTransaction's current CU weight. Like the other state-reading methods, it's rejected once the target block falls outside that chain's recent-state window (-32011). The window size is the chain's state_window_blocks (from GET /v1/chains). On chains that provide traces, use the Data API for historical traces.

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
  }'

CU metering rules

Compute Unit (CU) weight for each JSON-RPC method.

MethodWeight (CU)
eth_blockNumber1
eth_chainId1
eth_getBlockByNumber5
eth_blobBaseFee10
eth_feeHistory10
eth_gasPrice10
eth_getBalance10
eth_getBlockByHash10
eth_getBlockReceipts10
eth_getBlockTransactionCountByHash10
eth_getBlockTransactionCountByNumber10
eth_getCode10
eth_getHeaderByHash10
eth_getHeaderByNumber10
eth_getProof10
eth_getRawTransactionByBlockHashAndIndex10
eth_getRawTransactionByBlockNumberAndIndex10
eth_getRawTransactionByHash10
eth_getStorageAt10
eth_getTransactionByBlockHashAndIndex10
eth_getTransactionByBlockNumberAndIndex10
eth_getTransactionByHash10
eth_getTransactionCount10
eth_getTransactionReceipt10
eth_getUncleByBlockHashAndIndex10
eth_getUncleByBlockNumberAndIndex10
eth_getUncleCountByBlockHash10
eth_getUncleCountByBlockNumber10
eth_maxPriorityFeePerGas10
eth_syncing10
net_version10
web3_clientVersion10
web3_sha310
eth_call15
eth_createAccessList20
eth_estimateGas20
eth_simulateV120
eth_getLogs30
eth_sendRawTransaction30
debug_traceBlockByHash100
debug_traceBlockByNumber100
debug_traceCall100
debug_traceTransaction100
trace_block100
trace_call100
trace_get100
trace_replayTransaction100
trace_transaction100

Method policy

Available methods vary by chain; each chain's list is shown below, and Supported Chains covers the rest. Only methods matching an allowed name or pattern are reachable; any other method returns -32601 method not available.

Allowed on every chain below

  • eth_blockNumber
  • eth_call
  • eth_chainId
  • eth_estimateGas
  • eth_gasPrice
  • eth_getBalance
  • eth_getBlockByHash
  • eth_getBlockByNumber
  • eth_getBlockTransactionCountByHash
  • eth_getBlockTransactionCountByNumber
  • eth_getCode
  • eth_getLogs
  • eth_getStorageAt
  • eth_getTransactionByBlockHashAndIndex
  • eth_getTransactionByBlockNumberAndIndex
  • eth_getTransactionByHash
  • eth_getTransactionCount
  • eth_getTransactionReceipt
  • eth_sendRawTransaction
  • eth_syncing
  • net_version
  • web3_clientVersion

Arbitrum One

eth_getLogs max block range: 1,000 blocks; state window: 5,000 blocks

Also allowed

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Arc

eth_getLogs max block range: 1,000 blocks; state window: —

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Avalanche C-Chain

eth_getLogs max block range: 1,000 blocks; state window: 128 blocks

Also allowed

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • web3_sha3

Base

eth_getLogs max block range: 1,000 blocks; state window: 10,000 blocks

Also allowed

  • eth_maxPriorityFeePerGas
  • eth_blobBaseFee
  • eth_feeHistory
  • eth_createAccessList
  • eth_getProof
  • eth_simulateV1
  • eth_getBlockReceipts
  • eth_getRawTransactionByHash
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getUncleCountByBlockNumber
  • eth_getUncleCountByBlockHash
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleByBlockHashAndIndex
  • eth_getHeaderByNumber
  • eth_getHeaderByHash
  • web3_sha3

Berachain

eth_getLogs max block range: 1,000 blocks; state window: 9,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Boba

eth_getLogs max block range: 1,000 blocks; state window: 80,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

BNB Smart Chain

eth_getLogs max block range: 1,000 blocks; state window: 100 blocks

Also allowed

  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_maxPriorityFeePerGas

Celo

eth_getLogs max block range: 1,000 blocks; state window: 864,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Ethereum

eth_getLogs max block range: 1,000 blocks; state window: 250,000 blocks

Also allowed

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getProof
  • eth_maxPriorityFeePerGas
  • trace_block
  • trace_call
  • trace_get
  • trace_replayTransaction
  • trace_transaction
  • web3_sha3

Ethereum Sepolia

eth_getLogs max block range: 1,000 blocks; state window: —

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getProof
  • eth_maxPriorityFeePerGas
  • web3_sha3

Fraxtal

eth_getLogs max block range: 1,000 blocks; state window: 10,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Gnosis

eth_getLogs max block range: 1,000 blocks; state window: 262,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

HyperEVM

eth_getLogs max block range: 1,000 blocks; state window: —

Also allowed

  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_maxPriorityFeePerGas

Ink

eth_getLogs max block range: 1,000 blocks; state window: 9,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Katana

eth_getLogs max block range: 1,000 blocks; state window: 86,400 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Linea

eth_getLogs max block range: 1,000 blocks; state window: 128 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Metal L2

eth_getLogs max block range: 1,000 blocks; state window: 10,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Mode

eth_getLogs max block range: 1,000 blocks; state window: 10,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

OP Mainnet

eth_getLogs max block range: 1,000 blocks; state window: 1,296,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Polygon

eth_getLogs max block range: 1,000 blocks; state window: 126 blocks

Also allowed

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Robinhood Chain

eth_getLogs max block range: 1,000 blocks; state window: 900 blocks

Also allowed

  • eth_maxPriorityFeePerGas
  • eth_blobBaseFee
  • eth_feeHistory
  • eth_createAccessList
  • eth_getProof
  • eth_simulateV1
  • eth_getBlockReceipts
  • eth_getRawTransactionByHash
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getUncleCountByBlockNumber
  • eth_getUncleCountByBlockHash
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleByBlockHashAndIndex
  • eth_getHeaderByNumber
  • eth_getHeaderByHash
  • web3_sha3
  • debug_traceTransaction
  • debug_traceCall
  • debug_traceBlockByNumber
  • debug_traceBlockByHash

Robinhood Chain Testnet

eth_getLogs max block range: 1,000 blocks; state window: 1,023 blocks

Also allowed

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Rootstock

eth_getLogs max block range: 1,000 blocks; state window: 6,000 blocks

Also allowed

  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • web3_sha3

Soneium

eth_getLogs max block range: 1,000 blocks; state window: 9,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Sonic

eth_getLogs max block range: 1,000 blocks; state window: 11,000 blocks

Also allowed

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Unichain

eth_getLogs max block range: 1,000 blocks; state window: 85,500 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

World Chain

eth_getLogs max block range: 1,000 blocks; state window: 30,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

X Layer

eth_getLogs max block range: 1,000 blocks; state window: 250,000 blocks

Also allowed

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Zora

eth_getLogs max block range: 1,000 blocks; state window: 10,000 blocks

Also allowed

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_feeHistory
  • eth_getBlockReceipts
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_maxPriorityFeePerGas
  • eth_simulateV1
  • web3_sha3

Limits:

  • Batch: max 100 calls per request; also limited by the key's CU burst, see below.
  • Request body: max 2 MiB (see “10. Limits at a glance” in the full OpenAPI reference)
  • CU burst: each API key has a CU bucket (cu_per_sec refill, burst_cu capacity — defaults are 100 CU/s and burst 400 CU; after a paid top-up each key is at least 2,000 CU/s and burst 10,000 CU, and higher custom limits are kept; shown per key in the console Keys table). A single request — including a whole JSON-RPC batch — whose total CU exceeds the key's burst capacity is rejected with -32022 request_exceeds_burst (request cost <N> CU exceeds burst capacity <M> CU); split it into smaller batches.

Error codes

See the Errors reference for every error code, whether it is billed, and what to do.

Full OpenAPI reference

See the Full OpenAPI reference for the complete machine-readable specification with all method signatures, request and response schemas, and parameter details rendered interactively.

Last updated:

On this page