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.

ContractBNB Address
UniswapV3Factory0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7
Multicall0x963Df249eD09c358A4819E39d9Cd5736c3087184
ProxyAdmin0xC9A7f5b73E853664044ab31936D0E6583d8b1c79
TickLens0xD9270014D396281579760619CCf4c3af0501A47C
NFTDescriptor0x831d93E55AF23A2977E4DA892d5005f4F2995071
NonfungibleTokenPositionDescriptor0x0281E98322e4e8E53491D576Ee6A2BFCE644C55C
TransparentUpgradeableProxy0xAec98e489AE35F243eB63452f6ad233A6c97eE97
NonfungiblePositionManager0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613
V3Migrator0x32681814957e0C13117ddc0c2aba232b5c9e760f
QuoterV20x78D78E420Da98ad378D7799bE8f4AF69033EB077
SwapRouter020xB971eF87ede563556b2ED4b1C0b0019111Dd85d2
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3
UniversalRouter0x4Dae2f939ACf50408e13d58534Ff8c2776d45265
v3StakerAddress0x49B53C35AF9072fC71767577BF6380a88EE32C71

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
Binance Smart Chain56WBNB0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c
Helpful?