Get started with a reliable Polygon RPC endpoint to use the tools below.
Bor
Interact with your Polygon node using Bor.
-
Install Bor.
-
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:
You can also use the Bor client Docker container.
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 Polygon 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:
- 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 Polygon 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 Polygon 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 WebSocket connection to an EVM node.
web3.php
Build DApps using web3.php and Polygon 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 Polygon 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 Polygon 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 — Polygon network ID:
- Mainnet:
137
- Amoy testnet:
80002
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 endpoint protected either with the key or password
-
NETWORK_ID — Polygon network ID:
- Mainnet:
137
- Amoy testnet:
80002
See also 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,
chainstack-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 protected either with the key or password
- NETWORK_ID — Polygon network ID:
- Mainnet:
137
- Amoy testnet:
80002
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
- YOUR_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 August 6, 2026