Public Polygon RPC URL Deep Dive

Deen Newman

Deen Newman

June 13, 2025

9 min read

article cover

Polygon is an EVM-based network that lets developers build fast, low-cost dApps. With zkEVM getting increasingly popular, the Polygon zkEVM network was added to the ecosystem for developers who want better EVM compatibility, ZK security, and even lower fees.

To help wallets and dApps onboard to the ecosystem quickly, the Polygon core team and validator operators spin up some public gateways – nodes. The Polygon RPC URL is labelled “public” when it provides access to these nodes.

Introduction to Public Polygon RPC URLs

Public Polygon RPC URLs are web addresses (for example: https://polygon-rpc.com/) where anyone can connect to a Polygon node and ask for blockchain data or send transactions. It’s free and ready to use; no password or API key is needed to connect.

However, being free, public RPCs are intentionally rate-limited so they remain reliable for light and medium traffic. That makes them perfect for quick prototyping, small dApps, or light testing, but less suitable for high-throughput production loads.

What is a Polygon RPC URL?

A Polygon RPC URL is simply the HTTP(S) address where a JSON-RPC interface for a Polygon node lives. In other words, it’s the network endpoint you point your wallet, dApp, or scripts to whenever you want to:

  • Query account balances or contract state;
  • Fetch block, transaction, or event data;
  • Broadcast signed transactions onto the Polygon chain.

In practice, Polygon RPC nodes implement the same JSON-RPC 2.0 methods you know from Ethereum (e.g. eth_sendRawTransaction ) because Polygon is EVM-compatible.

How Polygon RPC URL works

When making an HTTP POST to a valid RPC URL, the node returns the requested data in JSON form.

Difference between Public and Private RPC URLs

Since public endpoints serve everyone for free, they can become congested or even experience downtime without warning. Polygon does not publish its rate limits for public nodes, but we performed our simple multi‐threaded test.

Hitting eth_blockNumber found that the Polygon public RPC started returning HTTP 429 (“Too Many Requests”) errors when the aggregate request rate reached ≈43 req/s. In practice, if you exceed roughly 40 calls per second, the public mainnet RPC will start returning errors. If you’re building anything beyond a casual project, it’s best to switch over to a private endpoint.

A Private RPC URL is an endpoint reserved for authorized users only. Because no one else competes on that same endpoint, private RPC can provide consistent latency and better throughput. In this case, the node is operated by users themselves or an infrastructure provider, while users only consume the API.

Private endpoint limits are much higher or even unlimited. If you self-host, you decide the limit based on your node’s hardware. Providers scale capacity to match various plans. For instance, GetBlock’s rate limits range from 25 req/second (RPS) to custom and unlimited requests.

Flexible pricing

Shared nodes

START

Popular

$ 29 / month

Get started

5 000 000

Requests per month

200

Requests per second

5m
10m
50m
100m

Shared nodes

UNLIMITED

Best choice

$ 499 / month

Get started

Unlimited

Requests per day

300

Requests per second

Unlimited Requests

List of Public Polygon RPC URLs

Below is a list of “official” publicly available Polygon RPC endpoints, organized by network. More URLs can be found online on resources like CompareNodes.

Polygon Mainnet RPC URL

Polygon Mainnet is the production live network. Think of it as the “real” blockchain where actual value is transferred and real dApps run.

Public RPC endpoint to query and send transactions on Mainnet:

https://polygon-rpc.com/

Any application that targets Polygon zkEVM must connect to a separate mainnet URL:

https://zkevm-rpc.com

Note: Polygon plans to retire the zkEVM Mainnet in 2026, so plan migrations to alternative compatible blockchain RPCs accordingly.

Polygon Amoy Testnet RPC URL

The Amoy network is designed as a testnet that mirrors mainnet behavior for testing contracts, wallets, or any interaction with the blockchain.

To query Polygon Amoy testnet data or send test transactions, point to this RPC URL:

https://rpc-amoy.polygon.technology

If you’re developing or testing smart contracts specifically on Polygon zkEVM rather than on the “classic” PoS Polygon, point your requests to this Cardona testnet URL instead.

https://rpc.cardona.zkevm-rpc.com

Like mainnet, it’s shared traffic, so requests will be rate‐limited.

How to Add a Polygon RPC URL to MetaMask

Below are step-by-step instructions for configuring MetaMask to use Polygon networks. You can use either the public RPC URLs or a private RPC URL. To get a private URL:

  1. Create a free account on GetBlock.
  2. Log in to your dashboard, locate “My endpoints” panel.
  3. “Protocol” dropdown shows a list of supported chains. Click “Polygon”.
  4. Set network to “Mainnet” or “Amoy”, and API to “JSON-RPC”.
  5. Clicking “Get” will regenerate a URL for you.
How to get Polygon Network RPC URL

Source: GetBlock

You can copy and paste it into MetaMask or your dApp’s configuration. This way, you get a private RPC access point that provides more stable performance rather than a free public endpoint that anyone can use.

Adding Polygon Mainnet to MetaMask

To add Polygon Mainnet to MetaMask, follow these three steps:

  1. Open MetaMask and click the network dropdown (usually shows “Ethereum Mainnet”).
  2. Then select “Add a custom network”.
Steps for adding Polygon URL to MetaMask wallet extension
  1. In the form that opens, fill in the Polygon RPC URL with other network details as shown in the table:
Name Polygon PoS Mainnet
Polygon New RPC URL https://polygon-rpc.com/
OR
https://go.getblock.io/<YOUR-ACCESS-TOKEN>
Chain ID 137
Currency Symbol POL
Block Explorer URL (optional) https://polygonscan.com/

After clicking “Save”, MetaMask will switch your active network to Polygon Mainnet. You can now send and receive POL tokens or interact with smart contracts on Polygon through MetaMask.

Adding Polygon Testnets (Amoy & Mumbai) to MetaMask

For a short period, Polygon PoS operated two testnets – long-standing Mumbai and newer Amoy. Mumbai was deprecated in 2024 since it relied on Ethereum Goerli, which also shut down. Amoy is now the official PoS testnet (rooted to Sepolia) and is what is recommended for testing. The Polygon Mumbai testnet RPC URL is, therefore, no longer supported.

Set up Amoy in MetaMask exactly like you did for the mainnet:

  1. Open the network dropdown.
  2. Click “Add custom network.”
  3. Enter:
Name Polygon Amoy
Amoy RPC URL https://rpc-amoy.polygon.technology/
OR
https://go.getblock.io/<YOUR-ACCESS-TOKEN>
Chain ID 80002
Currency Symbol POL
Block Explorer URL (optional) https://amoy.polygonscan.com

After confirmation, MetaMask will switch to Polygon Amoy Testnet, where you can request test POL from the public faucet and try out contracts without spending real tokens.

Note that using Amoy requires test POL. They can be obtained from free faucets. You can see some faucets or older tutorials still referencing MATIC as a native token, which was recently changed to POL – just mentally replace “MATIC” with “POL”.

How to use Polygon RPC for development

Once you have an RPC URL for Polygon, you can start making JSON-RPC calls to the network. This section will be useful for beginners, learning how to interact with the blockchain programmatically.

Connecting to Polygon via web3 libraries

Below are simple copy-and-paste code samples, showing how to connect to Polygon (Mainnet or Testnet) using two popular Web3 libraries, ethers.js and web3.js.

Before you begin, make sure you have one of these installed. For installation instructions and additional code examples, refer to our Web3 libraries guide.

An example script using ethers.js for interacting with Polygon:

const { ethers } = require("ethers");
 
// Choose your RPC URL here:
const provider = new ethers.JsonRpcProvider("https://go.getblock.io/");
 
// Or using public URL: 
// const provider = new ethers.JsonRpcProvider("https://polygon-rpc.com");
 
(async () => {
 
 // Example request: fetching block number
 const blockNumber = await provider.getBlockNumber();
 console.log("Current block number:", blockNumber);
})();

A snippet for using Polygon with web3.js:

const { Web3 } = require('web3');
const web3 = new Web3('https://go.getblock.io/');
 
// Or using public URL for mainnet: 
// web3 = new Web3("https://polygon-rpc.com");
// for testnet:
// web3 = new Web3("https://rpc-amoy.polygon.technology/");
 
// Calling methods:
(async () => {
   const blockNumber = await web3.eth.getBlockNumber();
   console.log("Latest block number:", blockNumber);
})();

Functionally, your code looks exactly the same whether you point to a public or private URL. The difference lies entirely in what sits behind that “https://…”: a public URL routes you into a shared, rate‐capped pool, whereas a private URL gives you a higher‐throughput, lower latency, and dedicated support.

Best practices for using public Polygon RPCs

Polygon public RPC is made for learning, experimenting, or any use where request volumes stay low. To ensure reliable performance, follow these precautions:

  1. Monitor your usage: If you exceed built-in usage limits, you may see HTTP 429 (“Too Many Requests”) errors; back off and retry after a short delay.

  2. Watch on‐chain activity: At times when the entire Polygon network sees a surge, public RPC endpoints can get overwhelmed. Keep alternative options at the ready.

  3. Shift to a dedicated RPC Provider when needed: If your dApp traffic grows – say, hundreds of users interacting simultaneously, or your scripts generate sufficient request volume, you’ll eventually outgrow public endpoints.

Providers like GetBlock not only offer the rate request limits each user needs but also offer dedicated Polygon nodes where you own your throughput, enjoy fast and consistent response times, and gain enterprise-grade features, monitoring, and security controls.

Whether you’re scaling a high-volume dApp, running intensive on-chain analytics, or simply requiring 24/7 real-time access for critical tasks, dedicated nodes remove the guesswork around availability and performance that public RPCs simply can’t guarantee.

Wrapping up

Public Polygon RPC URLs play a crucial role in lowering the barrier to entry for anyone looking to build, experiment, or simply interact with the Polygon ecosystem – developers can plug in a URL and be live within minutes.

However, public servers must serve everyone within their fixed resource pool, so each user only gets a small slice of that capacity. If your project really needs more than a few dozen requests per second, or you can’t tolerate random slowdowns, consider moving to a private or dedicated RPC.

Ready for guaranteed performance? Sign up for a free GetBlock account today and get your own dedicated Polygon network RPC URL.

FAQ

  • What is a Polygon RPC URL and why do I need one?

    plus
  • How do I find the Polygon network RPC URL for my dApp?

    plus
  • Is there still a Polygon Mumbai Testnet RPC URL available?

    plus
  • Why does my RPC URL Polygon sometimes return HTTP 429 errors?

    plus
  • What’s the difference between public and private RPC on Polygon?

    plus
  • Where can I get a dedicated Polygon Public RPC or private endpoint?

    plus
Deen Newman

Deen Newman

June 13, 2025

9 min read

twittertwittertelegramtelegramLinkedinLinkedin