Get started with a reliable BNB Smart Chain RPC endpoint to use the tools below.
BNB Smart Chain client
Interact with your BNB Smart Chain node using BNB Smart Chain client .
Install BNB Smart Chain client .
Use geth attach command with the node endpoint.
where YOUR_CHAINSTACK_ENDPOINT — your node HTTPS or WSS endpoint protected either with the key or password. See node access details .
Invoke any methods from Web3 JavaScript API .
Example below demonstrates how to get the balance of an address in wei value and convert it to ether value:
GraphQL
You can use GraphQL on a Dedicated Node on the paid plans .
You can query data using the graphical interface.
On Chainstack, navigate to your dedicated BNB Smart Chain node. See node access details .
Hover over GraphQL IDE URL and click Open .
In the graphical interface that opens, run a GraphQL query.
Example to get the latest block number:
Node.js
You can build a web app to query data using node.js and axios :
where
YOUR_CHAINSTACK_ENDPOINT — your node GraphQL endpoint protected either with the key or password. See node access details .
query — your GraphQL query. In this case, to get the latest block number.
See also Using GraphQL with EVM-compatible nodes .
On node access details , click Connect wallet .
Hardhat
Configure Hardhat to deploy contracts and interact through your BNB Smart Chain nodes.
Install Hardhat and create a project.
Create a new environment in hardhat.config.js:
where
YOUR_CHAINSTACK_ENDPOINT — your node HTTPS or WSS endpoint protected either with the key or password. See node access details .
YOUR_PRIVATE_KEY — the private key of the account that you use to deploy the contract
Run npx hardhat run scripts/deploy.js --network chainstack and Hardhat will deploy using Chainstack.
See also Forking EVM-compatible mainnet with Hardhat .
Remix IDE
To make Remix IDE interact with the network through a Chainstack node:
Get MetaMask and set it to interact through a Chainstack node. See Interacting through MetaMask .
In Remix IDE, navigate to the Deploy tab. Select Injected Provider - MetaMask in Environment .
This will engage MetaMask and make Remix IDE interact with the network through a Chainstack node.
web3.py
Build DApps using web3.py and BNB Smart Chain nodes deployed with Chainstack.
Install web3.py .
Connect over HTTP or WebSocket. See also EVM node connection: HTTP vs WebSocket .
HTTP
Use the HTTPProvider to connect to your node endpoint and get the latest block number:
where
YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
HOSTNAME — your node HTTPS endpoint hostname
USERNAME — your node access username (for password-protected endpoints)
PASSWORD — your node access password (for password-protected endpoints)
See also node access details .
WebSocket
Use the WebsocketProvider object to connect to your node WSS endpoint and get the latest block number:
where
YOUR_CHAINSTACK_ENDPOINT — your node WSS endpoint protected either with the key or password
HOSTNAME — your node WSS endpoint hostname
USERNAME — your node access username (for password-protected endpoints)
PASSWORD — your node access password (for password-protected endpoints)
See also node access details .
See also WebSocket connection to an EVM node .
web3.php
Build DApps using web3.php and BNB Smart Chain nodes deployed with Chainstack.
Install web3.php .
Connect over HTTP:
where YOUR_CHAINSTACK_ENDPOINT is your node HTTPS endpoint protected either with the key or password
Use JSON-RPC methods to interact with the node.
Example to get the latest block number:
web3j
Build DApps using web3j and BNB Smart Chain nodes deployed with Chainstack.
Use the HttpService object to connect to your node endpoint.
Example to get the latest block number:
where
ENDPOINT — your node HTTPS endpoint protected either with the key or password
USERNAME — your node access username (for password-protected endpoints)
PASSWORD — your node access password (for password-protected endpoints)
See also the full code on GitHub .
ethers.js
Build DApps using ethers.js and BNB Smart Chain nodes deployed with Chainstack.
Install ethers.js .
Connect over HTTP or WebSocket. See also EVM node connection: HTTP vs WebSocket .
HTTP
Use the JsonRpcProvider object to connect to your node endpoint and get the latest block number:
where
YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
USERNAME — your node access username (for password-protected endpoints)
PASSWORD — your node access password (for password-protected endpoints)
NETWORK_ID — BNB Smart Chain network ID:
See node access details .
WebSocket
Use the WebSocketProvider object to connect to your node WSS endpoint and get the latest block number:
where
YOUR_CHAINSTACK_ENDPOINT — your node WSS endpoint endpoint protected either with the key or password
NETWORK_ID — BNB Smart Chain network ID:
See node access details .
Brownie
Install Brownie .
Use the brownie networks add command with the node endpoint:
where
ID — any name that you will use as the network tag to run a deployment. For example, bsc-mainnet.
NETWORK_NAME — any name that you want to identify the network by in the list of networks. For example, Mainnet (Chainstack) .
YOUR_CHAINSTACK_ENDPOINT — your node HTTPS or WSS endpoint
NETWORK_ID — BNB Smart Chain network ID:
Mainnet: 56
Testnet: 97
Example to run the deployment script:
Foundry
Install Foundry .
Use --rpc-url to run the operation through your Chainstack node.
Forge
Use forge to develop, test, and deploy your smart contracts.
To deploy a contract:
where
CONTRACT_NAME — name of the contract in the Solidity source code
CONTRACT_PATH — path to your smart contract
PRIVATE_KEY — the private key to your funded account that you will use to deploy the contract
YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
Cast
Use cast to interact with the network and the deployed contracts.
To get the latest block number:
where YOUR_CHAINSTACK_ENDPOINT is your node HTTPS endpoint protected either with the key or password Last modified on July 18, 2026