# Supported exchanges

The [20lab.app](https://20lab.app/) token generator supports various DEXes for tokens with specific features. These features require internal connections to DEXes to function correctly. For example, liquidity tax functionality requires the token to identify the appropriate DEX for adding liquidity from collected transaction fees. The following list shows the supported DEXes per blockchain and their corresponding router smart contracts used by 20lab:

## MAINNETS

### Ethereum

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Ethereum)</td><td>0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>ShibaSwap V1</td><td>0x03f7724180AA6b939894B5Ca4314783B0b36b329</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>PancakeSwap V2 (Ethereum)</td><td>0xEfF92A263d31888d860bD50809A8D171709b7b1c</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Ethereum)</td><td>0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Binance Smart Chain

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>PancakeSwap V2 (BSC)</td><td>0x10ED43C718714eb63d5aA57B78B54704E256024E</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Uniswap V2 (BSC)</td><td>0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>ApeSwap (BSC)</td><td>0xcF0feBd3f17CEf5b47b0cD257aCf6025c5BFf3b7</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (BSC)</td><td>0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Polygon

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>QuickSwap V2</td><td>0xa5E0829CaCEd8fFDD4De3c43696c57F7D7A678ff</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Uniswap V2 (Polygon)</td><td>0xedf6066a2b290C185783862C7F4776A2C8077AD1</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>ApeSwap (Polygon)</td><td>0xC0788A3aD43d79aa53B09c2EaCc313A787d1d607</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Polygon)</td><td>0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Avalanche C-Chain

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>LFJ V1 (Avalanche)</td><td>0x60aE616a2155Ee3d9A68541Ba4544862310933d4</td><td>uni_avax<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>Uniswap V2 (Avalanche)</td><td>0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Pangolin V2</td><td>0xE54Ca86531e17Ef3616d22Ca28b0D458b6C89106</td><td>uni_avax<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Avalanche)</td><td>0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Arbitrum One

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Arbitrum One)</td><td>0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Camelot V2</td><td>0xc873fEcbd354f5A56E00E710B90EF4201db2448d</td><td><p>camelot</p><p>(can impact token address)</p></td><td>true</td><td>true</td></tr><tr><td>PancakeSwap V2 (Arbitrum One)</td><td>0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Arbitrum One)</td><td>0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506</td><td>uniswap</td><td>false</td><td>true</td></tr><tr><td>LFJ V1 (Arbitrum One)</td><td>0xbeE5c10Cf6E4F68f831E11C1D9E59B43560B3642</td><td>uni_avax<br>(can impact token address)</td><td>false</td><td>true</td></tr></tbody></table>

### Optimism

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Optimism)</td><td>0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Velodrome Basic</td><td>0xa062aE8A9c5e11aaA026fc2670B0D65cCc8B2858</td><td>algebra_aerodrome<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>Elk Finance V2 (Optimism)</td><td>0xeadE97aFC8f79A8E5Ba85d57C4a4E629b1160C6A</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Optimism)</td><td>0x2ABf469074dc0b54d793850807E6eb5Faf2625b1</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Cronos

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>VVS Finance V2</td><td>0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>CronaSwap</td><td>0xcd7d16fB918511BF7269eC4f48d61D79Fb26f918</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Crodex</td><td>0xeC0A7a0C2439E8Cb67b992b12ecd020Ea943c7Be</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>MM Finance V2</td><td>0x145677FC4d9b8F19B5D56d1820c48e0443049a30</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### PulseChain

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>PulseX V1</td><td>0x98bf93ebf5c380C0e6Ae8e192A7e2AE08edAcc02</td><td>pulsex_pls<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>PulseX V2</td><td>0x165C3410fC91EF562C50559f7d2289fEbed552d9</td><td>pulsex_pls<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>9mm V2</td><td>0xcC73b59F8D7b7c532703bDfea2808a28a488cF47</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>9inch V2</td><td>0xeB45a3c4aedd0F47F345fB4c8A1802BB5740d725</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

### Base

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Base)</td><td>0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Aerodrome Basic</td><td>0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43</td><td>algebra_aerodrome<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>PancakeSwap V2 (Base)</td><td>0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SwapBased V2</td><td>0xaaa3b1F1bd7BCc97fD1917c18ADE665C5D31F066</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Base)</td><td>0x6BDED42c6DA8FBf0d2bA55B2fa120C5e0c8D7891</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Core

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>ArcherSwap</td><td>0x74F56a7560eF0C72Cf6D677e3f5f51C2D579fF15</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>ShadowSwap</td><td>0xCCED48E6fe655E5F28e8C4e56514276ba8b34C09</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>LFGswap</td><td>0x42a0F91973536f85B06B310fa9C70215784F35a1</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>OpenEX</td><td>0xc885C4a8B112B8a165338566421c685024Ec44F9</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Linea

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Lynex Classic</td><td>0x610D2f07b7EdC67565160F587F37636194C34E74</td><td>algebra_thena<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>Etherex Classic</td><td>0x32dB39c56C171b4c96e974dDeDe8E42498929c54</td><td>algebra_shadow<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>PancakeSwap V2 (Linea)</td><td>0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Linea)</td><td>0x2ABf469074dc0b54d793850807E6eb5Faf2625b1</td><td>uniswap</td><td>false</td><td>true</td></tr><tr><td>Secta Finance V2</td><td>0x4cB96E7f17eA50016dB841171a30899f0497c5dB</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Mantle

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Merchant Moe V1</td><td>0xeaEE7EE68874218c3558b40063c42B82D3E7232a</td><td>moe<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>FusionX V2</td><td>0xDd0840118bF9CCCc6d67b2944ddDfbdb995955FD</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

