Ethereum

Ethereum

eth_getBlockReceipts

eth_getBlockReceipts returns the receipt for every transaction in one Ethereum block in a single call. Each receipt carries the execution outcome — status (0x1 success, 0x0 failure), gasUsed and cumulativeGasUsed, the effectiveGasPrice that settled under EIP-1559, any contractAddress created, and the full logs array. Instead of one round-trip per transaction, you ask once by block tag and get the whole set, which is exactly what an indexer wants when ingesting a block on Ethereum mainnet. Point it at https://ethereum.therpc.io/YOUR_API_KEY (chain ID 1, native coin ETH) with a height or named tag.

Use cases

  • Single-call block ingestion. Pull every event in a block at once to feed an indexer or subgraph, instead of fanning out one receipt request per transaction.
  • Block-level fee accounting. Sum gasUsed across receipts and multiply by each effectiveGasPrice to compute total fees paid in the block, in ETH.
  • Token balance updates. Scan the logs for ERC-20 Transfer events (topic0 0xddf252ad...) to advance token balances without a separate log query.
  • Failure triage. Filter receipts where status is 0x0 to find reverted transactions in the block and investigate why they failed.

Parameters

#NameTypeRequiredDescription
1blockTagstringYesThe block whose receipts to fetch.

Response

TypeDescription
array of objectArray of receipt objects. Each receipt contains: transactionHash, transactionIndex, blockHash, blockNumber, from, to, contractAddress, gasUsed, cumulativeGasUsed, effectiveGasPrice, status ("0x1" success / "0x0" failure), logs, logsBloom, type.

Example request

curl https://ethereum.therpc.io/YOUR_API_KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getBlockReceipts",
"params": ["latest"],
"id": 1
}'

Try it live in the Ethereum playground.

Errors & troubleshooting

CodeMessageCause
-32602Invalid paramsBlock tag is unrecognised or malformed.
-32000Block not foundThe requested block does not exist or has been pruned.

Common pitfalls

  • For whole-block ingestion this beats looping eth_getTransactionReceipt — one request versus hundreds, with far less latency and fewer compute units billed.
  • A dense mainnet block with verbose DeFi logs produces a large array. Budget for multi-megabyte responses and chunk your processing rather than holding everything in memory at once.
  • The method is a newer addition; not every node exposes it. TheRPC serves it on Ethereum mainnet, but if you fan out to other backends, confirm support and keep a per-transaction fallback path.

Supported networks

  • Mainnet — Chain ID: 1
  • Sepolia — Chain ID: 11155111

See also

Parameters

hex block number or "latest"/"earliest"/"pending"/"safe"/"finalized"

curl https://ethereum.therpc.io/YOUR_API_KEY \
-X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getBlockReceipts","params":[""]}'

Ready to call this in production?

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