eth_getUncleByBlockHashAndIndex
The eth_getUncleByBlockHashAndIndex method returns information about an uncle block (also called ommer block) by block hash and uncle index position. Uncle blocks are valid blocks that were mined but not included in the main canonical chain, typically due to network propagation delays causing temporary forks.
This method is useful for analyzing blockchain consensus mechanics, studying mining statistics and fork rates, understanding network health and propagation efficiency, and researching uncle/ommer rewards. Note that Ethereum transitioned to Proof of Stake with The Merge (September 2022), after which uncle blocks no longer exist. This method is primarily relevant for historical analysis of pre-Merge blocks or for networks still using Proof of Work. Uncle blocks included in the canonical chain earn reduced rewards for their miners.
Parameters
parameter | type | description |
|---|---|---|
blockHash | string (required) | Hash of the block (32 bytes) |
uncleIndex | string (required) | Uncle block index position in hex |
Return Object
The method returns an uncle block object, or null if no uncle exists at the specified index:
field | type | description |
|---|---|---|
number | string | The block number of the uncle block (hex) |
hash | string | Hash of the uncle block (32 bytes) |
parentHash | string | Hash of the parent block (32 bytes) |
nonce | string | Proof-of-work nonce (8 bytes) |
sha3Uncles | string | SHA3 hash of the uncles data in the block (32 bytes) |
logsBloom | string | Bloom filter for the logs of the block (256 bytes) |
transactionsRoot | string | Root of the transaction trie (32 bytes) |
stateRoot | string | Root of the final state trie (32 bytes) |
receiptsRoot | string | Root of the receipts trie (32 bytes) |
miner | string | Address of the miner who mined this uncle block (20 bytes) |
difficulty | string | Difficulty for this uncle block (hex) |
totalDifficulty | string | Total difficulty of the chain until this block (hex) |
extraData | string | Extra data field of this block (hex-encoded) |
size | string | Size of this block in bytes (hex) |
gasLimit | string | Maximum gas allowed in this block (hex) |
gasUsed | string | Total gas used by all transactions in this block (hex) |
timestamp | string | Unix timestamp for when the block was collated (hex) |
transactions | array | Array of transaction hashes |
uncles | array | Array of uncle block hashes (typically empty for uncle blocks themselves) |
Uncle blocks are complete block headers but were not added to the canonical chain. Returns null if the uncle index is out of range.
Request Example
Response Example