# API

{% hint style="info" %}
View Github examples for [Backend](https://github.com/openocean-finance/OpenOcean-API-Examples/tree/main/backend/limit-order-api-demo) and [Frontend](https://github.com/openocean-finance/OpenOcean-API-Examples/tree/main/backend/swap-api-demo).\
Check out the current supported chains [here](https://apis.openocean.finance/developer/apis/supported-chains#limit-order-api-supported-chains).
{% endhint %}

### API Reference

Create limit order

## Create the limit order

<mark style="color:green;">`POST`</mark> `https://open-api.openocean.finance/v2/:chainId/limit-order`

#### Path Parameters

| Name                                      | Type   | Description            |
| ----------------------------------------- | ------ | ---------------------- |
| chainId<mark style="color:red;">\*</mark> | Number | 1,  56, 146,8453,80094 |

#### Request Body

| Name                                          | Type              | Description                                                                                                                                                                                                                                                                                                   |
| --------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| takerAsset<mark style="color:red;">\*</mark>  | String            | token address                                                                                                                                                                                                                                                                                                 |
| makerAsset<mark style="color:red;">\*</mark>  | String            | token address                                                                                                                                                                                                                                                                                                 |
| expireTime<mark style="color:red;">\*</mark>  | String            | limit order expire time(ms)                                                                                                                                                                                                                                                                                   |
| orderMaker<mark style="color:red;">\*</mark>  | String            | wallet address                                                                                                                                                                                                                                                                                                |
| signature<mark style="color:red;">\*</mark>   | String            | wallet.signMessage(message)                                                                                                                                                                                                                                                                                   |
| takerAmount<mark style="color:red;">\*</mark> | String            | amount with decimals                                                                                                                                                                                                                                                                                          |
| makerAmount<mark style="color:red;">\*</mark> | String            | amount with decimals                                                                                                                                                                                                                                                                                          |
| referrer                                      | string (Optional) | <p>An EOA wallet address used to identify partners and optionally receive a fee from users.<br>If no fee is set up, it serves purely as a tracking tool to help our dev team provide better support and insights.</p>                                                                                         |
| referrerFee                                   | number (Optional) | <p>Specify the percentage of in-token you wish to receive from the transaction, within the range of 0% to 5%, with 1% represented as '1', in the range of 0.01 to 5.</p><p>e.g. 1.2% fee set as 1.2</p><p>By default, OpenOcean shares 20% of the fee. Please contact us if you wish to modify this rate.</p> |
| enabledDexIds                                 | string (Optional) | Enter the 'index' number of dexs through dexList. P.S. enableDexIds has higher priority compared with disabledDexIds                                                                                                                                                                                          |
| disabledDexIds                                | string (Optional) | Enter the 'index' number of dexs through dexList endpoint to disable single or multiple dexs separated by commas, e.g. disabledDexIds: "2,6,9".                                                                                                                                                               |

{% tabs %}
{% tab title="200: OK <https://open-api.openocean.finance/v1/56/limit-order>" %}

```javascript
{
"code": 200,
}
```

{% endtab %}
{% endtabs %}

## Cancel limit order

<mark style="color:green;">`POST`</mark> `https://open-api.openocean.finance/v2/:chainId/limit-order/cancelLimitOrder`

#### Path Parameters

| Name                                      | Type   | Description            |
| ----------------------------------------- | ------ | ---------------------- |
| chainId<mark style="color:red;">\*</mark> | Number | 1,  56，146，8453, 80094 |

#### Request Body

| Name                                        | Type   | Description         |
| ------------------------------------------- | ------ | ------------------- |
| orderHash<mark style="color:red;">\*</mark> | String | from response       |
| signature                                   | String | signature orderHash |

{% tabs %}
{% tab title="200: OK <https://open-api.openocean.finance/v1/56/limit-order/cancelLimitOrder>" %}

```javascript
{
"code": 200
}
```

{% endtab %}
{% endtabs %}

## Get limit order by address

<mark style="color:blue;">`GET`</mark> `https://open-api.openocean.finance/v2/:chainId/limit-order/address/:address`

#### Path Parameters

| Name                                      | Type   | Description            |
| ----------------------------------------- | ------ | ---------------------- |
| chainId<mark style="color:red;">\*</mark> | number | 1,  56，146，8453, 80094 |
| address<mark style="color:red;">\*</mark> | String | user's wallet address  |

#### Query Parameters

| Name     | Type   | Description                                                                                |
| -------- | ------ | ------------------------------------------------------------------------------------------ |
| statuses | String | eg: \[1,2,3], 1-unfill, 2-fail, 3-cancel, 4-filled, 5-pending, 6- hash not exist, 7-expire |
| limit    | number | limit count                                                                                |

{% tabs %}
{% tab title="200: OK <https://open-api.openocean.finance/v1/56/limit-order/address/0x9962962567200A590686Da7eb29933dB6711f0f2?statuses=[1,2,3]&limit=1>" %}

```javascript
{
    "code": 200,
    "data": [
        {
            "chainId": 8453
            "makerAmount": "500000000000000000000",
            "takerAmount": "2702702702702",
            "signature": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041661329add47ed0f9433375d8be1e1f4ec1ade1d39a77f88d92ccbed712e88c0b64f7f0bbcfd42e4eb62642351c5cb19599e0517d73e4dfb2850241e3d5e3be741c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
            "orderHash": "0x3340338ac83a194cd6d2e7093d4e33c52357fc63cd52405cb0c6d9e512a508a5",
            "createDateTime": "2022-10-18T14:21:35.000Z",
            "orderMaker": "0x0000000000000000000000000000000000000001",
            "remainingMakerAmount": "500000000000000000000",
            "expireTime": "2022-10-19T14:21:36.000Z",
            "statuses": 1,
            "data": {
                "makerAsset": "0xe9e7cea3dedca5984780bafc599bd69add087d56",
                "makerAssetSymbol": "BUSD",
                "makerAssetDecimals": 18,
                "makerAssetIcon": "https://ethapi.openocean.finance/logos/bsc/0xe9e7cea3dedca5984780bafc599bd69add087d56.png",
                "takerAsset": "0x156ab3346823b651294766e23e6cf87254d68962",
                "takerAssetSymbol": "LUNA",
                "takerAssetDecimals": 6,
                "takerAssetIcon": "https://ethapi.openocean.finance/logos/bsc/0x9029fdfae9a03135846381c7ce16595c3554e10a1.png",
                "getMakerAmount": "0xf4a215c300000000000000000000000000000000000000000000001b1ae4d6e2ef5000000000000000000000000000000000000000000000000000000000027545a2706e",
                "getTakerAmount": "0x296637bf00000000000000000000000000000000000000000000001b1ae4d6e2ef5000000000000000000000000000000000000000000000000000000000027545a2706e",
                "makerAssetData": "0x",
                "takerAssetData": "0x",
                "salt": "762950589674",
                "permit": "0x",
                "predicate": "0x961d5b1e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a8a0213bb2ce671e457ec14d08eb9d40e6333e2d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002463592c2b00000000000000000000000000000000000000000000000000000000635007eb00000000000000000000000000000000000000000000000000000000",
                "interaction": "0x",
                "makingAmount": "500000000000000000000",
                "takingAmount": "2702702702702",
                "maker": "0x0000000000000000000000000000000000000001",
                "receiver": "0x0000000000000000000000000000000000000000",
                "allowedSender": "0x0000000000000000000000000000000000000000"
            },
            "makerRate": null,
            "takerRate": null,
            "referrer": "",
            "referrerFee": "0"
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Get all chain limit order by address

<mark style="color:blue;">`GET`</mark> `https://open-api.openocean.finance/v2/limit-order/address/:address`

#### Path Parameters

| Name                                      | Type   | Description           |
| ----------------------------------------- | ------ | --------------------- |
| address<mark style="color:red;">\*</mark> | String | user's wallet address |

#### Query Parameters

| Name     | Type   | Description                                                                                |
| -------- | ------ | ------------------------------------------------------------------------------------------ |
| statuses | String | eg: \[1,2,3], 1-unfill, 2-fail, 3-cancel, 4-filled, 5-pending, 6- hash not exist, 7-expire |
| limit    | number | limit count                                                                                |

{% tabs %}
{% tab title="200: OK <https://open-api.openocean.finance/v1/56/limit-order/address/0x9962962567200A590686Da7eb29933dB6711f0f2?statuses=[1,2,3]&limit=1>" %}

```javascript
{
    "code": 200,
    "data": [
        {
            "chainId": 8453,
            "makerAmount": "500000000000000000000",
            "takerAmount": "2702702702702",
            "signature": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041661329add47ed0f9433375d8be1e1f4ec1ade1d39a77f88d92ccbed712e88c0b64f7f0bbcfd42e4eb62642351c5cb19599e0517d73e4dfb2850241e3d5e3be741c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000",
            "orderHash": "0x3340338ac83a194cd6d2e7093d4e33c52357fc63cd52405cb0c6d9e512a508a5",
            "createDateTime": "2022-10-18T14:21:35.000Z",
            "orderMaker": "0x0000000000000000000000000000000000000001",
            "remainingMakerAmount": "500000000000000000000",
            "expireTime": "2022-10-19T14:21:36.000Z",
            "statuses": 1,
            "data": {
                "makerAsset": "0xe9e7cea3dedca5984780bafc599bd69add087d56",
                "makerAssetSymbol": "BUSD",
                "makerAssetDecimals": 18,
                "makerAssetIcon": "https://ethapi.openocean.finance/logos/bsc/0xe9e7cea3dedca5984780bafc599bd69add087d56.png",
                "takerAsset": "0x156ab3346823b651294766e23e6cf87254d68962",
                "takerAssetSymbol": "LUNA",
                "takerAssetDecimals": 6,
                "takerAssetIcon": "https://ethapi.openocean.finance/logos/bsc/0x9029fdfae9a03135846381c7ce16595c3554e10a1.png",
                "getMakerAmount": "0xf4a215c300000000000000000000000000000000000000000000001b1ae4d6e2ef5000000000000000000000000000000000000000000000000000000000027545a2706e",
                "getTakerAmount": "0x296637bf00000000000000000000000000000000000000000000001b1ae4d6e2ef5000000000000000000000000000000000000000000000000000000000027545a2706e",
                "makerAssetData": "0x",
                "takerAssetData": "0x",
                "salt": "762950589674",
                "permit": "0x",
                "predicate": "0x961d5b1e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a8a0213bb2ce671e457ec14d08eb9d40e6333e2d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002463592c2b00000000000000000000000000000000000000000000000000000000635007eb00000000000000000000000000000000000000000000000000000000",
                "interaction": "0x",
                "makingAmount": "500000000000000000000",
                "takingAmount": "2702702702702",
                "maker": "0x0000000000000000000000000000000000000001",
                "receiver": "0x0000000000000000000000000000000000000000",
                "allowedSender": "0x0000000000000000000000000000000000000000"
            },
            "makerRate": null,
            "takerRate": null,
            "referrer": "",
            "referrerFee": "0"
        }
    ]
}
```

{% endtab %}
{% endtabs %}
