Skip to main content
Helpful?

Uniswap Contract Deployments

The latest version of @uniswap/v3-core, @uniswap/v3-periphery, and @uniswap/swap-router-contracts are deployed at the addresses listed below. Integrators should no longer assume that they are deployed to the same addresses across chains and be extremely careful to confirm mappings below.

ContractPolygon AddressesPolygon Mumbai
UniswapV3Factory0x1F98431c8aD98523631AE4a59f267346ea31F9840x1F98431c8aD98523631AE4a59f267346ea31F984
Multicall0x1F98415757620B543A52E61c46B32eB19261F9840x1F98415757620B543A52E61c46B32eB19261F984
ProxyAdmin0xB753548F6E010e7e680BA186F9Ca1BdAB2E90cf20xB753548F6E010e7e680BA186F9Ca1BdAB2E90cf2
TickLens0xbfd8137f7d1516D3ea5cA83523914859ec47F5730xbfd8137f7d1516D3ea5cA83523914859ec47F573
Quoter0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB60xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6
SwapRouter0xE592427A0AEce92De3Edee1F18E0157C058615640xE592427A0AEce92De3Edee1F18E0157C05861564
NFTDescriptor0x42B24A95702b9986e82d421cC3568932790A48Ec0x42B24A95702b9986e82d421cC3568932790A48Ec
NonfungibleTokenPositionDescriptor0x91ae842A5Ffd8d12023116943e72A606179294f30x91ae842A5Ffd8d12023116943e72A606179294f3
TransparentUpgradeableProxy0xEe6A57eC80ea46401049E92587E52f5Ec1c247850xEe6A57eC80ea46401049E92587E52f5Ec1c24785
NonfungiblePositionManager0xC36442b4a4522E871399CD717aBDD847Ab11FE880xC36442b4a4522E871399CD717aBDD847Ab11FE88
V3Migrator0xA5644E29708357803b5A882D272c41cC0dF92B340xA5644E29708357803b5A882D272c41cC0dF92B34
QuoterV20x61fFE014bA17989E743c5F6cB21bF9697530B21e0x61fFE014bA17989E743c5F6cB21bF9697530B21e
SwapRouter020x68b3465833fb72A70ecDF485E0e4C7bD8665Fc450x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
Permit20x000000000022D473030F116dDEE9F6B43aC78BA30x000000000022D473030F116dDEE9F6B43aC78BA3
UniversalRouter0xec7BE89e9d109e7e3Fec59c222CF297125FEFda20x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD
v3StakerAddress0xe34139463bA50bD61336E0c446Bd8C0867c6fE650xe34139463bA50bD61336E0c446Bd8C0867c6fE65

These addresses are final and were deployed from these npm package versions:

Uniswap V3 Staker

An up-to-date list of deploy addresses by chain is hosted on Github for the UniswapV3Staker contract.

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)

Wrapped Native Token Addresses

The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon.

NetworkChainIdWrapped Native TokenAddress
Polygon137WMATIC0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270
Polygon Mumbai80001WMATIC0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889
Helpful?