contract-addresses
Installation
SKILL.md
Contract Addresses
Canonical contract addresses for major EVM protocols. Reference skill for agents building integrations across Ethereum, Arbitrum, Optimism, Base, and Polygon.
Last verified: February 2026 — All addresses verified onchain via
cast code. Always re-verify before mainnet use.
What You Probably Got Wrong
- Addresses differ across chains — USDC on Arbitrum is NOT the same address as USDC on Ethereum. Never assume cross-chain address parity except for contracts deployed via CREATE2 at deterministic addresses.
- Bridged vs. native tokens — Many chains have both a bridged USDC (USDC.e) and a native USDC. Using the wrong one causes failed swaps and lost funds. This reference lists the canonical native version where available.
- Checksums matter — EIP-55 mixed-case checksums prevent sending to mistyped addresses. Always use checksummed addresses.
- Proxy vs. implementation — Most protocol addresses listed here are proxies. The implementation behind them can change via governance. Verify the proxy's current implementation if you need the ABI.
- Uniswap has multiple routers — SwapRouter (V3-only), SwapRouter02 (V2+V3), and Universal Router (V2+V3+NFTs) are different contracts. Most integrations should use Universal Router.