Logo
New RPC users get 35% off their first monthView the offer
RPC Assistant

BNB Smart Chain Nodes: Full, Archive, Validator & RPC Nodes

Summary

BNB Smart Chain nodes are client instances that maintain a copy of BSC state, validate blocks, and serve JSON-RPC requests. Full nodes store current state and validate new blocks; archive nodes retain historical state for queries at any past block; fast nodes optimize throughput by skipping state verification; validator nodes participate in Proof of Staked Authority consensus. RPC nodes expose HTTP and WebSocket endpoints for wallets, dApps, and indexers. Most development teams need RPC access, not validator operations. You can run a node with the official BSC client or bsc-erigon, but self-hosting requires ongoing sync, storage, upgrades, backups, and monitoring. Managed RPC services remove that operational burden while providing production-grade endpoints, archive data, and failover. Use BNB Smart Chain mainnet chain ID 56 (0x38) and testnet chain ID 97 (0x61). OnFinality provides EVM-compatible HTTPS and WebSocket RPC, archive support, and public endpoints for mainnet and testnet. This guide covers node roles, self-hosting, archive workloads, validator vs. RPC operations, and a decision checklist for choosing infrastructure.

Key Takeaways

  • Full nodes validate and serve current state; archive nodes retain historical state for analytics and trace/debug workflows.
  • Self-hosting BSC nodes requires continuous sync, storage planning, client upgrades, backups, and monitoring—not just hardware.
  • Validator nodes are for consensus participants; application RPC can be served by full or archive nodes, including managed endpoints.
  • Use BNB Smart Chain mainnet chain ID 56 (0x38) and testnet 97 (0x61); testnet lets you validate integrations without spending BNB.

BNB Smart Chain node types and workloads

BNB Smart Chain nodes are categorized by storage mode and network role. The node type you choose determines which JSON-RPC methods work, how much disk is needed, and whether the node can serve historical queries.

CriterionWhat to checkWhy it matters
Full nodeStores current world state, validates new blocks, and can serve RPC requests.Default choice for self-hosted RPC, transaction submission, and dApp backends.
Archive nodeRetains historical state for every block; often run with bsc-erigon.Required for eth_getLogs at deep blocks, historical balance queries, analytics, and debug/trace APIs.
Fast nodeFull node with --tries-verify-mode none; skips state verification.Higher throughput for current-state queries, but less strict state consistency; useful for high-volume reads.
Validator nodeFull node plus validator key participating in BSC Proof of Staked Authority (PoSA) consensus.Only needed for block production and consensus; not required for dApp RPC access.
RPC endpointHTTP or WebSocket interface exposed by any node or provider.What wallets, indexers, and applications actually use to read state and send transactions.

Self-hosting BNB Smart Chain nodes: clients, sync, and storage

The two main client options are the official BSC client (a go-ethereum fork) and bsc-erigon. The official client is widely used for full and fast nodes; bsc-erigon is often preferred for archive nodes because of its more efficient state representation. Check the bnb-chain GitHub repositories for current releases and configuration templates. Example fast node command: ``bash ./geth --config ./config.toml --datadir <datadir> --cache 10000 --tries-verify-mode none --history.logs 576000 ``

  • Sync from an official snapshot instead of from genesis to save time; verify snapshot checksums before starting.
  • Choose sync mode carefully: full sync verifies all state, fast sync skips state verification, archive mode retains all historical state.
  • Plan for continuous disk growth: BSC mainnet full snapshots are multi-TB and grow over time; archive snapshots can exceed 5 TB.
  • Use fast NVMe storage and configure cache to fit available RAM for optimal performance.

Operating a self-managed node: upgrades, backups, and monitoring

Running a BSC node is an operational commitment, not a one-time setup. The node must stay in sync, store a growing chain, and be upgraded whenever BSC releases a new client version or hard fork.

  • Monitor block height, peer count, CPU, memory, network, and disk usage continuously.
  • Set up alerting for stalls, disk exhaustion, and missed upgrades.
  • Keep backups of the node key, configuration files, and any custom scripts.
  • Plan for client upgrades and hard forks; test upgrades on a non-production node first.
  • Use systemd or a container orchestrator to restart the node automatically after crashes.

Archive node requirements for historical state, logs, analytics, and traces

Archive nodes retain the entire state history, allowing queries at any past block. They are essential for event indexing, compliance analytics, historical balance lookups, and debug/trace workflows that need state at specific blocks. OnFinality's BNB Smart Chain offering includes archive support and trace/API access. For workloads that need isolated historical data, see dedicated BNB nodes.

  • Archive mode requires significantly more disk than a full node; mainnet archive snapshots often exceed 5 TB.
  • Use bsc-erigon for archive nodes when feasible; it is designed for large historical state sets.
  • Methods like eth_getLogs over wide block ranges, debug_traceTransaction, and era-specific state queries are typical archive workloads.
  • Running an archive node yourself means ongoing storage expansion and snapshot management.

