Uniswap Contract Deployments
The Uniswap Protocol is made up of multiple contracts on many networks.
Please do not assume contracts are deployed to the same addresses across chains, and be extremely careful to confirm addresses before using a contract.
Ethereum
Unichain
Arbitrum
Optimism
Polygon
Base
BNB
Avalanche C-Chain
CELO
Blast
ZKsync
Zora
WorldChain
These addresses are final and were deployed from these npm package versions:
Universal Router
The UniversalRouter
contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, SwapRouter02
. An up-to-date list of deploy addresses by chain is hosted on GitHub.
Uniswap Pool Deployments
Every Uniswap pool is a unique instance of the UniswapV3Pool
contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the ETH/USDC 0.3% pool on Ethereum mainnet.
You can look up the address of an existing pool on Uniswap Info or by calling the getPool
function on the UniswapV3Factory
contract.
getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000)