eth_getBlockByHash - Immutable RPC Method
Retrieve complete block data by block hash on Immutable. Essential for AAA game studios, indie game developers, and NFT gaming teams seeking enforceable royalties building on the gaming-optimized zkEVM with 660+ games, 5.5M+ Passport signups, and $40M TVL.
Returns information about a block by hash on Immutable.
Why Immutable? Build on the gaming-optimized zkEVM with 660+ games, 5.5M+ Passport signups, and $40M TVL with first EVM chain with enforceable royalties, Polygon zkEVM technology, $2B+ ecosystem funding, and Agglayer cross-chain liquidity.
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 Web3 gaming (Gods Unchained, RavenQuest), gaming NFTs with enforced royalties, and cross-chain game assets
- Deterministic queries - Get consistent block data regardless of chain state
Request Parameters
32-byte block hash
If true, returns full transaction objects; if false, returns transaction hashes
Response Body
Block number
32-byte block hash
32-byte parent block hash
Unix timestamp
Total gas used
Transaction objects or hashes
Code Examples
curl -X POST https://api-immutable-zkevm-mainnet.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getBlockByHash",
"params": [
"0xdc3499901b5e089b0f67baeb512939f2949bf62cf1158e69bb458e7e43397136",
false
],
"id": 1
}'import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://api-immutable-zkevm-mainnet.n.dwellir.com/YOUR_API_KEY');
const blockHash = '0xdc3499901b5e089b0f67baeb512939f2949bf62cf1158e69bb458e7e43397136';
const block = await provider.getBlock(blockHash);
console.log('Block number:', block.number);
console.log('Timestamp:', new Date(block.timestamp * 1000));from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://api-immutable-zkevm-mainnet.n.dwellir.com/YOUR_API_KEY'))
block_hash = '0xdc3499901b5e089b0f67baeb512939f2949bf62cf1158e69bb458e7e43397136'
block = w3.eth.get_block(block_hash)
print(f'Block number: {block.number}')
print(f'Timestamp: {block.timestamp}')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-immutable-zkevm-mainnet.n.dwellir.com/YOUR_API_KEY")
if err != nil {
log.Fatal(err)
}
blockHash := common.HexToHash("0xdc3499901b5e089b0f67baeb512939f2949bf62cf1158e69bb458e7e43397136")
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 Code | Message | Description |
|---|---|---|
| -32602 | Invalid params | Invalid block hash format |
| -32000 | Block not found | Block with this hash does not exist |
Related Methods
eth_getBlockByNumber- Get block by numbereth_blockNumber- Get latest block number
eth_getBlockByNumber
Retrieve complete block data by block number on Immutable. Perfect for AAA game studios, indie game developers, and NFT gaming teams seeking enforceable royalties building on the gaming-optimized zkEVM with 660+ games, 5.5M+ Passport signups, and $40M TVL.
eth_getBalance
Query account balance on Immutable. Essential for wallet applications and Web3 gaming (Gods Unchained, RavenQuest), gaming NFTs with enforced royalties, and cross-chain game assets on the gaming-optimized zkEVM with 660+ games, 5.5M+ Passport signups, and $40M TVL.