Solana

Solana Beta is live. Try BoltRPC Solana endpoints free - start your trial now.

Polygon Amoy Testnet RPC Guide: How to Connect and Test (2026)

Complete guide to Polygon Amoy testnet RPC: endpoints, chain ID, ethers.js, Web3.py, curl, contract deployment, faucets, common issues.

BoltRPC
BoltRPC Team
7 min read
Polygon Amoy Testnet RPC Guide: How to Connect and Test (2026)

Polygon Amoy Testnet RPC Guide: How to Connect and Test (2026)

Polygon Amoy is the official testnet for Polygon PoS. If you are still targeting Mumbai, that testnet was deprecated in 2024 and is no longer available. This guide covers how to connect to Amoy using multiple libraries, run test transactions, get test tokens, deploy contracts, plus how to fix the most common issues developers hit in 2026.

For endpoint details, chain ID, MetaMask setup, see the Polygon Amoy RPC endpoint page.


What is Polygon Amoy Testnet

Polygon Amoy is a proof-of-stake testnet that mirrors Polygon PoS mainnet exactly. It uses chain ID 80002 and the native token is POL (test). Block time is approximately 2 seconds. Amoy uses Ethereum L1 checkpoints for finality, matching mainnet behavior so that contracts behave identically in both environments.

The testnet is EVM-compatible. Any Solidity contract, Hardhat or Foundry config, or deployment script that works on Amoy will work on Polygon mainnet without modification.


Amoy vs Mumbai: Why Mumbai Was Deprecated

Mumbai was Polygon’s original testnet. It ran an older version of the Polygon stack that diverged from mainnet over time. By late 2023, Mumbai no longer reflected mainnet behavior accurately, particularly around the POL token upgrade and validator set changes.

Polygon Labs announced Amoy as a replacement in January 2024. Mumbai was shut down in the following months. Key differences:

Mumbai (deprecated)Amoy (current)
Chain ID8000180002
Native tokenMATIC (test)POL (test)
StatusOfflineActive
Mainnet parityNoYes
Public RPCDeadActive

If you have any hardcoded Mumbai RPC URLs, chain IDs, or faucet links in your codebase, replace them with Amoy equivalents before your next deployment cycle.


Connecting Step by Step

All examples below use the BoltRPC endpoint. Replace YOUR_KEY with your API key from trial.boltrpc.io. Full endpoint details are on the Polygon Amoy chain page.

HTTP endpoint: https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY WSS endpoint: wss://eu.endpoints.matrixed.link/ws/polygon-amoy?auth=YOUR_KEY Chain ID: 80002

ethers.js (v6)

import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider(
  "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY"
);

const blockNumber = await provider.getBlockNumber();
console.log("Amoy block:", blockNumber);

For event subscriptions, use the WSS endpoint:

const wsProvider = new ethers.WebSocketProvider(
  "wss://eu.endpoints.matrixed.link/ws/polygon-amoy?auth=YOUR_KEY"
);

wsProvider.on("block", (blockNum) => {
  console.log("New Amoy block:", blockNum);
});

Web3.py

from web3 import Web3

rpc_url = "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY"
w3 = Web3(Web3.HTTPProvider(rpc_url))

print("Connected:", w3.is_connected())
print("Chain ID:", w3.eth.chain_id)   # should return 80002
print("Block:", w3.eth.block_number)

curl

Test your connection directly from the command line:

curl -X POST \
  "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

Expected response:

{"jsonrpc":"2.0","id":1,"result":"0x13882"}

0x13882 is 80002 in decimal, confirming you are connected to Polygon Amoy.


Example RPC Methods on Amoy

These are the methods most commonly used during testnet development. All work identically on Amoy and Polygon mainnet.

Check test wallet balance:

curl -X POST "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xYOUR_ADDRESS","latest"],"id":1}'

Get latest block:

curl -X POST "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

Call a deployed contract:

curl -X POST "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0xCONTRACT","data":"0xFUNCTION_SELECTOR"},"latest"],"id":1}'

Getting Test POL (Faucets)

Test POL has no monetary value. It exists only to pay gas fees on Amoy. Two reliable sources in 2026:

  1. Official Polygon faucet: faucet.polygon.technology - Requires a small amount of Sepolia ETH in the same wallet to prevent abuse. Drips test POL to your address.

  2. Alchemy Amoy faucet: amoy.polygon.io - Requires an Alchemy account. Useful if the official faucet queue is long.

