BNB Smart Chain

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.

Not available on this chainBSC runs PoSA consensus, which produces no uncle (ommer) blocks, so this method always returns null on chain 56.

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 null as the BNB Smart Chain answer.

Parameters

#NameTypeRequiredDescription
1blockHashstring (hex)YesThe hash of the block that references the uncle.
2uncleIndexstring (hex)YesZero-based index of the uncle within the block's uncles array.

Response

TypeDescription
object | nullBlock 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

curl https://bsc.therpc.io/YOUR_API_KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getUncleByBlockHashAndIndex",
"params": [
"0x0000000000000000000000000000000000000000000000000000000000000000",
"0x0"
],
"id": 1
}'

Try it live in the BNB Smart Chain playground.

Errors & troubleshooting

CodeMessageCause
-32602Invalid paramsBlock 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 null here.
  • 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 to null.

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")

curl https://bsc.therpc.io/YOUR_API_KEY \
-X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getUncleByBlockHashAndIndex","params":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0"]}'

Ready to call this in production?

Free tier covers personal projects. Pay-as-you-go scales without a card.