eth_getTransactionByBlockNumberAndIndex
curl --request POST \
--url https://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockNumberAndIndex",
"params": [
"latest",
"0x0"
]
}
'import requests
url = "https://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockNumberAndIndex",
"params": ["latest", "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_getTransactionByBlockNumberAndIndex',
params: ['latest', '0x0']
})
};
fetch('https://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/', 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://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/",
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_getTransactionByBlockNumberAndIndex',
'params' => [
'latest',
'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://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getTransactionByBlockNumberAndIndex\",\n \"params\": [\n \"latest\",\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://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getTransactionByBlockNumberAndIndex\",\n \"params\": [\n \"latest\",\n \"0x0\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/")
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_getTransactionByBlockNumberAndIndex\",\n \"params\": [\n \"latest\",\n \"0x0\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Monad node API
eth_getTransactionByBlockNumberAndIndex | Monad
Monad API method that returns information about a transaction by block number and transaction index position. Monad via Chainstack.
POST
/
eth_getTransactionByBlockNumberAndIndex
curl --request POST \
--url https://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockNumberAndIndex",
"params": [
"latest",
"0x0"
]
}
'import requests
url = "https://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockNumberAndIndex",
"params": ["latest", "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_getTransactionByBlockNumberAndIndex',
params: ['latest', '0x0']
})
};
fetch('https://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/', 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://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/",
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_getTransactionByBlockNumberAndIndex',
'params' => [
'latest',
'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://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getTransactionByBlockNumberAndIndex\",\n \"params\": [\n \"latest\",\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://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getTransactionByBlockNumberAndIndex\",\n \"params\": [\n \"latest\",\n \"0x0\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://monad-testnet.core.chainstack.com/9c5b265f20b3ea5df4f54f70eb74b800/")
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_getTransactionByBlockNumberAndIndex\",\n \"params\": [\n \"latest\",\n \"0x0\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Monad API method that returns information about a transaction by block number and transaction index position. This method allows you to retrieve a specific transaction using the block number and the transaction’s position within that 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
quantity|tag— the block number as a hexadecimal string, or one of the following block tags:latest— the most recent block in the canonical chainearliest— the genesis blockpending— the pending state/transactions
quantity— the transaction index position within the block, encoded as hexadecimal.
Response
result— the transaction object, ornullwhen no transaction was found:blockHash— hash of the block containing this transactionblockNumber— number of the block containing this transactionfrom— address of the sendergas— gas provided by the sendergasPrice— gas price in weihash— hash of the transactioninput— the data sent along with the transactionnonce— number of transactions made by the senderto— address of the receivertransactionIndex— integer of the transaction’s index positionvalue— value transferred in weiv,r,s— signature values
eth_getTransactionByBlockNumberAndIndex code examples
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("CHAINSTACK_NODE_URL");
async function getTransactionByIndex() {
const blockNumber = "latest"; // Or use hex like "0x1234"
const index = "0x0"; // First transaction
const tx = await provider.send("eth_getTransactionByBlockNumberAndIndex", [blockNumber, index]);
console.log(tx);
}
getTransactionByIndex();
from web3 import Web3
node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
tx = web3.eth.get_transaction_by_block('latest', 0)
print(tx)
Use case
A practical use case foreth_getTransactionByBlockNumberAndIndex is building block explorers that allow users to browse transactions sequentially within blocks, or analyzing the first or last transactions in recent blocks.Last modified on June 22, 2026
Was this page helpful?