BNB Smart Chain
eth_getUncleByBlockHashAndIndex
Uncles never happen on BNB Smart Chain. Chain ID 56 runs PoSA consensus with fast deterministic finality, so the network never orphans a sibling block (the thing Ethereum calls an uncle or ommer). eth_getUncleByBlockHashAndIndex, reachable at https://bsc.therpc.io/YOUR_API_KEY, survives only as an Ethereum-compatibility shim. Per the original spec it would look up an ommer header by its position inside the block you name by hash. PoSA mints no such siblings, so the call resolves to null for whatever block hash and index pair you pass. Tools ported straight from Ethereum keep running against chain 56 without crashing; they simply read nothing back.
Use cases
- Compute uncle reward amounts during historical mining analysis. On PoSA BNB Smart Chain no such rewards exist, so this branch never fires.
- Measure uncle rates as a proxy for network latency and validator competition; on chain 56 that metric reads as a structural zero.
- Retrieve uncle header fields for cross-chain research tooling built around the Ethereum shape, accepting
nullas the BNB Smart Chain answer.
Parameters
| # | Name | Type | Required | Description |
|---|---|---|---|---|
| 1 | blockHash | string (hex) | Yes | The hash of the block that references the uncle. |
| 2 | uncleIndex | string (hex) | Yes | Zero-based index of the uncle within the block's uncles array. |
Response
| Type | Description |
|---|---|
| object | null | Block header object (no transactions array): number, hash, parentHash, sha3Uncles, miner, stateRoot, transactionsRoot, receiptsRoot, logsBloom, difficulty, gasLimit, gasUsed, timestamp, extraData, mixHash, nonce. Returns null if not found. |
Example request
Try it live in the BNB Smart Chain playground.
Errors & troubleshooting
| Code | Message | Cause |
|---|---|---|
-32602 | Invalid params | Block hash or uncle index is malformed. |
Common pitfalls
- Even on chains that do have uncles, an uncle header carries no transactions array — never parse one out of this result.
- PoSA BNB Smart Chain produces no uncles at all, so queries against any block, recent or old, return
nullhere. - The legacy Ethereum cap of two uncles per block does not save you on chain 56: index
0x0,0x2, and everything else alike always resolve tonull.
Supported networks
- Mainnet — Chain ID: 56
- Testnet — Chain ID: 97
See also
Parameters
0x-prefixed 32-byte block hash
0x-prefixed hex integer (e.g. "0x0")