Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Addresses – Uniswap SDK
Skip to content

Addresses

Contract address mappings for Uniswap deployments across supported chains.

Import

import {
  V2_FACTORY_ADDRESSES,
  V2_ROUTER_ADDRESSES,
  V3_CORE_FACTORY_ADDRESSES,
  QUOTER_ADDRESSES,
  NONFUNGIBLE_POSITION_MANAGER_ADDRESSES,
  MULTICALL_ADDRESSES,
  CHAIN_TO_ADDRESSES_MAP,
  SWAP_ROUTER_02_ADDRESSES,
} from '@uniswap/sdk-core-next'

V2 Addresses

V2_FACTORY_ADDRESSES

V2 factory contract addresses by chain.

import { V2_FACTORY_ADDRESSES, ChainId } from '@uniswap/sdk-core-next'
 
const mainnetFactory = V2_FACTORY_ADDRESSES[ChainId.MAINNET]
// '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f'

V2_ROUTER_ADDRESSES

V2 router contract addresses by chain.

import { V2_ROUTER_ADDRESSES, ChainId } from '@uniswap/sdk-core-next'
 
const router = V2_ROUTER_ADDRESSES[ChainId.MAINNET]
// '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D'

V3 Addresses

V3_CORE_FACTORY_ADDRESSES

V3 factory contract addresses.

import { V3_CORE_FACTORY_ADDRESSES, ChainId } from '@uniswap/sdk-core-next'
 
const v3Factory = V3_CORE_FACTORY_ADDRESSES[ChainId.MAINNET]
// '0x1F98431c8aD98523631AE4a59f267346ea31F984'

QUOTER_ADDRESSES

V3 Quoter contract addresses.

import { QUOTER_ADDRESSES, ChainId } from '@uniswap/sdk-core-next'
 
const quoter = QUOTER_ADDRESSES[ChainId.MAINNET]
// '0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6'

NONFUNGIBLE_POSITION_MANAGER_ADDRESSES

V3 NFT Position Manager addresses.

import { NONFUNGIBLE_POSITION_MANAGER_ADDRESSES, ChainId } from '@uniswap/sdk-core-next'
 
const positionManager = NONFUNGIBLE_POSITION_MANAGER_ADDRESSES[ChainId.MAINNET]
// '0xC36442b4a4522E871399CD717aBDD847Ab11FE88'

SWAP_ROUTER_02_ADDRESSES(chainId)

Function to get SwapRouter02 address.

import { SWAP_ROUTER_02_ADDRESSES, ChainId } from '@uniswap/sdk-core-next'
 
const swapRouter = SWAP_ROUTER_02_ADDRESSES(ChainId.MAINNET)
// '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45'

Universal Addresses

MULTICALL_ADDRESSES

Multicall contract addresses for batch calls.

import { MULTICALL_ADDRESSES, ChainId } from '@uniswap/sdk-core-next'
 
const multicall = MULTICALL_ADDRESSES[ChainId.MAINNET]
// '0x1F98415757620B543A52E61c46B32eB19261F984'

Complete Chain Addresses

CHAIN_TO_ADDRESSES_MAP

Complete address mapping for each chain.

import { CHAIN_TO_ADDRESSES_MAP, ChainId } from '@uniswap/sdk-core-next'
 
const mainnetAddresses = CHAIN_TO_ADDRESSES_MAP[ChainId.MAINNET]
/*
{
  v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',
  multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',
  quoterAddress: '0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6',
  v3MigratorAddress: '0xA5644E29708357803b5A882D272c41cC0dF92B34',
  nonfungiblePositionManagerAddress: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
  mixedRouteQuoterV1Address: '0x84E44095eeBfEC7793Cd7d5b57B7e401D7f1cA2E',
  v4PoolManagerAddress: '0x000000000004444c5dc75cB358380D2e3dE08A90',
  v4PositionManagerAddress: '0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e',
  v4StateView: '0x7ffe42c4a5deea5b0fec41c94c136cf115597227',
  v4QuoterAddress: '0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203',
}
*/

V4 Addresses

V4 addresses are included in CHAIN_TO_ADDRESSES_MAP:

import { CHAIN_TO_ADDRESSES_MAP, ChainId } from '@uniswap/sdk-core-next'
 
const addresses = CHAIN_TO_ADDRESSES_MAP[ChainId.MAINNET]
 
const v4PoolManager = addresses.v4PoolManagerAddress
// '0x000000000004444c5dc75cB358380D2e3dE08A90'
 
const v4PositionManager = addresses.v4PositionManagerAddress
// '0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e'
 
const v4StateView = addresses.v4StateView
// '0x7ffe42c4a5deea5b0fec41c94c136cf115597227'
 
const v4Quoter = addresses.v4QuoterAddress
// '0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203'

Governance Addresses

import {
  UNI_ADDRESSES,
  GOVERNANCE_BRAVO_ADDRESSES,
  TIMELOCK_ADDRESSES,
  ChainId,
} from '@uniswap/sdk-core-next'
 
const uni = UNI_ADDRESSES[ChainId.MAINNET]
// '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984'
 
const governor = GOVERNANCE_BRAVO_ADDRESSES[ChainId.MAINNET]
// '0x408ED6354d4973f66138C91495F2f2FCbd8724C3'
 
const timelock = TIMELOCK_ADDRESSES[ChainId.MAINNET]
// '0x1a9C8182C09F50C8318d769245beA52c32BE35BC'

Type Definition

type ChainAddresses = {
  v3CoreFactoryAddress: Address.Address
  multicallAddress: Address.Address
  quoterAddress: Address.Address
  v3MigratorAddress?: Address.Address
  nonfungiblePositionManagerAddress?: Address.Address
  tickLensAddress?: Address.Address
  swapRouter02Address?: Address.Address
  mixedRouteQuoterV1Address?: Address.Address
  mixedRouteQuoterV2Address?: Address.Address
  v4PoolManagerAddress?: Address.Address
  v4PositionManagerAddress?: Address.Address
  v4StateView?: Address.Address
  v4QuoterAddress?: Address.Address
}