BNB Smart Chain
BNB Smart Chain
eth_blockNumber
eth_blockNumber reports the head of BNB Smart Chain: the height of the most recently accepted block. BSC is a geth-equivalent EVM secured by PoSA validators and fueled by BNB. It seals a block roughly every three seconds, and sub-second after recent client upgrades, so this counter climbs fast. Point any client at https://bsc.therpc.io/YOUR_API_KEY on chain ID 56. The response is a single hex integer naming the freshest canonical block the node knows about.
Use cases
- Heartbeat probe: the cheapest BSC call to confirm your TheRPC endpoint is alive before issuing heavier requests.
- Anchor a starting height before paginating historical BEP-20 Transfer logs in fixed-size windows.
- Drive a "wait for N confirmations" loop in PancakeSwap or Venus deployment scripts, polling every few seconds as new blocks land.
- Compare the head against a target height to judge how close a transaction sits to BSC's fast deterministic finality.
Parameters
This method takes no parameters. Pass an empty array [].
Response
| Type | Description |
|---|---|
| string (hex) | Hex-encoded integer block number. Parse with parseInt(value, 16) or BigInt(value). |
Example request
Try it live in the BNB Smart Chain playground.
Errors & troubleshooting
| Code | Message | Cause |
|---|---|---|
-32603 | Internal error | Node is not reachable or has not yet produced any block. |
Common pitfalls
- The value arrives as a hex string such as
"0x2a1b3c0". Run it throughparseInt(value, 16)before any arithmetic. - Because BSC blocks land every few seconds, two calls milliseconds apart often return the same height. A cached response there is expected, not a bug.
- BSC is an L1, so the figure is a real validator-produced block height. There is no L1 batch number to confuse it with, the way a rollup would have.
Supported networks
- Mainnet — Chain ID: 56
- Testnet — Chain ID: 97