### Blast

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Blast)</td><td>0xBB66Eb1c5e875933D44DAe661dbD80e5D9B03035</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>DYOR Swap (Blast)</td><td>0xE470699f6D0384E3eA68F1144E41d22C6c8fdEEf</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Blast)</td><td>0x54CF3d259a06601b5bC45F61A16443ed5404DD64</td><td>uniswap</td><td>false</td><td>true</td></tr><tr><td>BlasterSwap V2</td><td>0xc972FaE6b524E8A6e0af21875675bF58a3133e60</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Scroll

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>SpaceFi</td><td>0x18b71386418A9FCa5Ae7165E31c385a5130011b6</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>SushiSwap V2 (Scroll)</td><td>0x9B3336186a38E1b6c21955d112dbb0343Ee061eE</td><td>uniswap</td><td>false</td><td>true</td></tr></tbody></table>

### Metis

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Hercules V2 (LP-only version)</td><td>0x14679D1Da243B8c7d1A4c6d0523A2Ce614Ef027C</td><td>camelot<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>Netswap</td><td>0x1E876cCe41B7b844FDe09E38Fa1cf00f213bFf56</td><td>uni_metis<br>(can impact token address)</td><td>true</td><td>true</td></tr></tbody></table>

### Sonic

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Shadow Exchange Classic</td><td>0x1D368773735ee1E678950B7A97bcA2CafB330CDc</td><td>algebra_shadow<br>(can impact token address)</td><td>true</td><td>true</td></tr><tr><td>SpookySwap V2</td><td>0xa6AD18C2aC47803E193F75c3677b14BF19B94883</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Metropolis V2</td><td>0x95a7e403d7cF20F675fF9273D66e94d35ba49fA3</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>DYOR Swap (Sonic)</td><td>0x591cf6942c422fA53E8D81c62a9692D7BeA72F61</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

### Unichain

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Unichain)</td><td>0x284F11109359a7e1306C3e447ef14D38400063FF</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

### HyperEVM

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>HyperSwap V2</td><td>0xb4a9C4e6Ea8E2191d2FA5B380452a634Fb21240A</td><td>camelot<br>(can impact token address)</td><td>true</td><td>true</td></tr></tbody></table>

### Monad

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Monad)</td><td>0x4B2ab38DBF28D31D467aA8993f6c2585981D6804</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>PancakeSwap V2 (Monad)</td><td>0xB1Bc24c34e88f7D43D5923034E3a14B24DaACfF9</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>DYOR Swap (Monad)</td><td>0x26CEb692410c4b3C12D63e01CFc03eEA103fc474</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

## TESTNETS

### Ethereum Sepolia

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Sepolia Testnet)</td><td>0xeE567Fe1712Faf6149d80dA1E6934E354124CfE3</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>DonaSwap V2 (Sepolia Testnet)</td><td>0x6E682B51F8bb67294B522b75a1E79dDd4502cc94</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

### Binance Smart Chain Testnet

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>PancakeSwap V2 (BSC Testnet)</td><td>0xD99D1c33F9fC3444f8101754aBC46c52416550D1</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>DonaSwap V2 (BSC Testnet)</td><td>0x6E682B51F8bb67294B522b75a1E79dDd4502cc94</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

### Polygon Amoy

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>DonaSwap V2 (Polygon Amoy)</td><td>0x6E682B51F8bb67294B522b75a1E79dDd4502cc94</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

### Avalanche Fuji

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>DonaSwap V2 (Avalanche Fuji)</td><td>0x6E682B51F8bb67294B522b75a1E79dDd4502cc94</td><td>uniswap</td><td>true</td><td>true</td></tr><tr><td>Elk Finance V2 (Avalanche Fuji)</td><td>0xdb0D31c562cb6c54c45b27309aAD52b744eFe9fF</td><td>uni_avax<br>(can impact token address)</td><td>true</td><td>true</td></tr></tbody></table>

### Unichain Sepolia

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Uniswap V2 (Unichain Sepolia)</td><td>0x920b806E40A00E02E7D2b94fFc89860fDaEd3640</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

## CUSTOM EXCHANGE

### All blockchains

<table><thead><tr><th>Name</th><th>Router address</th><th>Token integration template</th><th data-type="checkbox">Available in token generator</th><th data-type="checkbox">Available in tools</th></tr></thead><tbody><tr><td>Custom exchange</td><td>(Provided by user)</td><td>uniswap</td><td>true</td><td>true</td></tr></tbody></table>

To integrate a custom DEX, please refer to the following documentation page:

{% content-ref url="custom-exchange" %}
[custom-exchange](https://docs.20lab.app/decentralized-exchanges/custom-exchange)
{% endcontent-ref %}
