Skip to main content

Run nodes on Chainstack

Start for free and get your app to production levels immediately. No credit card required. You can sign up with your GitHub, X, Google, or Microsoft account.
Get started with a reliable Ethereum RPC endpoint to use the tools below.

Wallets

Wallets allow the addition of custom RPC endpoints either by directly modifying the settings of an existing network (e.g., Ethereum) or by adding a custom network and specifying a custom RPC endpoint. To obtain the address of your RPC endpoint, navigate to the node details on the Chainstack console and locate the Execution client HTTPS endpoint in the Access and credentials section. When adding a new network, you need a chain ID which you can on resources like chainlist.org or chainlist.wtf.

MetaMask

MetaMask screenshot
In the section Access and credentials of a Chainstack Node, press Connect wallet. This will prompt you to confirm a new network details. To add a network manually, go to Networks and add a new network with a required chain ID and your Chainstack RPC endpoint.

Trust Wallet

TW screenshot
To add a custom RPC to Trust Wallet, open the wallet and navigate to the Settings section. Look for the Network section to add a custom network with your Chainstack RPC endpoint.

Rainbow

Rainbow screenshot
To add a custom RPC to Rainbow Wallet, open the wallet and navigate to the Settings section. Look for the Networks to add your Chainstack RPC endpoint.

Rabby

Rabby screenshot
To add a custom RPC to Rabby Wallet, open the wallet and navigate to the Settings (More) section. Look for the Modify RPC URL to add your Chainstack RPC endpoint.

Frame Desktop

Frame screenshot
To add a custom RPC to Frame Desktop, open the wallet and navigate to the Chains section. Click on the chain details to add your Chainstack RPC endpoint.

IDEs

Cloud-based IDEs provide the flexibility to use injected providers. MetaMask is the most commonly used one. By adding a Chainstack RPC node in MetaMask and connecting to the wallet in your IDE, you can seamlessly interact with the network through a Chainstack node.

Remix IDE

To enable Remix IDE to interact with the network through a Chainstack node, you can follow these steps:
  1. Install and set up MetaMask to use a Chainstack node for interaction. You can refer to the guide on Interacting through MetaMask for detailed instructions.
  2. Open Remix IDE and navigate the Connect wallet button. Here, select Injected Web3 Provider and then MetaMask.

Programming languages and libraries

Communication protocols

WebSockets and HTTP are essential communication protocols in web applications. WebSockets enable two-way, persistent communication between a client and a server, useful for real-time price feeds, live transaction monitoring, and event notifications. In contrast, HTTP follows a one-way, request-response model, ideal for retrieving periodic price updates and transaction histories.

ethers.js

Build DApps using ethers.js and Ethereum nodes deployed with Chainstack.
  1. Install ethers.js
  2. Initialize HTTP or WebSocket provider

web3.py

Build DApps using web3.py and Ethereum nodes deployed with Chainstack.
  1. Install web3.py
  2. Initialize HTTP or WebSocket provider

Nethereum (.NET)

Build DApps using Nethereum and Ethereum nodes deployed with Chainstack.
  1. Install Nethereum
  2. Initialize HTTP or WebSocket provider

viem

Build DApps using viem and Ethereum nodes deployed with Chainstack.
  1. Install viem
  2. Initialize HTTP or WebSocket provider

Development frameworks and toolkits

Foundry

Configure Foundry to deploy contracts using Chainstack Ethereum nodes.
  1. Install Foundry
  2. Configure environment in Foundry Create a new Foundry project:
    Create a .env file in your project root and add your Chainstack endpoint and private key:
    Bash
    You need to load the environment variables into your shell session:
    Update your foundry.toml file to include the Chainstack network:
  3. Before deploying, ensure that your contracts are compiled. This step is crucial to avoid deployment issues.
  4. To use the Chainstack endpoint for deployment, you can use the following command:
    Alternatively, you can create a deployment script in the script folder, for example Deploy.s.sol:
    Then run the script with:
  5. Interact with the blockchain using Cast. Use the following command to query the balance of an Ethereum address:
    Replace <ETH_ADDRESS> with the actual Ethereum address you want to query.

Hardhat

Configure Hardhat to deploy contracts using Chainstack Ethereum nodes.
  1. Install Hardhat and other dependencies
  2. Configure environment in Hardhat Create a .env file in your project root and add your Chainstack endpoint and private key:
    Initiate a project:
    Update your hardhat.config.js file to use the Chainstack endpoint:
  3. To deploy your contracts using the Chainstack endpoint, you can create a deployment script in the scripts folder, for example deploy.js:
  4. Compile the contracts
  5. Use the appropriate network flag (mainnet or devnet) to deploy to the respective network

Scaffold-ETH 2

Configure Scaffold-ETH 2 to deploy contracts using Chainstack Ethereum nodes.
  1. Clone the Scaffold-ETH 2 repository
  2. Install dependencies
  3. Create a .env.local file in the root directory of your project
  4. Add your Chainstack endpoint and private key to the .env.local file
    Note: by default, Scaffold-ETH 2 uses Alchemy RPC nodes and it assumes the config contains an Alchemy API key. We can override this setting Chainstack RPC nodes and updating some other configs.
  5. Modify the packages/hardhat/hardhat.config.ts file to configure the Chainstack endpoint. Locate the networks section and add or modify the configuration for the Chainstack networks
  6. Compile contracts using Hardhat
  7. To deploy your contracts using the Chainstack endpoint, run
  8. To start the Next.js app with the Chainstack configuration

Truffle (no longer maintained)

Configure Truffle to deploy contracts using Chainstack Ethereum nodes.
  1. Install Truffle and other dependencies
  2. Configure environment in Truffle Initialize a new Truffle project:
    Create a .env file in your project root and add your Chainstack endpoint and private key:
    Bash
    Update your truffle-config.js file to use the Chainstack endpoint:
  3. Create a migration script in the migrations folder to deploy your contract (migrations/1_deploy_contract_name.js)
  4. Compile the contracts
  5. To deploy your contract using the Chainstack endpoint, run

Ape

Configure Ape Framework to deploy contracts using Chainstack Ethereum nodes. Before performing the following steps, you can set up and activate a virtual environment.
  1. Install Ape and dependencies
  2. Configure environment in Ape Initialize a project:
    Create or update your ape-config.yaml file in your project root:
  3. Import an account. You’ll be prompted to enter a private key and pass phrase to encrypt it.
  4. To deploy your contracts using the Chainstack endpoint, you can create a deployment script, for example scripts/deploy.py
  5. Compile contracts. Before deploying, ensure your contracts are compiled. Ape automatically compiles contracts when deploying, but you can manually compile them if needed
  6. Run the deployment script using

Brownie

Configure Brownie to deploy contracts using Chainstack Ethereum nodes.
  1. Create a Python virtual environment and install Brownie
    Bash
  2. Configure environment in Brownie Create a new Brownie project (add --force if a folder is not empty):
    In your project directory, create a .env file and add your Chainstack endpoint and private key:
    Bash
    Ensure that your terminal session loads these environment variables. You can manually source the .env file:
    Update the brownie-config.yaml file in your project root:
    Add a custom network to Brownie’s network list:
    To use your private key for deployments, you can create a scripts/deploy.py file:
  3. To deploy your contracts using the Chainstack endpoint, run
Last modified on June 25, 2026