Validator operations vs. serving application RPC

Validator nodes are full nodes with an active validator key. They participate in BSC's Proof of Staked Authority consensus, propose blocks, and sign votes. Serving application RPC is a separate concern: a validator node can expose RPC, but doing so may expose consensus-critical processes to public traffic and increase risk.

  • Validators must protect their signing key, maintain high uptime, and monitor consensus health.
  • Application RPC can be served by dedicated full or archive nodes that are not validator participants.
  • Most dApps do not need a validator node; they need reliable RPC endpoints with rate limits and failover.
  • If you are not a block producer or delegate, avoid mixing validator and public RPC duties on the same instance.

Connecting to BNB Smart Chain RPC endpoints

BNB Smart Chain mainnet uses chain ID 56 (0x38) and testnet uses 97 (0x61). OnFinality provides public endpoints for both networks. Mainnet: https://bnb.api.onfinality.io/public Testnet: https://bnb-testnet.api.onfinality.io/public Example request: ``bash curl -s https://bnb.api.onfinality.io/public \ -X POST \ -H 'Content-Type: application/json' \ --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' `` For endpoint configuration and network details, see the BNB Smart Chain network page and the BNB Smart Chain endpoint reference.

  • Standard Ethereum JSON-RPC methods like eth_blockNumber, eth_getBalance, eth_call, eth_sendRawTransaction, eth_getTransactionReceipt, and eth_getLogs are supported.
  • BSC-specific methods include eth_getFinalizedHeader, eth_getFinalizedBlock, eth_newFinalizedHeaderFilter, eth_health, eth_getTransactionsByBlockNumber, and eth_getTransactionDataAndReceipt.
  • Official BNB Chain public endpoints listed in BSC docs have a combined rate limit of 10K requests per 5 minutes and disable eth_getLogs on listed mainnet endpoints. Managed providers may have different limits; check the provider's documentation.
  • Use WebSocket endpoints for real-time subscriptions such as eth_subscribe.

Managed alternatives and a decision checklist

Managed RPC services remove node operations while providing production-grade endpoints, archive data, and automated failover. For many teams, this is faster and more reliable than self-hosting. OnFinality offers RPC plans, dedicated nodes, and archive access. Explore the BNB Smart Chain RPC provider and dedicated BNB nodes for details.

  • Define your workload: current-state reads, transaction submission, historical indexing, or all three.
  • Pick node type: full, archive, fast, or managed RPC endpoint.
  • Check sync requirements: snapshot-based sync is normal; archive workloads need far more disk and time.
  • Estimate operational cost: hardware, monitoring, backups, upgrades, and incident response.
  • Measure endpoint reliability: latency, rate limits, failover, and WebSocket support.
  • Review BSC-specific details: chain ID 56 for mainnet, 97 for testnet, and BNB as the gas token.
  • Plan for testnet: use BNB Smart Chain testnet before mainnet deployments.
  • Revisit as you scale: public endpoints are fine for experiments; production apps usually need a managed RPC or dedicated node.

Frequently Asked Questions

What is the difference between a full node and an archive node on BNB Smart Chain?

A full node stores the current world state and can validate new blocks, but it cannot serve historical state at deep past blocks. An archive node retains full state history for every block, enabling queries like historical balances, deep eth_getLogs calls, and debug/trace operations. Archive nodes require significantly more storage.

Do I need a validator node to build a dApp on BNB Smart Chain?

No. Validator nodes are for consensus participants that propose and validate blocks. Most dApps only need RPC access, which can be provided by a full or archive node, or a managed RPC service. Running a validator adds key management and uptime responsibilities that are unnecessary for typical application development.

Can I connect to BNB Smart Chain testnet with the same RPC endpoint?

No, mainnet and testnet use separate endpoints. OnFinality provides https://bnb-testnet.api.onfinality.io/public for testnet (chain ID 97, tBNB) and https://bnb.api.onfinality.io/public for mainnet (chain ID 56, BNB). Use the correct endpoint and chain ID for your environment.

What are the public endpoint limitations on BNB Smart Chain?

The official BNB Chain public endpoints listed in BSC docs have a combined rate limit of 10K requests per 5 minutes and disable eth_getLogs on listed mainnet endpoints. Managed providers like OnFinality may offer different limits and archive features; check the provider's documentation for current policies.

When should I use a dedicated BNB node instead of shared RPC?

A dedicated node is useful when you need guaranteed resources, isolation from public endpoint throttling, archive data, or custom configurations. High-throughput applications, analytics platforms, and teams with strict uptime requirements often benefit from dedicated infrastructure. See dedicated BNB nodes for options.

RPC Knowledge Base

Related RPC details

Never Worry about Infrastructure Again

OnFinality takes away the heavy lifting of DevOps so you can build smarter and faster.

Get Started