eth_getTransactionByBlockHashAndIndex
curl --request POST \
--url https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockHashAndIndex",
"params": [
"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc",
"0x0"
]
}
'import requests
url = "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockHashAndIndex",
"params": ["0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc", "0x0"]
}
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_getTransactionByBlockHashAndIndex',
params: ['0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc', '0x0']
})
};
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_getTransactionByBlockHashAndIndex',
'params' => [
'0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc',
'0x0'
]
]),
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_getTransactionByBlockHashAndIndex\",\n \"params\": [\n \"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc\",\n \"0x0\"\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_getTransactionByBlockHashAndIndex\",\n \"params\": [\n \"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc\",\n \"0x0\"\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_getTransactionByBlockHashAndIndex\",\n \"params\": [\n \"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc\",\n \"0x0\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": {
"type": "0x0",
"chainId": "0x4cef52",
"nonce": "0x4",
"gasPrice": "0x53724e000",
"gas": "0x927c0",
"to": "0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
"value": "0x0",
"input": "0xb61d27f60000000000000000000000001ff9c167b50d05910ffdadb82d3d2da4508330ca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040a617bee00000000000000000000000000000000000000000000000000000000",
"r": "0x90ad8b5cd38ec2759cba501be2e953c738142f535800f8c1e9e25a97fec1a7d3",
"s": "0x78c101e63dba589c48042e38bc3a458d2e4a01d0285a0ede2e114a9c690a3ebd",
"v": "0x99dec7",
"hash": "0xfc48f7c70e8ffaa46b1110dc43f32e90f65434a0949edab384d066c820c57ee2",
"blockHash": "0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc",
"blockNumber": "0x3480c62",
"transactionIndex": "0x0",
"from": "0x19d7cf8ea0ce468417d1eda365a222a9dcbc7d27"
}
}Arc node API
eth_getTransactionByBlockHashAndIndex | Arc
Arc API method that returns information about a transaction by block hash and transaction index position. Chainstack Arc reference.
POST
/
eth_getTransactionByBlockHashAndIndex
curl --request POST \
--url https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockHashAndIndex",
"params": [
"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc",
"0x0"
]
}
'import requests
url = "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockHashAndIndex",
"params": ["0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc", "0x0"]
}
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_getTransactionByBlockHashAndIndex',
params: ['0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc', '0x0']
})
};
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_getTransactionByBlockHashAndIndex',
'params' => [
'0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc',
'0x0'
]
]),
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_getTransactionByBlockHashAndIndex\",\n \"params\": [\n \"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc\",\n \"0x0\"\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_getTransactionByBlockHashAndIndex\",\n \"params\": [\n \"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc\",\n \"0x0\"\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_getTransactionByBlockHashAndIndex\",\n \"params\": [\n \"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc\",\n \"0x0\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": {
"type": "0x0",
"chainId": "0x4cef52",
"nonce": "0x4",
"gasPrice": "0x53724e000",
"gas": "0x927c0",
"to": "0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
"value": "0x0",
"input": "0xb61d27f60000000000000000000000001ff9c167b50d05910ffdadb82d3d2da4508330ca0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040a617bee00000000000000000000000000000000000000000000000000000000",
"r": "0x90ad8b5cd38ec2759cba501be2e953c738142f535800f8c1e9e25a97fec1a7d3",
"s": "0x78c101e63dba589c48042e38bc3a458d2e4a01d0285a0ede2e114a9c690a3ebd",
"v": "0x99dec7",
"hash": "0xfc48f7c70e8ffaa46b1110dc43f32e90f65434a0949edab384d066c820c57ee2",
"blockHash": "0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc",
"blockNumber": "0x3480c62",
"transactionIndex": "0x0",
"from": "0x19d7cf8ea0ce468417d1eda365a222a9dcbc7d27"
}
}Arc API method that returns information about a transaction by block hash and transaction index position.
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
blockHash— the hash of the blocktransactionIndex— the transaction index position (hex)
Response
result— the transaction object, ornullif not found:hash— transaction hashnonce— sender’s transaction countblockHash— hash of the containing blockblockNumber— block numbertransactionIndex— index in the blockfrom— sender addressto— recipient address (null for contract creation)value— value transferred in weigas— gas limitgasPrice— gas priceinput— transaction datav,r,s— signature values
eth_getTransactionByBlockHashAndIndex code examples
const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const getTransactionByIndex = async (blockHash, index) => {
const tx = await provider.send("eth_getTransactionByBlockHashAndIndex", [
blockHash,
index
]);
if (tx) {
console.log(`Transaction at index ${parseInt(index, 16)}:`);
console.log(` Hash: ${tx.hash}`);
console.log(` From: ${tx.from}`);
console.log(` To: ${tx.to || 'Contract Creation'}`);
console.log(` Value: ${ethers.formatEther(tx.value)} ETH`);
} else {
console.log("Transaction not found");
}
};
getTransactionByIndex(
"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc",
"0x0"
);
from web3 import Web3
node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
result = web3.provider.make_request("eth_getTransactionByBlockHashAndIndex", [
"0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc",
"0x0"
])
tx = result['result']
if tx:
print(f"Transaction at index 0:")
print(f" Hash: {tx['hash']}")
print(f" From: {tx['from']}")
print(f" To: {tx.get('to', 'Contract Creation')}")
print(f" Value: {web3.from_wei(int(tx['value'], 16), 'ether')} ETH")
else:
print("Transaction not found")
curl -X POST "CHAINSTACK_NODE_URL" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockHashAndIndex",
"params": ["0xa86891cc8ae2e3efe67b21e24f8f852e76a0875892e9e8c9a4c77aab8e2761cc", "0x0"],
"id": 1
}'
Last modified on August 3, 2026
Was this page helpful?
⌘I