Ethereum

Ethereum

All Methods

This page is the full index of every Ethereum mainnet JSON-RPC method TheRPC serves on chain 1, sorted by namespace. Each entry names the method, says what it does, and links straight to its own page. Open any method to get the parameter table, return shape, error codes, a runnable request against https://ethereum.therpc.io/YOUR_API_KEY, and its CU cost. Use the namespace groupings below to jump to reads (eth_), node-level tracing (debug_, trace_), network info (net_), the mempool (txpool_), or hashing utilities (web3_).

Core Methods (eth_)

The eth_ namespace is where most work happens. These methods read account balances and nonces, fetch blocks and transaction receipts, call view functions on contracts, estimate gas, and broadcast signed transactions. They also cover EIP-1559 fee data through eth_feeHistory and eth_maxPriorityFeePerGas, and event log queries via eth_getLogs. Every block tag the protocol exposes — latest, safe, finalized, pending, earliest — works as the block parameter here, which matters once you start reading state at proof-of-stake finality rather than at the chain head.

Core Methods (eth_)

eth_blockNumber

Get the latest Ethereum mainnet (chain 1) block height with eth_blockNumber over JSON-RPC. The cheapest call to confirm an endpoint is live.

eth_call

Run a gas-free read-only EVM call on Ethereum mainnet (chain 1) with eth_call. Read contract state, simulate reverts, and apply state overrides.

eth_chainId

eth_chainId returns the EIP-155 chain ID the endpoint serves — 0x1 for Ethereum mainnet. Use it to guard signing against replay across chains.

eth_estimateGas

eth_estimateGas simulates a transaction on Ethereum mainnet (chain 1) and returns the gas limit it needs. Size the gas field before you sign.

eth_feeHistory

eth_feeHistory returns base fees, gas-used ratios, and priority-fee percentiles across recent Ethereum blocks to build EIP-1559 fee estimators.

eth_gasPrice

eth_gasPrice returns the node's suggested legacy gas price in wei on Ethereum mainnet (chain 1). A quick fee read for type-0 transactions.

eth_getBalance

eth_getBalance returns an account's ETH balance in wei at any block on Ethereum mainnet (chain 1). Query latest, finalized, or a historical height.

eth_getBlockByHash

eth_getBlockByHash returns full block data for a given hash on Ethereum mainnet (chain 1) — header fields, withdrawals, gas metrics, and txs.

eth_getBlockByNumber

eth_getBlockByNumber returns block data by height or tag (latest, safe, finalized) on Ethereum mainnet (chain 1). Walk the chain or read the tip.

eth_getBlockReceipts

eth_getBlockReceipts returns every transaction receipt in an Ethereum block (chain 1) in one call — logs, gas, status. Built for fast indexing.

eth_getBlockTransactionCountByHash

eth_getBlockTransactionCountByHash returns how many transactions sit in an Ethereum block (chain 1) given its hash, without fetching the block.

eth_getBlockTransactionCountByNumber

Count transactions in an Ethereum block by height or tag with eth_getBlockTransactionCountByNumber over JSON-RPC on mainnet (chain 1).

eth_getCode

Fetch the deployed EVM bytecode at an Ethereum address and block with eth_getCode over JSON-RPC on mainnet (chain 1). Tell contracts from EOAs.

eth_getFilterChanges

Poll an Ethereum filter for new logs, blocks, or pending txs since the last call with eth_getFilterChanges over JSON-RPC on mainnet (chain 1).

eth_getFilterLogs

Return every log matching an existing Ethereum log filter, ignoring poll state, with eth_getFilterLogs over JSON-RPC on mainnet (chain 1).

eth_getLogs

Query Ethereum event logs by address, topics, and block range with eth_getLogs over JSON-RPC on mainnet (chain 1). The core method for backfill indexing.

eth_getProof

Get account fields and Merkle-Patricia trie proofs for an Ethereum address and its storage slots with eth_getProof over JSON-RPC on mainnet (chain 1).

eth_getStorageAt

Read the 32-byte value at a contract storage slot on Ethereum with eth_getStorageAt over JSON-RPC on mainnet (chain 1), at any block.

eth_getTransactionByBlockHashAndIndex

Fetch an Ethereum transaction by its block hash and index position with eth_getTransactionByBlockHashAndIndex over JSON-RPC on mainnet (chain 1).

eth_getTransactionByBlockNumberAndIndex

Fetch an Ethereum transaction by block number or tag and index with eth_getTransactionByBlockNumberAndIndex over JSON-RPC on mainnet (chain 1).

eth_getTransactionByHash

Look up a full Ethereum transaction object by its hash with eth_getTransactionByHash over JSON-RPC on mainnet (chain 1). Decode input, sender, value.

eth_getTransactionCount

Get an Ethereum account nonce (transactions sent) at a block with eth_getTransactionCount over JSON-RPC on mainnet (chain 1). Pending vs latest.

