Deployment Addresses
Ring v3 Contract Deployments
The Ring Protocol is made up of multiple contracts on many networks.
Please do not assume contracts are deployed to the same addresses across chains, and be extremely careful to confirm addresses before using a contract.
EthereumUnichainArbitrumOptimismPolygonBaseBNBAvalanche C-ChainCELOBlastZKsyncZoraWorldChainMonad
These addresses are final and were deployed from these npm package versions:
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.
Ring Pool Deployments
Every Ring 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 Ring Info or by calling the getPool function on the UniswapV3Factory contract.
getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000)