# Cetus

### Supported Chains

Available on **Sui Mainnet and Testnet**

### Available Endpoints:

*Click on the endpoint to jump to the section with full details*

* [<mark style="color:blue;">**/getprice**</mark>](#getprice) <mark style="color:blue;">`GET`</mark> - Returns the swap quotation for a given token pair on Cetus.
* [<mark style="color:blue;">**/getuserliquidity**</mark>](#getuserliquidity) <mark style="color:blue;">`GET`</mark> - Returns the balance of a particular token pair of accounts.&#x20;
* [<mark style="color:blue;">**/getpoolliquidity**</mark>](#getpoolliquidity) <mark style="color:blue;">`GET`</mark> - Returns the total liquidity for a specified pool.
* [<mark style="color:blue;">**/gettokenliquidity**</mark>](#gettokenliquidity) <mark style="color:blue;">`GET`</mark> - Returns the individual token liquidity within the specified liquidity pool.
* [<mark style="color:blue;">**/swap**</mark>](#swap) <mark style="color:green;">`POST`</mark> - Initiate a swap transaction on a specified DEX.&#x20;
* [<mark style="color:blue;">**/**</mark>](#swap)[<mark style="color:blue;">**addliquidity**</mark>](#addliquidity) <mark style="color:green;">`POST`</mark> - Add liquidity to a specified pool in a specified DEX.&#x20;
* [<mark style="color:blue;">**/**</mark>](#swap)[<mark style="color:blue;">**removeliquidity**</mark>](#removeliquidity)<mark style="color:green;">`POST`</mark> - Remove liquidity from a specified pool for a specified DEX.

### DEX IDs

Many endpoints have a parameter where you can provide a DEX ID.&#x20;

Below is a list of DEX IDs related to Cetus. For a complete list and more information, please see the [DEX ID](/ids/dex-ids.md) page.

| DEX Name | Chain       | DEX ID |
| -------- | ----------- | ------ |
| Cetus    | Sui Mainnet | 3300   |
| Cetus    | Sui Testnet | 3301   |

## Endpoint Details

### /getprice

Returns the swap quotation for a given token pair.

<mark style="color:blue;">`GET`</mark> `https://api.expand.network/dex/getprice`

#### Query Parameter

| Name                                       | Type   | Description                                                                      |
| ------------------------------------------ | ------ | -------------------------------------------------------------------------------- |
| rpc                                        | String | Remote procedural call URL.                                                      |
| dexId<mark style="color:red;">\*</mark>    | String | Refer to the [DEX ID](https://docs.expand.network/ids/dex-ids) page for details. |
| amountIn<mark style="color:red;">\*</mark> | String | Amount of token.                                                                 |
| path<mark style="color:red;">\*</mark>     | String | Comma separated values of token addresses whose price is to be fetched.          |

{% tabs %}
{% tab title="Sample Request" %}

```url
https://api.expand.network/dex/getprice?path=0xaf3aae4940a248739ce4964857381fc3f3149a6d05375bfbb2118592907e3bbb::dam::DAM,0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI&amountIn=100000000&dexId=3300
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "amountIn": "100000000",
        "path": [
            "0xaf3aae4940a248739ce4964857381fc3f3149a6d05375bfbb2118592907e3bbb::dam::DAM",
            "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
        ],
        "amountsOut": [
            "100000000",
            "4526"
        ]
    }
}
```

{% endtab %}
{% endtabs %}

### /getuserliquidity

Returns  the balance of a particular token pair of an account.

<mark style="color:blue;">`GET`</mark> `https://api.expand.network/dex/getuserliquidity`

#### Query Parameter

| Name                                          | Type   | Description                                                                      |
| --------------------------------------------- | ------ | -------------------------------------------------------------------------------- |
| rpc                                           | String | Remote procedural call URL.                                                      |
| dexId<mark style="color:red;">\*</mark>       | String | Refer to the [DEX ID](https://docs.expand.network/ids/dex-ids) page for details. |
| address<mark style="color:red;">\*</mark>     | String | Public address of liquidity provider.                                            |
| poolAddress<mark style="color:red;">\*</mark> | String | Pool address whose liquidity is to be fetched.                                   |

{% tabs %}
{% tab title="Sample Request" %}

```url
https://api.expand.network/dex/getuserliquidity?dexId=3300&address=0xc226836119da363dd93c5c211c495eff6955eb65e68a6cf7b45ded3e82416c92&poolAddress=0xb8d7d9e66a60c239e7a60110efcf8de6c705580ed924d0dde141f4a0e2c90105
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "liquidity": "76053060253",
        "tokenA": "1157821349",
        "tokenB": "39428071481"
    }
}
```

{% endtab %}
{% endtabs %}

### /getpoolliquidity

Returns the total liquidity for a specified pool.

<mark style="color:blue;">`GET`</mark> `https://api.expand.network/dex/getpoolliquidity`

#### Query Parameter

| Name                                          | Type   | Description                                                                      |
| --------------------------------------------- | ------ | -------------------------------------------------------------------------------- |
| rpc                                           | String | Remote procedural call URL.                                                      |
| dexId<mark style="color:red;">\*</mark>       | String | Refer to the [DEX ID](https://docs.expand.network/ids/dex-ids) page for details. |
| poolAddress<mark style="color:red;">\*</mark> | String | Pool address whose liquidity is to be fetched.                                   |

{% tabs %}
{% tab title="Sample Request" %}

```url
https://api.expand.network/dex/getpoolliquidity?dexId=3300&poolAddress=0x0fea99ed9c65068638963a81587c3b8cafb71dc38c545319f008f7e9feb2b5f8
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "totalLiquidity": "3612316816652697"
    }
}
```

{% endtab %}
{% endtabs %}

### /gettokenliquidity

Returns the individual token liquidity within the specified liquidity pool.

<mark style="color:blue;">`GET`</mark> `https://api.expand.network/dex/gettokenliquidity`

#### Query Parameter

| Name                                          | Type   | Description                                                                      |
| --------------------------------------------- | ------ | -------------------------------------------------------------------------------- |
| rpc                                           | String | Remote procedural call URL.                                                      |
| dexId<mark style="color:red;">\*</mark>       | String | Refer to the [DEX ID](https://docs.expand.network/ids/dex-ids) page for details. |
| poolAddress<mark style="color:red;">\*</mark> | String | Pool address whose liquidity is to be fetched.                                   |

{% tabs %}
{% tab title="Sample Request" %}

```url
https://api.expand.network/dex/gettokenliquidity?dexId=3300&poolAddress=0x0fea99ed9c65068638963a81587c3b8cafb71dc38c545319f008f7e9feb2b5f8
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "USDC": "455337923658",
        "AUSD": "1156109147682"
    }
}
```

{% endtab %}
{% endtabs %}

### /swap

Initiate a swap transaction on a specified DEX.

<mark style="color:green;">POST</mark> `https://api.expand.network/dex/swap`

#### Request Body

| Name                                       | Type   | Description                                                                           |
| ------------------------------------------ | ------ | ------------------------------------------------------------------------------------- |
| rpc                                        | String | Remote procedural call URL.                                                           |
| dexId<mark style="color:red;">\*</mark>    | String | Refer to the [DEX ID](https://docs.expand.network/ids/dex-ids) page for details.      |
| path<mark style="color:red;">\*</mark>     | String | Comma separated values of token addresses.                                            |
| amountIn<mark style="color:red;">\*</mark> | String | Amount of token to be swapped.                                                        |
| gas                                        | String | Maximum gas limit provided by the sender, for the transaction.                        |
| poolFees                                   | String | Different pool based on the fees. By default, it is selected as 2500.                 |
| from<mark style="color:red;">\*</mark>     | String | Address of the sender of the token.                                                   |
| slippage                                   | String | <p>Percentage of total swap value. By default, 1.</p><p>0 <= slippage value <= 10</p> |

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "path": [
        "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS",
        "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
    ],
    "poolFees": "2500",
    "amountIn": "1000000",
    "from": "0xda79a82f67c908b1ed3095887673454226b5da77822898405dc376a1b86bf0f3",
    "slippage": "100",
    "gas": "1000000",
    "dexId": "3300"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "101",
        "from": "0xda79a82f67c908b1ed3095887673454226b5da77822898405dc376a1b86bf0f3",
        "to": "0x2e041f3fd93646dcc877f783c1f2b7fa62d30271bdef1f21ef002cebf857bded",
        "data": "ewogICJ2ZXJzaW9uIjogMiwKICAic2VuZGVyIjogIjB4ZGE3OWE4MmY2N2M5MDhiMWVkMzA5NTg4NzY3MzQ1NDIyNmI1ZGE3NzgyMjg5ODQwNWRjMzc2YTFiODZiZjBmMyIsCiAgImV4cGlyYXRpb24iOiBudWxsLAogICJnYXNEYXRhIjogewogICAgImJ1ZGdldCI6ICIxMDAwMDAwIiwKICAgICJwcmljZSI6IG51bGwsCiAgICAib3duZXIiOiBudWxsLAogICAgInBheW1lbnQiOiBudWxsCiAgfSwKICAiaW5wdXRzIjogWwogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHgyYmZiMTY2MTFjN2I2NTNjNjJhM2QzYmQwYjkwNWE2OGVmNmI0ZTM1MmI1ZDA4OWViNjY2YTg1ZDRkZTQ5M2RmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAiUHVyZSI6IHsKICAgICAgICAiYnl0ZXMiOiAiQUFBQUFBQUFBQUE9IgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHhkYWE0NjI5MjYzMmMzYzRkOGYzMWYyM2VhMGY5YjM2YTI4ZmYzNjc3ZTk2ODQ5ODBlNDQzODQwM2E2N2EzZDhmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHgyZTA0MWYzZmQ5MzY0NmRjYzg3N2Y3ODNjMWYyYjdmYTYyZDMwMjcxYmRlZjFmMjFlZjAwMmNlYmY4NTdiZGVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAiUHVyZSI6IHsKICAgICAgICAiYnl0ZXMiOiAiQVE9PSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIlB1cmUiOiB7CiAgICAgICAgImJ5dGVzIjogIlFFSVBBQUFBQUFBPSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIlB1cmUiOiB7CiAgICAgICAgImJ5dGVzIjogIlpqTUJBQUFBQUFBPSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIlB1cmUiOiB7CiAgICAgICAgImJ5dGVzIjogIlVEc0JBQUVBQUFBQUFBQUFBQUFBQUE9PSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIlVucmVzb2x2ZWRPYmplY3QiOiB7CiAgICAgICAgIm9iamVjdElkIjogIjB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIKICAgICAgfQogICAgfQogIF0sCiAgImNvbW1hbmRzIjogWwogICAgewogICAgICAiU3BsaXRDb2lucyI6IHsKICAgICAgICAiY29pbiI6IHsKICAgICAgICAgICJHYXNDb2luIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgImFtb3VudHMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJJbnB1dCI6IDEKICAgICAgICAgIH0KICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJNb3ZlQ2FsbCI6IHsKICAgICAgICAicGFja2FnZSI6ICIweDNhNWFhOTBmZmEzM2QwOTEwMGQ3YjY5NDFlYTFjMGZmZTZhYjY2ZTc3MDYyZGRkMjYzMjBjMWIwNzNhYWJiMTAiLAogICAgICAgICJtb2R1bGUiOiAicG9vbF9zY3JpcHRfdjIiLAogICAgICAgICJmdW5jdGlvbiI6ICJzd2FwX2EyYiIsCiAgICAgICAgInR5cGVBcmd1bWVudHMiOiBbCiAgICAgICAgICAiMHgwNjg2NGE2ZjkyMTgwNDg2MDkzMGRiNmRkYmUyZTE2YWNkZjg1MDQ0OTVlYTc0ODE2MzdhMWM4YjlhOGZlNTRiOjpjZXR1czo6Q0VUVVMiLAogICAgICAgICAgIjB4Mjo6c3VpOjpTVUkiCiAgICAgICAgXSwKICAgICAgICAiYXJndW1lbnRzIjogWwogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAyCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAzCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAwCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiUmVzdWx0IjogMAogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogNAogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogNQogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogNgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogNwogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogOAogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfQogIF0KfQ==",
        "referenceId": "6ce087fc9d2742d1af2f7f01b3439176"
    }
}
```

{% endtab %}
{% endtabs %}

### /addliquidity

Add liquidity to a specified pool in a specified DEX.

<mark style="color:green;">POST</mark> `https://api.expand.network/dex/addliquidity`

#### Request Body

| Name                                      | Type   | Description                                                                           |
| ----------------------------------------- | ------ | ------------------------------------------------------------------------------------- |
| rpc                                       | String | Remote procedural call URL.                                                           |
| dexId<mark style="color:red;">\*</mark>   | String | Refer to the [DEX ID](https://docs.expand.network/ids/dex-ids) page for details.      |
| path<mark style="color:red;">\*</mark>    | String | Comma separated values of token addresses.                                            |
| amountA<mark style="color:red;">\*</mark> | String | Amount of token0.                                                                     |
| amountB<mark style="color:red;">\*</mark> | String | Amount of token1                                                                      |
| slippage                                  | String | <p>Percentage of total swap value. By default, 1.</p><p>0 <= slippage value <= 10</p> |
| poolFees                                  | String | Different pool based on the fees. By default, it is selected as 2500.                 |
| from<mark style="color:red;">\*</mark>    | String | Address of the sender of the token.                                                   |
| gas                                       | String | Maximum gas limit provided by the sender, for the transaction.                        |

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "path": [
        "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS",
        "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
    ],
    "poolFees": "2500",
    "amountA": "1000000",
    "amountB": "1000000",
    "from": "0xda79a82f67c908b1ed3095887673454226b5da77822898405dc376a1b86bf0f3",
    "slippage": "100",
    "gas": "1000000",
    "dexId": "3300"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "101",
        "from": "0xda79a82f67c908b1ed3095887673454226b5da77822898405dc376a1b86bf0f3",
        "to": "0x2e041f3fd93646dcc877f783c1f2b7fa62d30271bdef1f21ef002cebf857bded",
        "data": "ewogICJ2ZXJzaW9uIjogMiwKICAic2VuZGVyIjogIjB4ZGE3OWE4MmY2N2M5MDhiMWVkMzA5NTg4NzY3MzQ1NDIyNmI1ZGE3NzgyMjg5ODQwNWRjMzc2YTFiODZiZjBmMyIsCiAgImV4cGlyYXRpb24iOiBudWxsLAogICJnYXNEYXRhIjogewogICAgImJ1ZGdldCI6ICIxMDAwMDAwIiwKICAgICJwcmljZSI6IG51bGwsCiAgICAib3duZXIiOiBudWxsLAogICAgInBheW1lbnQiOiBudWxsCiAgfSwKICAiaW5wdXRzIjogWwogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHgyYmZiMTY2MTFjN2I2NTNjNjJhM2QzYmQwYjkwNWE2OGVmNmI0ZTM1MmI1ZDA4OWViNjY2YTg1ZDRkZTQ5M2RmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAiUHVyZSI6IHsKICAgICAgICAiYnl0ZXMiOiAiUUVJUEFBQUFBQUE9IgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHhkYWE0NjI5MjYzMmMzYzRkOGYzMWYyM2VhMGY5YjM2YTI4ZmYzNjc3ZTk2ODQ5ODBlNDQzODQwM2E2N2EzZDhmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHgyZTA0MWYzZmQ5MzY0NmRjYzg3N2Y3ODNjMWYyYjdmYTYyZDMwMjcxYmRlZjFmMjFlZjAwMmNlYmY4NTdiZGVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAiUHVyZSI6IHsKICAgICAgICAiYnl0ZXMiOiAiZ0o3Ly93PT0iCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJQdXJlIjogewogICAgICAgICJieXRlcyI6ICIrSjcvL3c9PSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIlB1cmUiOiB7CiAgICAgICAgImJ5dGVzIjogIlFFSVBBQUFBQUFBPSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIlB1cmUiOiB7CiAgICAgICAgImJ5dGVzIjogIlFFSVBBQUFBQUFBPSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIlB1cmUiOiB7CiAgICAgICAgImJ5dGVzIjogIkFRPT0iCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJVbnJlc29sdmVkT2JqZWN0IjogewogICAgICAgICJvYmplY3RJZCI6ICIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYiCiAgICAgIH0KICAgIH0KICBdLAogICJjb21tYW5kcyI6IFsKICAgIHsKICAgICAgIlNwbGl0Q29pbnMiOiB7CiAgICAgICAgImNvaW4iOiB7CiAgICAgICAgICAiR2FzQ29pbiI6IHRydWUKICAgICAgICB9LAogICAgICAgICJhbW91bnRzIjogWwogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAxCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgewogICAgICAiTW92ZUNhbGwiOiB7CiAgICAgICAgInBhY2thZ2UiOiAiMHgzYTVhYTkwZmZhMzNkMDkxMDBkN2I2OTQxZWExYzBmZmU2YWI2NmU3NzA2MmRkZDI2MzIwYzFiMDczYWFiYjEwIiwKICAgICAgICAibW9kdWxlIjogInBvb2xfc2NyaXB0X3YyIiwKICAgICAgICAiZnVuY3Rpb24iOiAib3Blbl9wb3NpdGlvbl93aXRoX2xpcXVpZGl0eV9ieV9maXhfY29pbiIsCiAgICAgICAgInR5cGVBcmd1bWVudHMiOiBbCiAgICAgICAgICAiMHgwNjg2NGE2ZjkyMTgwNDg2MDkzMGRiNmRkYmUyZTE2YWNkZjg1MDQ0OTVlYTc0ODE2MzdhMWM4YjlhOGZlNTRiOjpjZXR1czo6Q0VUVVMiLAogICAgICAgICAgIjB4Mjo6c3VpOjpTVUkiCiAgICAgICAgXSwKICAgICAgICAiYXJndW1lbnRzIjogWwogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAyCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAzCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiA0CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiA1CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAwCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiUmVzdWx0IjogMAogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogNgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogNwogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogOAogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIklucHV0IjogOQogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgfQogIF0KfQ==",
        "referenceId": "7f9fd2b714704752827a70b1aaaaac69"
    }
}
```

{% endtab %}
{% endtabs %}

### /removeliquidity

Remove liquidity from a specified pool for a specified DEX.

<mark style="color:green;">POST</mark> `https://api.expand.network/dex/removeliquidity`

#### Request Body

| Name                                        | Type   | Description                                                                           |
| ------------------------------------------- | ------ | ------------------------------------------------------------------------------------- |
| rpc                                         | String | Remote procedural call URL.                                                           |
| dexId<mark style="color:red;">\*</mark>     | String | Refer to the [DEX ID](https://docs.expand.network/ids/dex-ids) page for details.      |
| path<mark style="color:red;">\*</mark>      | String | Comma separated values of token addresses.                                            |
| poolFees                                    | String | Different pool based on the fees. By default, it is selected as 2500.                 |
| slippage                                    | String | <p>Percentage of total swap value. By default, 1.</p><p>0 <= slippage value <= 10</p> |
| from<mark style="color:red;">\*</mark>      | String | Address of the sender of the token.                                                   |
| liquidity<mark style="color:red;">\*</mark> | String | The liquidity to be removed.                                                          |
| gas                                         | String | Maximum gas limit provided by the sender, for the transaction.                        |

{% tabs %}
{% tab title="Sample Request" %}

```json
{
    "path": [
        "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS",
        "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
    ],
    "poolFees": "2500",
    "liquidity": "1000000",
    "from": "0x3345e6cb604d02ae98056d1a73c7b79a792f64eb0b58b1f040794adea6b2d956",
    "gas": "1000000",
    "dexId": "3300"
}
```

{% endtab %}

{% tab title="Sample Response" %}

```json
{
    "status": 200,
    "msg": "success",
    "data": {
        "chainId": "101",
        "from": "0x3345e6cb604d02ae98056d1a73c7b79a792f64eb0b58b1f040794adea6b2d956",
        "to": "0x2e041f3fd93646dcc877f783c1f2b7fa62d30271bdef1f21ef002cebf857bded",
        "data": "ewogICJ2ZXJzaW9uIjogMiwKICAic2VuZGVyIjogIjB4MzM0NWU2Y2I2MDRkMDJhZTk4MDU2ZDFhNzNjN2I3OWE3OTJmNjRlYjBiNThiMWYwNDA3OTRhZGVhNmIyZDk1NiIsCiAgImV4cGlyYXRpb24iOiBudWxsLAogICJnYXNEYXRhIjogewogICAgImJ1ZGdldCI6ICIxMDAwMDAwIiwKICAgICJwcmljZSI6IG51bGwsCiAgICAib3duZXIiOiBudWxsLAogICAgInBheW1lbnQiOiBudWxsCiAgfSwKICAiaW5wdXRzIjogWwogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHgwNjk0MWVkZWFkMzZhYmI1NTA3MzQ5ZjkzZDM5YTkwN2M1NWM1MGIxOGJhNzUwYTYzMzdiNzI1ZGI3NTc0OGY0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHhjMzQ2NzQwNDM2ZGFkMDY3NjEyODgwYWE2OGEyMzAxZDlhZDYwZWIxOWViZTZiNjcwZTM1OWE2MjExYmFhOWI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHhkYWE0NjI5MjYzMmMzYzRkOGYzMWYyM2VhMGY5YjM2YTI4ZmYzNjc3ZTk2ODQ5ODBlNDQzODQwM2E2N2EzZDhmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHgyZTA0MWYzZmQ5MzY0NmRjYzg3N2Y3ODNjMWYyYjdmYTYyZDMwMjcxYmRlZjFmMjFlZjAwMmNlYmY4NTdiZGVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHg4NGFkMmU3YjNlOGQ1MWU1M2U5YzQwYmU4MGI4NmE3ZjllMjQ0ZDZhZTA5YjdkODMwNTViY2U3ZTIyZmEyM2U3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAiUHVyZSI6IHsKICAgICAgICAiYnl0ZXMiOiAiUUVJUEFBQUFBQUFBQUFBQUFBQUFBQT09IgogICAgICB9CiAgICB9LAogICAgewogICAgICAiUHVyZSI6IHsKICAgICAgICAiYnl0ZXMiOiAiZXgwQUFBQUFBQUE9IgogICAgICB9CiAgICB9LAogICAgewogICAgICAiUHVyZSI6IHsKICAgICAgICAiYnl0ZXMiOiAid2dBQUFBQUFBQUE9IgogICAgICB9CiAgICB9LAogICAgewogICAgICAiVW5yZXNvbHZlZE9iamVjdCI6IHsKICAgICAgICAib2JqZWN0SWQiOiAiMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IgogICAgICB9CiAgICB9CiAgXSwKICAiY29tbWFuZHMiOiBbCiAgICB7CiAgICAgICJNb3ZlQ2FsbCI6IHsKICAgICAgICAicGFja2FnZSI6ICIweDNhNWFhOTBmZmEzM2QwOTEwMGQ3YjY5NDFlYTFjMGZmZTZhYjY2ZTc3MDYyZGRkMjYzMjBjMWIwNzNhYWJiMTAiLAogICAgICAgICJtb2R1bGUiOiAicG9vbF9zY3JpcHRfdjIiLAogICAgICAgICJmdW5jdGlvbiI6ICJjb2xsZWN0X2ZlZSIsCiAgICAgICAgInR5cGVBcmd1bWVudHMiOiBbCiAgICAgICAgICAiMHgwNjg2NGE2ZjkyMTgwNDg2MDkzMGRiNmRkYmUyZTE2YWNkZjg1MDQ0OTVlYTc0ODE2MzdhMWM4YjlhOGZlNTRiOjpjZXR1czo6Q0VUVVMiLAogICAgICAgICAgIjB4Mjo6c3VpOjpTVUkiCiAgICAgICAgXSwKICAgICAgICAiYXJndW1lbnRzIjogWwogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAyCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAzCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiA0CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAwCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAxCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgewogICAgICAiTW92ZUNhbGwiOiB7CiAgICAgICAgInBhY2thZ2UiOiAiMHgzYTVhYTkwZmZhMzNkMDkxMDBkN2I2OTQxZWExYzBmZmU2YWI2NmU3NzA2MmRkZDI2MzIwYzFiMDczYWFiYjEwIiwKICAgICAgICAibW9kdWxlIjogInBvb2xfc2NyaXB0IiwKICAgICAgICAiZnVuY3Rpb24iOiAicmVtb3ZlX2xpcXVpZGl0eSIsCiAgICAgICAgInR5cGVBcmd1bWVudHMiOiBbCiAgICAgICAgICAiMHgwNjg2NGE2ZjkyMTgwNDg2MDkzMGRiNmRkYmUyZTE2YWNkZjg1MDQ0OTVlYTc0ODE2MzdhMWM4YjlhOGZlNTRiOjpjZXR1czo6Q0VUVVMiLAogICAgICAgICAgIjB4Mjo6c3VpOjpTVUkiCiAgICAgICAgXSwKICAgICAgICAiYXJndW1lbnRzIjogWwogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAyCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiAzCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiA0CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiA1CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiA2CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiA3CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiSW5wdXQiOiA4CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9CiAgICB9CiAgXQp9",
        "referenceId": "93de56efb848442fa2a43dc5faa22dcf"
    }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.expand.network/integrations/dex-and-dex-aggregators/cetus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