eth_getTransactionReceipt

Fetch an Ethereum mainnet transaction receipt by hash: success/revert status, gas used, effective gas price, and emitted logs via eth_getTransactionReceipt.

eth_getUncleByBlockHashAndIndex

Read an Ethereum uncle (ommer) header by parent block hash and index with eth_getUncleByBlockHashAndIndex — PoW-era data; post-Merge blocks have none.

eth_getUncleByBlockNumberAndIndex

Fetch an Ethereum uncle (ommer) header by block height and index with eth_getUncleByBlockNumberAndIndex — ideal for scanning pre-Merge PoW ranges.

eth_getUncleCountByBlockHash

Count the uncles a given Ethereum block references by hash with eth_getUncleCountByBlockHash — returns 0x0/0x1/0x2 on PoW history, 0x0 after the Merge.

eth_getUncleCountByBlockNumber

Count uncles at an Ethereum block height or tag with eth_getUncleCountByBlockNumber — non-zero only for pre-Merge PoW blocks, 0x0 on PoS.

eth_maxPriorityFeePerGas

Get a suggested EIP-1559 priority fee (validator tip) in wei for Ethereum mainnet type-2 transactions with eth_maxPriorityFeePerGas.

eth_newBlockFilter

Create an Ethereum mainnet block filter with eth_newBlockFilter and poll eth_getFilterChanges for hashes of each new block (~one per 12s slot).

eth_newFilter

Register an Ethereum mainnet log filter by address and topics with eth_newFilter, then poll eth_getFilterChanges for new matching events incrementally.

eth_newPendingTransactionFilter

Watch the Ethereum mainnet mempool with eth_newPendingTransactionFilter and poll eth_getFilterChanges for hashes of newly seen pending transactions.

eth_sendRawTransaction

Broadcast a signed, RLP-encoded transaction to Ethereum mainnet with eth_sendRawTransaction and get its hash; supports EIP-1559 type-2 transactions.

eth_subscribe

Open a push subscription over Ethereum mainnet WebSocket with eth_subscribe — stream newHeads, logs, newPendingTransactions, or syncing without polling.

eth_syncing

Call eth_syncing on Ethereum mainnet (chain 1) to get a node's sync progress object, or false once it has caught up to the chain head.

eth_uninstallFilter

Call eth_uninstallFilter on Ethereum mainnet (chain 1) to remove a polling filter by ID and free node resources. Works for every filter type.

eth_unsubscribe

Call eth_unsubscribe on Ethereum mainnet (chain 1) to cancel an eth_subscribe stream by ID over WebSocket and stop further notifications.

Debug Methods (debug_)

The debug_ namespace exposes geth-style tracing for taking apart what a transaction actually did inside the EVM. The callTracer reconstructs the full internal call tree, prestateTracer reports the state each touched account had going in, and the opcode-level struct logger walks every instruction with its gas and stack. This is how you root-cause a failed Uniswap swap or an unexpected revert in a Lido or Aave interaction. These calls are expensive and need a debug-enabled archive node, so they cost more CUs than ordinary reads.

Debug Methods (debug_)

Trace Methods (trace_)

The trace_ namespace is the Parity/OpenEthereum-style tracer, served by Erigon, and it gives you flat per-call traces rather than geth's nested tree. Use it to replay a single transaction, walk every internal call in a block, or filter traces across a block range by sender or recipient. It answers questions like "which contracts did this transaction touch and how much value moved at each step." Like the debug_ calls, these run against a trace-enabled archive node and carry a higher CU cost.

Trace Methods (trace_)

Network Methods (net_)

The net_ namespace reports network-level facts about the node you are talking to. net_version returns the network identifier as a string — 1 for Ethereum mainnet — net_listening confirms the node is accepting peer connections, and net_peerCount shows how many peers it currently has. These are quick, cheap checks, handy for confirming you are pointed at chain 1 and not a Sepolia or Holesky endpoint before sending anything for real.

Network Methods (net_)

Transaction Pool Methods (txpool_)

The txpool_ namespace is geth's window into the mempool — the transactions a node has received but not yet included in a block. You can see what is pending (ready to mine) versus queued (waiting on a nonce gap), grouped by sender address. This is where you watch your own transactions sit before a validator picks them up in the next 12-second slot, or gauge fee pressure by inspecting what tips other senders are offering.

Transaction Pool Methods (txpool_)

Web3 Utility Methods (web3_)

The web3_ namespace holds two small utilities. web3_clientVersion tells you which execution client and version is behind the endpoint (geth, erigon, reth, nethermind, or besu), and web3_sha3 returns the Keccak-256 hash of the bytes you pass. Note that this is Keccak-256, the function Ethereum has always used for address derivation and function selectors — not the later NIST SHA-3 / FIPS-202 standard, which produces different output for the same input.

Web3 Utility Methods (web3_)

Ready to call this in production?

Free tier covers personal projects. Pay-as-you-go scales without a card.