Uniswap Contract Deployments

The latest version of Uniswap v2 and v3 contracts are deployed at the addresses listed below. Integrators should not assume that they are deployed to the same addresses across chains and be extremely careful to confirm mappings below.

Zero Mainnet

Contract NameContract Address
v3CoreFactoryAddress0xA1160e73B63F322ae88cC2d8E700833e71D0b2a1
multicall2Address0x9CA4dcb2505fbf536F6c54AA0a77C79f4fBC35C0
proxyAdminAddress0x76d539e3c8bc2A565D22De95B0671A963667C4aD
tickLensAddress0x9c7d30F93812f143b6Efa673DB8448EfCB9f747E
nftDescriptorLibraryAddressV1_3_00x30cF3266240021f101e388D9b80959c42c068C7C
nonfungibleTokenPositionDescriptorV1_3_00x8036Aa360D66D15eBf3E9a310393e8E7C92BDcf4
descriptorProxyAddress0xB0AB2d31642262F6bF68bF6E2C4FC05bb2C2db6d
nonfungibleTokenPositionManagerAddress0x5b15468dFD83cF9192082d4510034c9431bb05eB
v3MigratorAddress0x05eead9625966847d60774Cf2c3b004AfBC45314
quoterV2Address0x22B98c8Bdfea8D928101eEC40Af634ff37804997
swapRouter020xD936711eABD2Ce52747d7122757316C7DFe3599b
permit20x6b4420f66De496D18A6c36367cf7f1440fd9289f
universalRouter0xF93Ce7C55073aE244f4a5C810924D790C65F742E
v3StakerAddress0xe0a250732329ea5C3933b7bd70cB32cDdbBC0FB0
v2CoreFactoryAddress0x1B4427e212475B12e62f0f142b8AfEf3BC18B559
UniswapV2Router02:0xD7C05A08cB43e99d596B606A1c03EA2F21289d94
Pair Init Hash (V2)0x010005279097a5c2093daa79c75905339804c21bc53dc3391ea5440ae1191045
Pool Init Hash (V3)0x010013f177ea1fcbc4520f9a3ca7cd2d1d77959e05aa66484027cb38e712aeed

Ink Mainnet

Contract NameContract Address
v3CoreFactoryAddress0x640887A9ba3A9C53Ed27D0F7e8246A4F933f3424
multicall2Address0xA0fCec583AeE6176527C07B198e5561722332014
proxyAdminAddress0x9B65c0df5aFffB95E75Aa5cAD81F3Fe2368446f1
tickLensAddress0x3e6Dba802d62aba2361Dd632fbC9f547AA6789aE
nftDescriptorLibraryAddressV1_3_00x987ca6B9cC569dE1a0340d2465DA8E4Aa4B14aa5
nonfungibleTokenPositionDescriptorV1_3_00x2079bc044AEe33146bB63674DC2502c69E821Af9
descriptorProxyAddress0xa1168fd2Cb5acEC1F0B100593A1858f47b399A7B
nonfungibleTokenPositionManagerAddress0xC0836E5B058BBE22ae2266e1AC488A1A0fD8DCE8
v3MigratorAddress0xdce28D2D5392e19091Fe59d9750B3202EbE80641
quoterV2Address0x96b572D2d880cf2Fa2563651BD23ADE6f5516652
swapRouter020x177778F19E89dD1012BdBe603F144088A95C4B53
permit20x000000000022D473030F116dDEE9F6B43aC78BA3
universalRouter0x9C5577aEF7c2a5C80aA62bA5420170F6b4a302FF
v3StakerAddress0x245C0c29BB7Dd9D1fa6A0713ABFeb81439Ffa870
v2CoreFactoryAddress0xfe57A6BA1951F69aE2Ed4abe23e0f095DF500C04
UniswapV2Router02:0xB3FB126ACDd5AdCA2f50Ac644a7a2303745f18b4
Pair Init Hash (V2)0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f
Pool Init Hash (V3)0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54

Abstract Testnet

Contract NameContract Address
v3CoreFactoryAddress0x2E17FF9b877661bDFEF8879a4B31665157a960F0
multicall2Address0x84B11838e53f53DBc1fca7a6413cDd2c7Ab15DB8
proxyAdminAddress0x10Ef01fF2CCc80BdDAF51dF91814e747ae61a5f1
tickLensAddress0x2EC62f97506E0184C423B01c525ab36e1c61f78A
nftDescriptorLibraryAddressV1_3_00x99C98e979b15eD958d0dfb8F24D8EfFc2B41f9Fe
nonfungibleTokenPositionDescriptorV1_3_00x8041c4f03B6CA2EC7b795F33C10805ceb98733dB
descriptorProxyAddress0x7a5d1718944bfA246e42c8b95F0a88E37bAC5495
nonfungibleTokenPositionManagerAddress0x069f199763c045A294C7913E64bA80E5F362A5d7
v3MigratorAddress0xf3C430AF1C9C18d414b5cf890BEc08789431b6Ed
quoterV2Address0xdE41045eb15C8352413199f35d6d1A32803DaaE2
swapRouter020xb9D4347d129a83cBC40499Cd4fF223dE172a70dF
permit20x7d174F25ADcd4157EcB5B3448fEC909AeCB70033
universalRouter0xCdFB71b46bF3f44FC909B5B4Eaf4967EC3C5B4e5
v3StakerAddress0xe17e6f1518a5185f646eB34Ac5A8055792bD3c9D
v2CoreFactoryAddress0x566d7510dEE58360a64C9827257cF6D0Dc43985E
UniswapV2Router020x96ff7D9dbf52FdcAe79157d3b249282c7FABd409
Pair Init Hash (V2)0x0100065f2f2a556816a482652f101ddda2947216a5720dd91a79c61709cbf2b8
Pool Init Hash (V3)0x010013f177ea1fcbc4520f9a3ca7cd2d1d77959e05aa66484027cb38e712aeed