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.

ContractWorldChain
UniswapV3Factory0x7a5028BDa40e7B173C278C5342087826455ea25a
Multicall20x0a22c04215c97E3F532F4eF30e0aD9458792dAB9
ProxyAdmin0x8B52DaCB7B5d9A959CDcD5419061c0eDD1296c29
TickLens0xE61df0CaC9d85876aCE5E3037005D80943570623
NFTDescriptor0x38c68A1D60C47973EcE5bc1725B65D8Bec438192
NonfungibleTokenPositionDescriptor0x70410a302c4a5c52C659b780941c947Abd437FeB
TransparentUpgradeableProxy0xe6FcB4952b2d3Fab6DA4BC165831f5575e093feC
NonfungiblePositionManager0xec12a9F9a09f50550686363766Cc153D03c27b5e
V3Migrator0x9EBDdCBa71C9027E1eB45135672a30bcFEec9de3
QuoterV20x10158D43e6cc414deE1Bd1eB0EfC6a5cBCfF244c
SwapRouter020x091AD9e2e6e5eD44c1c66dB50e49A601F9f36cF6
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3
UniversalRouter0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

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)

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
WorldChain480WETH0x4200000000000000000000000000000000000006
Helpful?