EVM network documentation
BNB Smart Chain RPC API reference
BNB Smart Chain mainnet RPC endpoint: https://triport.io/rpc/bsc (HTTPS), chain ID 56. Requests need a Triport API key in the x-token header; the Free plan is a 7-day trial. Endpoint, plans and limits: BNB Smart Chain RPC endpoint.
https://triport.io/rpc/bscAll BNB Smart Chain reference pages 30
JSON-RPC · bsc read rpc heavy
JSON-RPC · bsc read rpc
- eth_blockNumber
- eth_chainId
- eth_estimateGas
- eth_feeHistory
- eth_gasPrice
- eth_getBlockByNumber
- eth_getBlockTransactionCountByNumber
- eth_getCode
- eth_getProof
- eth_getStorageAt
- eth_getTransactionByHash
- eth_getTransactionCount
- eth_getTransactionReceipt
- eth_maxPriorityFeePerGas
- eth_syncing
- net_listening
- net_peerCount
- net_version
- txpool_content
- txpool_inspect
- txpool_status
- web3_clientVersion
Guides & operations
Contracts
Capabilities
- JSON-RPC reads (BNB Smart Chain)AvailableFree+Read-only product: no transaction submission.
- eth_getLogsAvailableFree+
- txpool (routed node view)AvailableFree+Local pool of the routed node, not the whole network mempool.
Statuses reflect checks up to 2026-10-10. Rate limits are plan policy, not measured capacity.
BSC provides read-only JSON-RPC 2.0 access over HTTPS. The published method catalog covers current chain data and supported historical reads; historical availability depends on the requested method and block.
| Method / Endpoint | Network | Chain ID | Authentication | Required scope | Tier / rate limit |
|---|---|---|---|---|---|
POST https://triport.io/rpc/bsc | BNB Smart Chain mainnet | 56 | x-token: $TRIPORT_API_KEY | bsc:rpc | Category-specific RPS; see Limits |
Endpoints
| Surface | Endpoint | Reference |
|---|---|---|
| HTTPS | https://triport.io/rpc/bsc | Backend path /rpc/bsc |
Quickstart
curl https://triport.io/rpc/bsc \
-H "x-token: $TRIPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'What's available
29 JSON-RPC methods in the OpenRPC catalog:
bsc_read_rpc_heavy: 7bsc_read_rpc: 22
Historical state reads are available within the retained history. Requests outside that history can return a pruned or unsupported-state error; handle these errors before retrying.
Limits
See network limits and Rate Limits & Tiers.
Finite request-rate budgets include a 2× burst buffer at no extra cost. It refills at sustained RPS; there is no quota on the number of bursts. Interval categories use seconds and have no RPS burst. See Burst capacity.
| Category | Free | Basic | Pro | Business | Enterprise |
|---|---|---|---|---|---|
bsc_read_rpc | 15 RPS sustained · up to 30 burst | 20 RPS sustained · up to 40 burst | 100 RPS sustained · up to 200 burst | 250 RPS sustained · up to 500 burst | unlimited |
bsc_read_rpc_heavy | 15 RPS sustained · up to 30 burst | 20 RPS sustained · up to 40 burst | 100 RPS sustained · up to 200 burst | 250 RPS sustained · up to 500 burst | unlimited |
Keep eth_getLogs block ranges small and use an address filter where possible. If a range is rejected, split it into smaller requests. Consult the method reference and network limits for request budgets.
Errors
See network-specific errors and the shared error reference.
Upstream -32000 is ambiguous: header not found means a missing block, while pruned/unsupported text means missing historical state. Classify code and message together. invalid logs ranges or a missing required address are parameter errors.
Methods
bsc read rpc heavy (4)
bsc read rpc (22)
eth_blockNumbereth_chainIdeth_estimateGaseth_feeHistoryeth_gasPriceeth_getBlockByNumbereth_getBlockTransactionCountByNumbereth_getCodeeth_getProofeth_getStorageAteth_getTransactionByHasheth_getTransactionCounteth_getTransactionReceipteth_maxPriorityFeePerGaseth_syncingnet_listeningnet_peerCountnet_versiontxpool_contenttxpool_inspecttxpool_statusweb3_clientVersion
Streams
No mounted stream is published for this network.
JavaScript (fetch)
The same request from JavaScript (Node 18+ or the browser):
const res = await fetch("https://triport.io/rpc/bsc", {
method: "POST",
headers: {
"x-token": process.env.TRIPORT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}),
});
const { result } = await res.json();
console.log(result);