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

Parameters

  • blockNumber — the block number (hex) or tag (latest, earliest, pending)
  • 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_getTransactionByBlockNumberAndIndex code examples

const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);

const getTransactionByIndex = async (blockNumber, index) => {
    const tx = await provider.send("eth_getTransactionByBlockNumberAndIndex", [
      blockNumber,
      index
    ]);

    if (tx) {
      console.log(`Transaction at block ${blockNumber}, index ${parseInt(index, 16)}:`);
      console.log(`  Hash: ${tx.hash}`);
      console.log(`  From: ${tx.from}`);
      console.log(`  To: ${tx.to || 'Contract Creation'}`);
      console.log(`  Gas: ${parseInt(tx.gas, 16)}`);
    } else {
      console.log("Transaction not found");
    }
  };

// Get first transaction in latest block
getTransactionByIndex("latest", "0x0");