Adding Liquidity

The user can add liquidity on various liquidity pools on different dexes and earn pool fees. A pool is a pair of two tokens.

Step 1: Check the allowance of the pool contract on both tokens.

To initiate a swap, first determine if the DEX has the necessary allowance to access the tokens. This can be done using the following API endpoint:

API URL: https://api.expand.network/fungibletoken/getuserallowance


Sample Request:

https://api.expand.network/fungibletoken/getuserallowance?owner=0x6Fb447Ae94F5180254D436A693907a1f57696900&tokenAddress=0x6b175474e89094c44da98b954eedeac495271d0f&spender=0xBA12222222228d8Ba445958a75a0704d566BF2C8

Sample Response:

{
    "status": 200,
    "msg": "success",
    "data": {
        "allowance": "999000000000000000000"
    }
}

Step 2: Approve the pool contract from the tokens

This can be done using the following API endpoint:

API URL: https://api.expand.network/fungibletoken/approve


Sample Request:

{
    "from": "0x63056E00436Da25BcF48A40dfBbDcc7089351006", 
    "tokenAddress":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",  
    "amount": "1000000000000000000000",                  
    "to": "0x828b154032950c8ff7cf8085d841723db2696056", 
    "gas": "100000",
    "chainId": "1"
}

Sample Response:

{
    "status": 200,
    "msg": "success",
    "data": {
        "from": "0x63056E00436Da25BcF48A40dfBbDcc7089351006",
        "to": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
        "value": "0",
        "gas": "100000",
        "data": "0x095ea7b3000000000000000000000000828b154032950c8ff7cf8085d841723db269605600000000000000000000000000000000000000000000003635c9adc5dea00000"
    }
}

Step 3: Add Liquidity

This can be done using the following API endpoint:

API URL: https://api.expand.network/dex/addliquidity


Sample Request:

{
    "dexId": "1000",
    "tokenA": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", 
    "tokenB": "0x6B175474E89094C44Da98b954EedeAC495271d0F", 
    "amountADesired": "1000000000000000",
    "amountBDesired": "1332066335118442626",
    "amountAMin": "0",
    "amountBMin": "0",
    "to": "0x63056E00436Da25BcF48A40dfBbDcc7089351006",  
    "deadline": "166978170",
    "from": "0x63056E00436Da25BcF48A40dfBbDcc7089351006",  
    "gas": "230000"
}

Sample Response:

{
    "status": 200,
    "msg": "success",
    "data": {
        "from": "0x63056E00436Da25BcF48A40dfBbDcc7089351006",
        "to": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
        "value": "0",
        "gas": "230000",
        "data": "0xe8e33700000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000011fe4b6ae13d2a6055c8d9cf65c55bac32b5d84400000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000127c734631fdc0820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063056e00436da25bcf48a40dfbbdcc70893510060000000000000000000000000000000000000000000000000000000009f3e27a"
    }
}

The user will receive the LP tokens after adding liquidity to the pool.

Last updated