Both faucets send tokens to any EVM address. Paste your wallet address, complete any verification step. The transaction confirms on Amoy within 1-2 minutes.


Deploying and Testing Smart Contracts on Amoy

Hardhat

Add Amoy to your hardhat.config.js:

module.exports = {
  networks: {
    amoy: {
      url: "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY",
      chainId: 80002,
      accounts: [process.env.PRIVATE_KEY],
    },
  },
};

Deploy:

npx hardhat run scripts/deploy.js --network amoy

Verify on PolygonScan Amoy:

npx hardhat verify --network amoy DEPLOYED_CONTRACT_ADDRESS

Foundry

forge create src/MyContract.sol:MyContract \
  --rpc-url "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY" \
  --private-key $PRIVATE_KEY \
  --chain-id 80002

Run tests against Amoy fork:

forge test --fork-url "https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY"

After deployment, verify the contract address on amoy.polygonscan.com to confirm the transaction landed.


Common Issues

“Chain ID mismatch” error Your config has the wrong chain ID. Amoy is 80002. Mumbai was 80001. Update everywhere: Hardhat config, Foundry config, wallet setup, any hardcoded values in test scripts.

“Insufficient funds” on a fresh wallet You need test POL for gas before you can submit any transaction. Use a faucet (see above). eth_call reads do not require gas, but eth_sendRawTransaction writes do.

Faucet requires Sepolia ETH The official Polygon faucet requires Sepolia ETH as an anti-abuse measure. Get free Sepolia ETH from the Sepolia PoW faucet or Alchemy’s Sepolia faucet, then return to the Polygon faucet.

WebSocket connection drops after a few minutes Implement reconnect logic in your listener. Amoy is a testnet and occasional node restarts happen. A reliable provider like BoltRPC reduces the frequency, but your code should handle reconnects regardless.

eth_getLogs returns an error on large block ranges Amoy enforces a block range limit on log queries. Keep the range under 1000 blocks per request. For wider historical queries, paginate your requests.


FAQ

What is the Polygon Amoy RPC URL? The BoltRPC endpoint for Polygon Amoy is https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY. The chain ID is 80002. For the full MetaMask setup, visit the Polygon Amoy chain page.

What is the Polygon Amoy chain ID? Polygon Amoy Testnet uses chain ID 80002. Polygon mainnet uses chain ID 137. Always verify the chain ID in your config to avoid sending transactions to the wrong network.

What replaced Polygon Mumbai testnet? Polygon Amoy replaced Mumbai in 2024. Mumbai ran an older Polygon stack that no longer matched mainnet. Amoy mirrors the current Polygon PoS mainnet including the POL token upgrade. Mumbai is no longer active.

How do I get test POL for Polygon Amoy? Use faucet.polygon.technology. You will need a small amount of Sepolia ETH in the requesting wallet. Test POL is free and only valid on Amoy.


FAQPage JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is the Polygon Amoy RPC URL?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The BoltRPC endpoint for Polygon Amoy is https://eu.endpoints.matrixed.link/rpc/polygon-amoy?auth=YOUR_KEY. The chain ID is 80002. Replace YOUR_KEY with your API key from trial.boltrpc.io."
      }
    },
    {
      "@type": "Question",
      "name": "What is the Polygon Amoy chain ID?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Polygon Amoy Testnet uses chain ID 80002. Polygon mainnet uses chain ID 137. Verify the chain ID in your config to avoid sending transactions to the wrong network."
      }
    },
    {
      "@type": "Question",
      "name": "What replaced Polygon Mumbai testnet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Polygon Amoy replaced Mumbai in 2024. Mumbai ran an older Polygon stack that no longer matched mainnet. Amoy mirrors the current Polygon PoS mainnet including the POL token upgrade. Mumbai is no longer active."
      }
    },
    {
      "@type": "Question",
      "name": "How do I get test POL for Polygon Amoy?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Use faucet.polygon.technology. You will need a small amount of Sepolia ETH in the requesting wallet. Test POL is free and only valid on the Amoy testnet."
      }
    }
  ]
}
</script>

Ready to connect? Get your Polygon Amoy RPC endpoint with a 2-week free trial at trial.boltrpc.io. No credit card required.

Frequently asked questions

Ready to build with high-performance RPC?

Start your free trial today. No credit card required. Access 20+ networks instantly.

Disclaimer: The content in this article is for informational purposes only and does not constitute financial, legal, or technical advice. Code examples and configurations are provided as-is. Always verify information with official documentation and test thoroughly in your own environment before deploying to production.

Continue reading