Skip to main content
Tempo API method that returns information about a transaction by block hash and transaction index position.

Parameters

  • blockHash — the hash of the block
  • transactionIndex — the transaction index position (hex)

Response

  • result — the transaction object, or null if not found:
    • hash — transaction hash
    • nonce — sender’s transaction count
    • blockHash — hash of the containing block
    • blockNumber — block number
    • transactionIndex — index in the block
    • from — sender address
    • to — recipient address (null for contract creation)
    • value — value transferred in wei
    • gas — gas limit
    • gasPrice — gas price
    • input — transaction data
    • v, 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(
  "0x1c3830dd03a362ba82e82017a5f4e361c12fc43b64a1e4ebd2902f0c313cad7e",
  "0x0"
);