Ethereum JSON-RPC Method Wiki

A working reference for the Ethereum JSON-RPC API, written by the team that runs the nodes. Each page covers parameters, a runnable curl example, the ethers.js equivalent, the errors you will actually hit, and what the call costs.

How the Ethereum JSON-RPC API works

Every Ethereum node speaks the same protocol: JSON-RPC 2.0. A request is a small JSON object naming a method and its positional params, sent over HTTP, WebSocket or a local Unix socket, and the response carries either a result or an error. There is no REST layering and no per-provider dialect for the core methods; the curl commands in this wiki work against Geth, Nethermind, Erigon and Reth alike, and against any hosted endpoint that exposes the method.

Where endpoints differ is in what they let you reach. Shared providers front their nodes with gateways that cap request rates, disable the debug, txpool and trace namespaces, and add a network round-trip to every call. On BLAZED.sh your code runs on the node host itself and talks to it over a local socket, so the full method surface is one sub-10ms hop away.

Every method at a glance, with its credit cost

BLAZED.sh bills per request from a monthly credit balance granted by your subscription. Most methods cost 1 credit, three heavy ones cost 4, and responses over 100KB add 50 credits per MB. The table links to the reference pages that exist so far; the series is growing, so check back for the rest.

eth_*

The core namespace: state reads, calls, transactions, logs and subscriptions. This is where nearly all application traffic lives.

MethodWhat it doesCredits
eth_blockNumberCurrent head block number of the chain.1
eth_getBalanceETH balance of an address at a given block.1
eth_callExecute a read-only contract call against current or historical state.1
eth_sendRawTransactionBroadcast a locally signed transaction to the network.1
eth_estimateGasDry-run a transaction and return the gas it needs.1
eth_getLogsFetch event logs matching an address, topics and block range.1
eth_getBlockByNumberFull block by number, with or without transaction bodies.1
eth_getTransactionByHashTransaction details by hash, including pending ones.1
eth_getTransactionReceiptReceipt with status, gas used and logs once a transaction is mined.1
eth_feeHistoryRecent base fees and priority-fee percentiles for fee estimation.1
eth_gasPriceLegacy gas price the node would suggest right now.1
eth_maxPriorityFeePerGasSuggested priority tip for EIP-1559 transactions.1
eth_getCodeDeployed bytecode at an address; 0x means no contract.1
eth_newFilterServer-side log filter to poll with eth_getFilterChanges.1
eth_subscribePush newHeads, logs or pending transactions over WebSocket.1

debug_*

Geth-style tracing and introspection. Usually disabled on shared endpoints; available when the node is yours.

MethodWhat it doesCredits
debug_traceTransactionRe-execute a mined transaction and return its full trace.1
debug_traceCallTrace an eth_call-style simulation without sending anything.1
debug_traceBlockByNumberTrace every transaction in a block in one request.1

txpool_*

Direct visibility into the node's mempool, pending and queued.

MethodWhat it doesCredits
txpool_contentDump the node's entire pending and queued mempool.4

trace_*

Parity/OpenEthereum-style replay methods with VM traces and state diffs.

MethodWhat it doesCredits
trace_replayTransactionParity-style replay with VM trace and state diff.4
trace_replayBlockTransactionsReplay all transactions in a block with traces.4

Full billing details, including the large-response surcharge, live on the RPC pricing page.

Frequently asked questions

What is the Ethereum JSON-RPC API?

It is the standard interface every Ethereum node exposes: JSON-RPC 2.0 requests over HTTP, WebSocket or a local socket, with methods like eth_call, eth_getLogs and eth_sendRawTransaction. Every wallet, bot and library ultimately speaks it.

How are JSON-RPC calls billed on BLAZED.sh?

Per request, in credits granted monthly by your subscription. Most methods cost 1 credit; txpool_content, trace_replayBlockTransactions and trace_replayTransaction cost 4; responses over 100KB add 50 credits per MB. There are no compute units and no shared rate limits.

Can I try these methods without an account?

Yes. Every method page has a request builder with an exportable curl command, prefilled with a free third-party public endpoint. Public endpoints are shared and rate-limited though, and they block the debug and txpool namespaces.

Stop reading about RPC limits, remove them

Deploy your container or script on a host running a fully-synced Ethereum node. Every method in this wiki, over a local socket, in under 10ms.