Blockchains are powerful, but only if you know how to talk to them – and that conversation happens over something called an RPC URL. On Base, your RPC URL is the access point that feeds your dApp everything it needs: balances, transactions, events, and more. In this guide, we’ll explain Base RPC URL, show the public endpoints you can use for quick testing, and consider when and how to upgrade to private RPC endpoints.
List of Public Base network RPC URLs
- Mainnet:
https://mainnet.base.org
- Testnet (Sepolia):
https://sepolia.base.org
Base RPC URLs: Introduction
Every time you fetch a balance, send a transaction, or deploy and query a smart contract, you need to send a request to the Base chain RPC URL. Let’s break down the terms.
What is a Base RPC URL?
A Base RPC URL is simply the HTTP(S) endpoint you use to talk to the Base blockchain – Mainnet or Testnet, e.g.:
https://mainnet.base.org
In other words, it’s the address your dApp or code points at when making JSON‑RPC calls like eth_getBalance or eth_sendRawTransaction. Base is an EVM‑compatible chain, so any standard call used against an Ethereum node will work against a Base endpoint. See our docs for a full list of JSON‑RPC methods.
When the endpoint is “public”, it means that this Base RPC URL is freely provided and shared by someone, usually the protocol maintainers or a third party, for anyone to use.
Why use a Public Base RPC?
While easy to access and convenient to use, public Base network RPC URL always comes with:
- Rate limits and shared quotas to prevent abuse;
- No guaranteed SLA, meaning it may go down or degrade during high traffic;
- Lower privacy – your requests are mixed in with everyone else’s.
Here’s why you might choose one despite the limitations:
- Zero cost to start: Public endpoints are typically free – perfectly suitable for experimentation, learning, and low‑volume projects.
- Beginner‑friendly: New developers can get hands-on with smart contracts, learn network methods, and integrate with MetaMask without maintaining a local Base node.
- Ecosystem support: Public RPCs are the default in many tutorials or github examples, so you can copy those snippets into your project and run them immediately.
Pro tip: If you need reliability, privacy, and performance guarantees – especially in production – you’ll want a private or dedicated Base RPC URL. GetBlock has solutions for developers and teams as their dApp scales and requires lower latency. Discover the advantages of using our dedicated RPC nodes.
List of Public Base RPC URLs
Below are the most commonly used public Base RPC URLs for both Mainnet and Testnet environments.
Base Mainnet RPC URL
Base mainnet is the live network with real economic value where real assets live and circulate. To start interacting with it, point your RPC client to:
https://mainnet.base.org
The official Base docs warn that this Mainnet RPC URL isn’t designed to support production workloads. The reason being the endpoint is rate‑limited and can suffer congestion during network events. Expect unpredictable quotas, since Base doesn’t publish exact limits.
When rate limits bite, you can upgrade to GetBlock’s RPC node service and get a personal RPC URL for Base mainnet:
https://go.getblock.io/
To get it, simply sign up at GetBlock and choose your plan. GetBlock Shared plans include higher rate limits, while Dedicated Base nodes unlock isolated traffic and unlimited throughput altogether.
Base Testnet RPC URL
The testnet of Base – Sepolia network – serves as a sandbox purely for experiments, debugging, and staging. It uses faucet-funded valueless tokens so experimentation here doesn’t cost anything.
For casual testing on Base yui can use this public RPC URL:
https://sepolia.base.org
The public testnet endpoint may have stricter rate‑limits but often sufficient for smart contract testing and staging environments. What to do when you need more capacity? For testing, consider a free or low‑tier plan from a node provider like GetBlock. Simply swap the public URL for your GetBlock endpoint in one line of config.
How to add a Base RPC URL to MetaMask
In MetaMask, you’ll typically add Base by pointing at the RPC URL. You can do this by using the URL listed above or get the private link from a node provider to avoid the pain points of the public one.
To get a private Base RPC URL via GetBlock:
- Go to GetBlock and create a user account.
- In the Dashboard, click “Get.”
- Select “Base” and the network type – testnet/mainnet.
- Choose the desired API interface and the node location closest to you.
Confirm the setup, and you will see your private Base RPC endpoint in the list – ready to use. Try it with MetaMask and watch your transactions clear faster and balances load more reliably.
Now, we’ll go through adding the correct Base network RPC URL MetaMask configurations.
Adding Base Mainnet to MetaMask
If you want to use Base in MetaMask, here’s a brief tutorial on how to add it to the wallet’s browser extension:
- Open the network menu.
- Then click “Add a custom network”.
- In “RPC URL”, paste the public URL or your GetBlock endpoint.
- Make sure to add other chain settings:
Name | Base Mainnet |
---|---|
RPC URL | https://go.getblock.io/<YOUR_ACCESS_TOKEN> |
Chain ID | 8453 |
Symbol | ETH |
Explorer | https://base.blockscout.com/ |
- Save and switch to that network.
Now, Base appears alongside your other networks and uses the selected RPC URL for balance checks, transaction submissions, and contract interactions.
Connecting to Base test network via MetaMask
Adding Base Sepolia to MetaMask follows the exact same steps. Just swap in the network‑specific parameters:
Name | Base Sepolia |
---|---|
RPC URL | https://go.getblock.io/<YOUR_ACCESS_TOKEN> |
Chain ID | 84532 |
Symbol | ETH |
Explorer | https://sepolia-explorer.base.org |
Once added, MetaMask will use your chosen Base testnet RPC URL for viewing balances, sending test transactions or contract deployment transactions. If you don’t already have test ETH for these operations, head over to our Base Sepolia faucet to fund your account.
How to use Base RPC for development
Below will be some examples of how to use the Base RPC URL in development.
Integrating Base RPC with web3 libraries
Web3 libraries like ethers.js
and web3.js
allow you to specify a custom RPC endpoint, the rest of your code is exactly the same as if you were talking to a local node.
Here’s the typical flow for instantiating a Base provider and calling a method in Ethers.js:
import { ethers } from "ethers"; // GetBlock Base RPC const provider = new ethers.JsonRpcProvider("https://go.getblock.io/YOUR_ACCESS_TOKEN/") // Default public RPC // const provider = new ethers.JsonRpcProvider("https://mainnet.base.org"); // You’re ready to go! (async () => { console.log("Block number:", await provider.getBlockNumber()); })();
The same call in Web3.js will look like this:
const { Web3 } = require('web3'); const web3 = new Web3('https://go.getblock.io/YOUR_ACCESS_TOKEN/'); (async () => { const latestBlock = await web3.eth.getBlockNumber(); console.log("Latest Base block number", latestBlock); })();
When you’re ready to go to production or need consistent performance, switch to a GetBlock dedicated Base RPC endpoint – no code changes required, just a new URL.
Best practices for using Public Base RPCs
Unlike your own or a dedicated provider’s endpoint, public RPC URLs come with constraints and unpredictability that can break your app. Here are the most common issues when using those and possible ways to manage them:
- Usage limits: Cache frequent reads when possible and implement exponential back‑off on retries.
- Variable latency: Set sensible client‑side timeouts and degrade gracefully if RPC calls take too long.
- No uptime guarantee: Configure multiple RPC URLs to avoid downtime.
By starting on the public Base RPC URL, you can prototype in seconds, but for any real‑world app you’ll outgrow those endpoints and want the reliability and performance of a private infrastructure.
Conclusion: Choosing the right Base RPC
For casual testing and prototypes, the public Base RPC URLs are a great zero‑setup option. It’s ideal to use when your scripts and dApp have very light traffic. However, building and running production dApps with thousands of users or back‑end jobs pushing thousands of QPS requires enterprise‑grade reliability.
At GetBlock, we understand the demands of web3 infrastructure. Our private RPC nodes give you:
- Guaranteed performance with configurable throughput.
- Specialized APIs like MEV protection or archival queries.
- Predictable costs and usage-based billing.
- Global data centers to minimize latency for users around the world.
Sign up for GetBlock and get your own Base RPC endpoint without running any servers.