eth_getBlockReceipts
curl --request POST \
--url https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockReceipts",
"params": [
"0x3480c62"
]
}
'import requests
url = "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockReceipts",
"params": ["0x3480c62"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({id: 1, jsonrpc: '2.0', method: 'eth_getBlockReceipts', params: ['0x3480c62']})
};
fetch('https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_getBlockReceipts',
'params' => [
'0x3480c62'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockReceipts\",\n \"params\": [\n \"0x3480c62\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockReceipts\",\n \"params\": [\n \"0x3480c62\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockReceipts\",\n \"params\": [\n \"0x3480c62\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"type": "0x0",
"status": "0x0",
"cumulativeGasUsed": "0xc550",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"transactionHash": "0xfc48f7c70e8ffaa46b1110dc43f32e90f65434a0949edab384d066c820c57ee2",
"transactionIndex": "0x0",
"blockHash": "0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc",
"blockNumber": "0x3480c62",
"gasUsed": "0xc550",
"effectiveGasPrice": "0x53724e000",
"from": "0x19d7cf8ea0ce468417d1eda365a222a9dcbc7d27",
"to": "0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
"contractAddress": null
}
]
}Arc node API
eth_getBlockReceipts | Arc
Arc API method that returns all transaction receipts for a given block. Reference for eth_getBlockReceipts on Arc via Chainstack.
POST
/
eth_getBlockReceipts
curl --request POST \
--url https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockReceipts",
"params": [
"0x3480c62"
]
}
'import requests
url = "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockReceipts",
"params": ["0x3480c62"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({id: 1, jsonrpc: '2.0', method: 'eth_getBlockReceipts', params: ['0x3480c62']})
};
fetch('https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_getBlockReceipts',
'params' => [
'0x3480c62'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockReceipts\",\n \"params\": [\n \"0x3480c62\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockReceipts\",\n \"params\": [\n \"0x3480c62\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockReceipts\",\n \"params\": [\n \"0x3480c62\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"type": "0x0",
"status": "0x0",
"cumulativeGasUsed": "0xc550",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"transactionHash": "0xfc48f7c70e8ffaa46b1110dc43f32e90f65434a0949edab384d066c820c57ee2",
"transactionIndex": "0x0",
"blockHash": "0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc",
"blockNumber": "0x3480c62",
"gasUsed": "0xc550",
"effectiveGasPrice": "0x53724e000",
"from": "0x19d7cf8ea0ce468417d1eda365a222a9dcbc7d27",
"to": "0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
"contractAddress": null
}
]
}Arc API method that returns all transaction receipts for a given block. This is more efficient than fetching receipts individually when you need all receipts from a block.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
blockParameter— the block number (hex) or tag (latest,earliest,pending)
Response
result— array of receipt objects for all transactions in the block:transactionHash— hash of the transactiontransactionIndex— index of the transaction in the blockblockHash— hash of the blockblockNumber— block numberfrom— sender addressto— recipient addresscumulativeGasUsed— total gas used in the block up to this transactiongasUsed— gas used by this transactioncontractAddress— contract address if this was a deploymentlogs— array of log objectslogsBloom— bloom filter for logsstatus—0x1for success,0x0for failureeffectiveGasPrice— actual gas price paidtype— transaction typefeeToken— (Arc-specific) token used to pay feesfeePayer— (Arc-specific) address that paid the fees
eth_getBlockReceipts code examples
const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const getBlockReceipts = async (blockNumber) => {
const receipts = await provider.send("eth_getBlockReceipts", [blockNumber]);
console.log(`Block ${blockNumber}: ${receipts.length} transactions`);
let totalGasUsed = 0n;
let successCount = 0;
let failCount = 0;
for (const receipt of receipts) {
const gasUsed = BigInt(receipt.gasUsed);
totalGasUsed += gasUsed;
if (receipt.status === "0x1") {
successCount++;
} else {
failCount++;
}
console.log(`\nTx ${receipt.transactionIndex}: ${receipt.transactionHash}`);
console.log(` Status: ${receipt.status === "0x1" ? "Success" : "Failed"}`);
console.log(` Gas Used: ${gasUsed}`);
console.log(` Logs: ${receipt.logs.length}`);
// Arc-specific fields
if (receipt.feeToken) {
console.log(` Fee Token: ${receipt.feeToken}`);
}
if (receipt.feePayer) {
console.log(` Fee Payer: ${receipt.feePayer}`);
}
}
console.log(`\n--- Summary ---`);
console.log(`Total transactions: ${receipts.length}`);
console.log(`Successful: ${successCount}, Failed: ${failCount}`);
console.log(`Total gas used: ${totalGasUsed}`);
};
getBlockReceipts("latest");
from web3 import Web3
node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
result = web3.provider.make_request("eth_getBlockReceipts", ["latest"])
receipts = result['result']
print(f"Block latest: {len(receipts)} transactions")
total_gas_used = 0
success_count = 0
fail_count = 0
for receipt in receipts:
gas_used = int(receipt['gasUsed'], 16)
total_gas_used += gas_used
if receipt['status'] == "0x1":
success_count += 1
else:
fail_count += 1
print(f"\nTx {receipt['transactionIndex']}: {receipt['transactionHash']}")
print(f" Status: {'Success' if receipt['status'] == '0x1' else 'Failed'}")
print(f" Gas Used: {gas_used}")
print(f" Logs: {len(receipt['logs'])}")
# Arc-specific fields
if receipt.get('feeToken'):
print(f" Fee Token: {receipt['feeToken']}")
if receipt.get('feePayer'):
print(f" Fee Payer: {receipt['feePayer']}")
print(f"\n--- Summary ---")
print(f"Total transactions: {len(receipts)}")
print(f"Successful: {success_count}, Failed: {fail_count}")
print(f"Total gas used: {total_gas_used}")
curl -X POST "CHAINSTACK_NODE_URL" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "eth_getBlockReceipts", "params": ["latest"], "id": 1}'
Last modified on August 3, 2026
Was this page helpful?
⌘I