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.

ContractCELO Address
UniswapV3Factory0xAfE208a311B21f13EF87E33A90049fC17A7acDEc
Multicall20x633987602DE5C4F337e3DbF265303A1080324204
ProxyAdmin0xc1b262Dd7643D4B7cA9e51631bBd900a564BF49A
TickLens0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D
NFTDescriptor0xa9Fd765d85938D278cb0b108DbE4BF7186831186
NonfungibleTokenPositionDescriptor0x644023b316bB65175C347DE903B60a756F6dd554
TransparentUpgradeableProxy0x505B43c452AA4443e0a6B84bb37771494633Fde9
NonfungiblePositionManager0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A
V3Migrator0x3cFd4d48EDfDCC53D3f173F596f621064614C582
QuoterV20x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8
SwapRouter020x5615CDAb10dc425a742d643d949a7F474C01abc4
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3
UniversalRouter0x643770E279d5D0733F21d6DC03A8efbABf3255B4
v3StakerAddress0x6586FB35393abF7Ff454977a9b3c912d218791C6

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)

CELO Native Asset

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.

*Note: CELO is the native asset, it is a token and will work as a token, needing approval for routers to manage.

NetworkChainIdWrapped Native TokenAddress
CELO142220CELO Native Asset0x471EcE3750Da237f93B8E339c536989b8978a438
Helpful?