← Protocols
Polygon PoS
01Description

Polygon PoS is Polygon's flagship EVM chain — originally a Plasma + PoS sidechain, now positioned as the settlement layer in Polygon's AggLayer-anchored Open Money Stack. Mainnet chain ID 137, ~2s block time with fast finality, Heimdall consensus over Bor (a Geth fork), and POL as the native gas + staking token after the September 2024 MATIC->POL migration completed (>99% migrated by 2026). Visa added Polygon for stablecoin settlement in April 2026.

02Best for
  • 01high-volume EVM apps at cents-level fees
  • 02stablecoin payments and consumer rails (Visa-aligned)
  • 03AggLayer-connected liquidity (cross-chain via pessimistic proofs)
  • 04Ethereum-equivalent Solidity deployments with mature tooling
03Install
  • pnpm add viem wagmi
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_POLYGON_RPC_URLClientPolygon PoS RPC URL (mainnet: https://polygon-rpc.com).
NEXT_PUBLIC_POLYGON_CHAIN_IDClientChain ID — 137 for Polygon PoS mainnet, 80002 for Amoy testnet.
05Prompt snippet
Use viem's built-in `polygon` / `polygonAmoy` chains (`import { polygon } from 'viem/chains'`) — chain ID 137, gas token POL (18 decimals), RPC `https://polygon-rpc.com`. Solidity contracts deploy unchanged with Foundry: `forge create --rpc-url $POLYGON_RPC --private-key $PK src/MyContract.sol:MyContract`. The native token is POL after the 2024 MATIC->POL migration; on Polygon PoS, MATIC was auto-converted 1:1 to POL, but on Ethereum L1 holders had to migrate via `portal.polygon.technology`. Bridge ETH/ERC-20s via the canonical Polygon PoS Bridge or AggLayer (for cross-chain liquidity with Polygon zkEVM, Polygon CDK chains, and other AggLayer-connected networks). Indexers The Graph, Goldsky, Envio, and Subsquid all support chain 137.
06Gotchas
  • Gas token rebrand: as of Sept 2024 the native token is POL, not MATIC. Tools/UI/wallets that still display 'MATIC' are stale — update labels and ensure wallets show the correct symbol. ERC-20 MATIC on Ethereum L1 still exists for unmigrated holders but should be migrated via Polygon Portal.
  • Polygon PoS uses Heimdall + Bor — checkpoints to Ethereum happen periodically (~30 minutes). 'Finality' on Polygon is fast (~2s) for L2 reorg purposes, but L1-anchored finality only after a Heimdall checkpoint is committed to Ethereum. For high-value flows that depend on Ethereum settlement, wait for the checkpoint.
  • Reorgs on Polygon PoS have historically been deeper than Ethereum (occasionally 100+ blocks under congestion or validator issues). For exchange deposits and other high-value confirmations, use 200+ block confirmations or wait for checkpoint inclusion.
  • Public RPC `https://polygon-rpc.com` is rate-limited and not suitable for production. Use a paid provider (Alchemy, QuickNode, Chainstack, dRPC, Ankr) — Polygon's RPC URL field in dapps should always be a private endpoint, not the public one.
  • Polygon PoS is distinct from Polygon zkEVM (chain 1101, separate integration `polygon-zkevm`) and Polygon CDK chains (separate integration `polygon-cdk`). They share branding and the AggLayer but have different security models, gas tokens, and contract addresses. Do not assume cross-deployment compatibility.
  • USDC on Polygon PoS exists as both Circle-native USDC (Circle CCTP) and the older bridged USDC.e — they are NOT fungible without a swap. Token-route logic must distinguish the two and prefer native USDC for new integrations.
07Alternatives