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.
eth_call
Execute a read-only contract call against current or historical state, with state overrides for free simulations.
eth_sendRawTransaction
Hand a locally signed transaction to the node and out into the mempool; the only way transactions reach Ethereum.
debug_traceTransaction
Re-execute a mined transaction and get every internal call, state touch or opcode; the method public RPCs will not give you.
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.
| Method | What it does | Credits |
|---|---|---|
eth_blockNumber | Current head block number of the chain. | 1 |
eth_getBalance | ETH balance of an address at a given block. | 1 |
eth_call | Execute a read-only contract call against current or historical state. | 1 |
eth_sendRawTransaction | Broadcast a locally signed transaction to the network. | 1 |
eth_estimateGas | Dry-run a transaction and return the gas it needs. | 1 |
eth_getLogs | Fetch event logs matching an address, topics and block range. | 1 |
eth_getBlockByNumber | Full block by number, with or without transaction bodies. | 1 |
eth_getTransactionByHash | Transaction details by hash, including pending ones. | 1 |
eth_getTransactionReceipt | Receipt with status, gas used and logs once a transaction is mined. | 1 |
eth_feeHistory | Recent base fees and priority-fee percentiles for fee estimation. | 1 |
eth_gasPrice | Legacy gas price the node would suggest right now. | 1 |
eth_maxPriorityFeePerGas | Suggested priority tip for EIP-1559 transactions. | 1 |
eth_getCode | Deployed bytecode at an address; 0x means no contract. | 1 |
eth_newFilter | Server-side log filter to poll with eth_getFilterChanges. | 1 |
eth_subscribe | Push 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.
| Method | What it does | Credits |
|---|---|---|
debug_traceTransaction | Re-execute a mined transaction and return its full trace. | 1 |
debug_traceCall | Trace an eth_call-style simulation without sending anything. | 1 |
debug_traceBlockByNumber | Trace every transaction in a block in one request. | 1 |
txpool_*
Direct visibility into the node's mempool, pending and queued.
| Method | What it does | Credits |
|---|---|---|
txpool_content | Dump the node's entire pending and queued mempool. | 4 |
trace_*
Parity/OpenEthereum-style replay methods with VM traces and state diffs.
| Method | What it does | Credits |
|---|---|---|
trace_replayTransaction | Parity-style replay with VM trace and state diff. | 4 |
trace_replayBlockTransactions | Replay 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.