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.

ContractAVAX Avalanch C-Chain Addresses
UniswapV3Factory0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD
Multicall0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2
ProxyAdmin0x9AdA7D7879214073F40183F3410F2b3f088c6381
TickLens0xEB9fFC8bf81b4fFd11fb6A63a6B0f098c6e21950
NFTDescriptor0x27Dd7eE7fE723e83Bf3612a75a034951fe299E99
NonfungibleTokenPositionDescriptor0xe89B7C295d73FCCe88eF263F86e7310925DaEBAF
TransparentUpgradeableProxy0xE1f93a7cB6fFa2dB4F9d5A2FD43158A428993C09
NonfungiblePositionManager0x655C406EBFa14EE2006250925e54ec43AD184f8B
V3Migrator0x44f5f1f5E452ea8d29C890E8F6e893fC0f1f0f97
QuoterV20xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F
SwapRouter020xbb00FF08d01D300023C629E8fFfFcb65A5a578cE
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3
UniversalRouter0x4Dae2f939ACf50408e13d58534Ff8c2776d45265
v3StakerAddress0xCA9D0668C600c4dd07ca54Be1615FE5CDFd76Ac3

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