How to find all the DODO pools?

You can visit https://info.dodoex.io/all to find all the pools / pairs on DODO.

If you are looking for more info or building a customized data analysis on DODO, please read the following docs.

DODO Pool Types#

There are totally 4 types of pools on DODO, one from DODO V1, and three from DODO V2.

DODO V1: DODO

DODO V2: Vending Machine, Stable Pool, Private Pool

For each types of pool, there is a corresponding factory contract which manages pair creation and pair registration.

You can read pair information from the factory contract, and can build subgraph by indexing the event emitted from the factory contract.

We also have built a subgraph ready for you to query. Please refer to subgraph.

DODO V1#

Pool Contract: DODO

Factory Contract: DODOZoo

// DODOZoo.sol

// newBorn: new pool address
event DODOBirth(address newBorn, address baseToken, address quoteToken);

// get baseToken-quoteToken pair
function getDODO(address baseToken, address quoteToken) external view returns (address);

// get all the DODO V1 pools 
function getDODOs() external view returns (address[] memory);

Vending Machine#

Pool Contract: DVM

Factory Contract: DVMFactory

// DVMFactory.sol

// emit when a DVM pool is created
event NewDVM(
	address baseToken,
	address quoteToken,
	address creator,
	address dvm
);

// get DVM pools for baseToken-quoteToken pair
function getDODOPool(address baseToken, address quoteToken)
        external
        view
        returns (address[] memory machines)function getDODOPoolBidirection(address token0, address token1);

// get DVM pools for token0-token1 and token1-token0 pair
function getDODOPoolBidirection(address token0, address token1)
        external
        view
        returns (address[] memory baseToken0Machines, address[] memory baseToken1Machines);

// get DVM pools created by user
function getDODOPoolByUser(address user)
        external
        view
        returns (address[] memory machines);

Private Pool#

Pool Contract: DPP

Factory Contract: DPPFactory

// DPPFactory

// emit when a DPP pool is created
event NewDPP(
	address baseToken,
	address quoteToken,
	address creator,
	address dpp
);

// get DPP pools for baseToken-quoteToken pair
function getDODOPool(address baseToken, address quoteToken)
        external
        view
        returns (address[] memory pools);

// get DPP pools for token0-token1 and token1-token0 pair
function getDODOPoolBidirection(address token0, address token1)
        external
        view
        returns (address[] memory baseToken0Pool, address[] memory baseToken1Pool);

// get DPP pools by user
function getDODOPoolByUser(address user) 
        external
        view
        returns (address[] memory pools);

Stable Pool#

Pool Contract: DSP

Factory Contract: DSPFactory

// DSPFactory

// emit when a DSP pool is created
event NewDSP(
	address baseToken, 
	address quoteToken, 
	address creator, 
	address DSP
);

// get DSP pools of baseToken-quoteToken pair
function getDODOPool(address baseToken, address quoteToken)
        external
        view
        returns (address[] memory machines);

// get DSP pools of token0-token1 and token1-token0 pairs
function getDODOPoolBidirection(address token0, address token1)
        external
        view
        returns (address[] memory baseToken0Machines, address[] memory baseToken1Machines);

// get DSP pools created by a user
function getDODOPoolByUser(address user) 
        external 
        view 
        returns (address[] memory machines);

Factory Contract Addresses#

Ethereum#

Contract NameAddress
DODOZoo0x3A97247DF274a17C59A3bd12735ea3FcDFb49950
DVMFactory0x72d220cE168C4f361dD4deE5D826a01AD8598f6C
DPPFactory0x5336edE8F971339F6c0e304c66ba16F1296A2Fbe
DSPFactory0x6fdDB76c93299D985f4d3FC7ac468F9A168577A4

BSC#

Contract NameAddress
DODOZoo0xCA459456a45e300AA7EF447DBB60F87CCcb42828
DVMFactory0x790B4A80Fb1094589A3c0eFC8740aA9b0C1733fB
DPPFactory0xd9CAc3D964327e47399aebd8e1e6dCC4c251DaAE
DSPFactory0x0fb9815938Ad069Bf90E14FE6C596c514BEDe767

Polygon#

Contract NameAddress
DODOZoo0x357c5E9cfA8B834EDcef7C7aAbD8F9Db09119d11
DVMFactory0x79887f65f83bdf15Bcc8736b5e5BcDB48fb8fE13
DPPFactory0xd24153244066F0afA9415563bFC7Ba248bfB7a51
DSPFactory0x43C49f8DD240e1545F147211Ec9f917376Ac1e87

Arbitrum#

Contract NameAddress
DODOZoo0xBcC3401E16C25EaF4d3FeD632ce3288503883B1f
DVMFactory0xDa4c4411c55B0785e501332354A036c04833B72b
DPPFactory0xa6Cf3d163358aF376ec5e8B7Cc5e102a05FdE63D
DSPFactory0xC8fE2440744dcd733246a4dB14093664DEFD5A53

Optimism#

Contract NameAddress
DODOZoo0xC48936eFC01dB84aB15FE89C08E3b2b72853eece
DVMFactory0x2B800DC6270726F7E2266cE8cD5A3F8436fe0B40
DPPFactory0xDb9C53F2cED34875685B607c97A61a65DA2F30a8
DSPFactory0x1f83858cD6d0ae7a08aB1FD977C06DABEcE6d711

Avalanche#

Contract NameAddress
DODOZoo0x8aB2D334cE64B50BE9Ab04184f7ccBa2A6bb6391
DVMFactory0xfF133A6D335b50bDAa6612D19E1352B049A8aE6a
DPPFactory0xb7865a5ceE051d35B09A48b624D7057d3362655a
DSPFactory0x2b0d94Eb7A63B8a2909dE1CB3951ecF7Ae76D2fE

Moonriver#

Contract NameAddress
DODOZoo0x02fCB21dc1cf221939C1d4277fB54016b5d32bC7
DVMFactory0x738Ebf387A0CE0eb46b0eF8Fa5DEa2EaE6B1Df51
DPPFactory0xd0e1aA51dF0896c126Ce6F8A064E551e0DD3D39b
DSPFactory0xB76de21f04F677f07D9881174a1D8E624276314C

Aurora#

Contract NameAddress
DODOZoo0xf50BDc9E90B7a1c138cb7935071b85c417C4cb8e
DVMFactory0x5515363c0412AdD5c72d3E302fE1bD7dCBCF93Fe
DPPFactory0x40672211D4310ad71daDc8cDE7Aa3Fb90d420855
DSPFactory0xbe9a66e49503e84ae59a4d0545365AABedf33b40

Boba#

Contract NameAddress
DODOZoo0x69f52AC40185A2A005D49114F0B77b7bA856F0a0
DVMFactory0x2F2f9460500F27db68AAfBfa0472cEDDb168a5a6
DPPFactory0x3a60A76aCAe8feeC74D6B5b665d4DBaab2abC406
DSPFactory0xfF133A6D335b50bDAa6612D19E1352B049A8aE6a

OKChain#

Contract NameAddress
DODOZoo0x357c5E9cfA8B834EDcef7C7aAbD8F9Db09119d11
DVMFactory0x9aE501385Bc7996A2A4a1FBb00c8d3820611BCB5
DPPFactory0xfdD51aAba2f949195a460121aA3f2D392d2524A9
DSPFactory0x44D5dF24d5Ef52A791D6436Fa45A8D426f6de34e