TriportRPC

BNB Smart Chain RPC — chain ID 56

Last updated:

Get API key Read the documentation

Network details

BNB Smart Chain connection values
NetworkBNB Smart Chain mainnet
Chain ID56
CurrencyBNB
RPC URLhttps://triport.io/rpc/bsc
Keyed URL for walletshttps://triport.io/r/<API_KEY>/rpc/bsc
Authenticationx-token: $TRIPORT_API_KEY (Authorization: Bearer also accepted), scope bsc:rpc
WebSocketNot part of the product
Transaction submissionNot part of the product

What works today

Capabilities and their published status — from the generated capability registry
CapabilityStatusNotes
JSON-RPC reads (BNB Smart Chain)AvailableRead-only product: no transaction submission.
eth_getLogsAvailableup to 100 blocks per request; 25/100 are source profiles, not one promised range
txpool (routed node view)LimitedLocal pool of the routed node, not the whole network mempool.
Debug and trace (best-effort)Limited

Read-only, and why that is stated first

BSC on Triport serves reads. There is no submission category on any plan, so eth_sendRawTransaction is not available here at all — if your application signs and broadcasts transactions, this endpoint covers the reading half only. Saying that up front is cheaper for both of us than a failed integration on the day you ship.

There is no WebSocket for BSC

Not supported. Not part of the product; the AsyncAPI file is not a live service. A contract file in the repository is not a running service, and we would rather say so than let you discover it from a connection that never opens. For head tracking, poll eth_getBlockByNumber; for events, page eth_getLogs in 100-block windows.

Two limits worth knowing before you build

eth_getLogs covers at most 100 blocks per request. The 25 and 100 figures that appear in upstream sources are per-node profiles, not a single promised range — so chunk conservatively and handle a range error rather than assuming the maximum.

txpool_* is one node's pool. txpool_content, txpool_inspect and txpool_status return the local pool of whichever node served the request, which is a sample of pending activity and not the network mempool. Building a mempool product on it would be building on a partial view.

debug_traceBlockByNumber, debug_traceTransaction and trace_block are served best-effort and share the heavy read budget.

Limits and plans

Requests per second by plan — per-category RPS limits, unmeasured for BSC
CapabilityFree trial (7 days)BasicProBusinessEnterprise
Reads (bsc_read_rpc)1520100250no per-category cap
Heavy reads: logs, trace, archive state1520100250no per-category cap
Transaction submission
WebSocket

Both BSC rows are operational defaults inherited from Polygon of the same plan — they are not the result of a BSC load test, and we publish them as per-category RPS limits rather than measured capacity. Unusually for our networks, the heavy budget equals the ordinary read budget here, so logs and trace are not rationed separately. Plans: Basic $20, Pro $249, Business $499, Enterprise from $999 per month; Free is a 7-day trial with a single key in the EU region. See BSC limits.

Every plan with its limits on every network, and what a plan costs at its cap: RPC pricing.

Quickstart

# curl
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":[]}'

# viem
import { createPublicClient, http } from "viem";
import { bsc } from "viem/chains";
const client = createPublicClient({
  chain: bsc,
  transport: http("https://triport.io/r/<API_KEY>/bsc"),
});

# Hardhat / Foundry
networks: { bsc: { url: "https://triport.io/r/<API_KEY>/bsc", chainId: 56 } }
rpc_endpoints = { bsc = "https://triport.io/r/<API_KEY>/bsc" }

FAQ

What is the BNB Smart Chain RPC URL?
https://triport.io/rpc/bsc for JSON-RPC over HTTPS. Authenticate with the x-token header, or use the keyed URL https://triport.io/r/<API_KEY>/bsc where a custom header is impossible, such as in a wallet or hardhat.config.
What is chain ID 56?
56 is BNB Smart Chain mainnet, an EVM chain that pays gas in BNB. Standard eth_* JSON-RPC and the usual EVM tooling (viem, ethers, Hardhat, Foundry) work against it.
Is there a WebSocket endpoint for BSC on Triport?
No. WebSocket is not part of the BSC product: there is no /ws/bsc service, and the AsyncAPI file in the repository describes a contract that is not served. Poll eth_getBlockByNumber and eth_getLogs instead.
Can I send transactions on BSC through Triport?
No. BSC is published as a read-only surface — there is no submission category on any plan, so eth_sendRawTransaction is not served. Use your own node or another provider for broadcasting.
What is the eth_getLogs block range limit on BSC?
Up to 100 blocks per request. The 25 and 100 figures seen in sources are per-node profiles rather than one promised range, so a client that must not fail should chunk conservatively and handle a range error.
Does txpool_content show the whole BSC mempool?
No. txpool_content, txpool_inspect and txpool_status return the local pool of the node your request was routed to — a partial view, not the network mempool. Treat it as a sample.
Are debug_traceTransaction and trace_block available on BSC?
They are served best-effort: debug_traceBlockByNumber, debug_traceTransaction and trace_block are published, but without an availability commitment, and they draw on the heavy read budget.
What are the BSC rate limits?
Reads 15/20/100/250 RPS on Free trial/Basic/Pro/Business, and the heavy budget is the same on each plan. Enterprise has no per-category cap. These are per-category RPS limits inherited from Polygon defaults and are unmeasured for BSC.

BNB Smart Chain read methods