Skip to main content

Polygon

Overview

  • Formerly Matic Network.
  • EVM-equivalent, so Solidity contracts and Ethereum tooling work unchanged.
  • The main chain (Polygon PoS) is a commit-chain with checkpoints to Ethereum, not a rollup. Polygon zkEVM is the separate ZK-rollup network.
  • The original Plasma bridge is legacy; the PoS bridge is what is used now.

Quick facts

PropertyValue
Polygon PoS mainnet chain ID137
Polygon Amoy testnet chain ID80002
Polygon zkEVM mainnet chain ID1101
Native tokenPOL (formerly MATIC)
Block time~2 seconds
Finality~1–2 minutes (checkpoint to Ethereum)
Explorerhttps://polygonscan.com/
Testnet explorerhttps://amoy.polygonscan.com/

Two changes that invalidate older material:

  • Mumbai (chain ID 80001) was shut down in April 2024. Amoy replaced it. Configurations pointing at rpc-mumbai.maticvigil.com or polygon-mumbai.* cannot connect.
  • MATIC became POL in September 2024. The ticker changed and the contract migrated; the chain is otherwise unaffected.

Block time is short, so a couple of blocks is not much confirmation. Wait for several before treating a transaction as settled, and remember that Ethereum-level finality only arrives at the next checkpoint.

Network configuration

Adding the network to a wallet:

# Mainnet
Network Name: Polygon Mainnet
RPC URL: https://polygon-rpc.com/
Chain ID: 137
Currency Symbol: POL
Block Explorer URL: https://polygonscan.com/

# Testnet
Network Name: Polygon Amoy Testnet
RPC URL: https://rpc-amoy.polygon.technology/
Chain ID: 80002
Currency Symbol: POL
Block Explorer URL: https://amoy.polygonscan.com/

Note the explorer URL must match the network: polygonscan.com for mainnet, amoy.polygonscan.com for Amoy. Pointing a testnet configuration at the mainnet explorer produces links that resolve to nothing.

Public RPC endpoints are rate-limited and unreliable under load. Use a provider endpoint for anything beyond casual use:

https://polygon-mainnet.g.alchemy.com/v2/YOUR_KEY
https://polygon-amoy.g.alchemy.com/v2/YOUR_KEY
https://polygon-mainnet.infura.io/v3/YOUR_PROJECT_ID

Testnet funds

The faucet at faucet.polygon.technology issues Amoy POL. It rate-limits per address and may require a mainnet balance or a social account, which is the usual reason a request is refused.

Deploying

Nothing about deployment differs from Ethereum — same bytecode, same tooling. Point the network configuration at a Polygon RPC endpoint and set the chain ID. See Deployment and verification.

Verification uses Polygonscan with an Etherscan-compatible API key:

forge verify-contract ADDRESS src/MyContract.sol:MyContract \
--chain polygon \
--etherscan-api-key $POLYGONSCAN_API_KEY

The key is issued by Polygonscan and is separate from an Etherscan one, even though the API is the same shape.

Gas

Fees are far lower than Ethereum but not zero, and they are paid in POL. Polygon supports EIP-1559, so a base fee is burned and a priority fee is paid.

The gas price floor on Polygon PoS is 30 Gwei — set lower and the transaction is never included. Libraries that estimate from recent blocks handle this; a hard-coded gas price from an Ethereum configuration does not.