Docs
Supported ChainsXDC NetworkJSON-RPC APIBlock Methods

eth_getBlockByHash - XDC Network RPC Method

Retrieve complete block data by block hash on XDC Network. Essential for trade finance developers, enterprise blockchain teams, and RWA tokenization builders building on the enterprise-grade blockchain for trade finance with 2-second finality and ISO 20022 compliance.

Returns information about a block by hash on XDC Network.

Why XDC Network? Build on the enterprise-grade blockchain for trade finance with 2-second finality and ISO 20022 compliance with ISO 20022 messaging, ITFA membership, Contour Network acquisition, 801M+ transactions, and partnerships with Circle and Deutsche Telekom.

Use Cases

The eth_getBlockByHash method is essential for:

  • Block verification - Verify block data using its unique hash
  • Chain reorganization handling - Track blocks during reorgs
  • Cross-chain bridges - Verify block finality for tokenized trade finance (Letters of Credit, Bills of Lading), cross-border payments, and real-world asset tokenization
  • Deterministic queries - Get consistent block data regardless of chain state

Request Parameters

Request
blockHashDATA

32-byte block hash

fullTransactionsBoolean

If true, returns full transaction objects; if false, returns transaction hashes

Response Body

Response
numberQUANTITY

Block number

hashDATA

32-byte block hash

parentHashDATA

32-byte parent block hash

timestampQUANTITY

Unix timestamp

gasUsedQUANTITY

Total gas used

transactionsArray

Transaction objects or hashes

Code Examples

Bash
curl -X POST https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_getBlockByHash",
    "params": [
      "0x07c1ce3b8528b00e72e875f5527a4913a08d22c1ac8fec8744cf8a6b75b4e885",
      false
    ],
    "id": 1
  }'
JavaScript
import { JsonRpcProvider } from 'ethers';

const provider = new JsonRpcProvider('https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY');

const blockHash = '0x07c1ce3b8528b00e72e875f5527a4913a08d22c1ac8fec8744cf8a6b75b4e885';
const block = await provider.getBlock(blockHash);

console.log('Block number:', block.number);
console.log('Timestamp:', new Date(block.timestamp * 1000));
Python
from web3 import Web3

w3 = Web3(Web3.HTTPProvider('https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY'))

block_hash = '0x07c1ce3b8528b00e72e875f5527a4913a08d22c1ac8fec8744cf8a6b75b4e885'
block = w3.eth.get_block(block_hash)

print(f'Block number: {block.number}')
print(f'Timestamp: {block.timestamp}')
Go
package main

import (
    "context"
    "fmt"
    "log"

    "github.com/ethereum/go-ethereum/common"
    "github.com/ethereum/go-ethereum/ethclient"
)

func main() {
    client, err := ethclient.Dial("https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY")
    if err != nil {
        log.Fatal(err)
    }

    blockHash := common.HexToHash("0x07c1ce3b8528b00e72e875f5527a4913a08d22c1ac8fec8744cf8a6b75b4e885")
    block, err := client.BlockByHash(context.Background(), blockHash)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("Block number: %d\n", block.Number().Uint64())
}

Error Handling

Error CodeMessageDescription
-32602Invalid paramsInvalid block hash format
-32000Block not foundBlock with this hash does not exist