# My Orders methods

### List of My Balances methods:

* [Order Query](#order-query-method) - used for one-time data get requests on active orders.
* [Order History](#order-history-method) -  used for one-time data get requests on orders history.
* [Order Subscribe](#order-subscribe-method) - used to subscribe to receive real-time updates on active orders (when orders are placed, canceled, executed, or changed).
* [Order Unsubscribe](#order-unsubscribe-method)  - used to unsubscribe from the [Order Subscribe](#order-subscribe-method) method.

### Order Query method

Used for one-time data get requests on active orders.

#### Method name

```javascript
order.query
```

#### Request "params" parameters

|                   Name                   |   Type  | Description                             | Example   |
| :--------------------------------------: | :-----: | --------------------------------------- | --------- |
| market<mark style="color:red;">\*</mark> |  STRING | Any public pair (use "" for all orders) | BTC\_USDT |
| offset<mark style="color:red;">\*</mark> | NUMERIC | Amount of first orders to skip          | 0         |
|  limit<mark style="color:red;">\*</mark> | NUMERIC | Amount of orders to show                | 2         |

#### Request example

```javascript
{
  "method":"order.query",
  "params":
    [
      "BTC_USDT", // market
      0,          // offset
      2          // limit
    ],
  "id":1
}
```

#### Response "result" parameters&#x20;

|     Name     | Type    |                                              Description                                              |
| :----------: | ------- | :---------------------------------------------------------------------------------------------------: |
| market\_name | STRING  |                                               Pair name                                               |
|    offset    | NUMERIC |                                     Amount of first orders to skip                                    |
|     limit    | NUMERIC |                                        Amount of orders to show                                       |
|     total    | NUMERIC |                                         Total number of orders                                        |
|      id      | NUMERIC |                                                Order ID                                               |
|    market    | STRING  |                                               Pair name                                               |
|     price    | STRING  |                                              Order price                                              |
|    amount    | STRING  |                                 Order amount (in first ticker of pair)                                |
|     left     | STRING  | Available order amount (in first ticker of pair) (if not traded = deal\_stock, if order finished = 0) |
|     user     | NUMERIC |                                                User ID                                                |
|   platform   | NUMERIC |                              0 = Limit / Market, 1 = Stop-limit, 2 = OCO                              |
|   algorithm  | NUMERIC |                                          Spot = 0, Margin = 1                                         |
|     type     | NUMERIC |                                         1 = Limit, 2 = Market                                         |
|     side     | NUMERIC |                                     1 = Sell (Ask),  2 = Buy (Bid)                                    |
|     ctime    | NUMERIC |                               Time of order creation (TimeStamp format)                               |
|     mtime    | NUMERIC |                                 Order matching time (TimeStamp format)                                |
|  taker\_fee  | STRING  |                                            Order tacker fee                                           |
|  maker\_fee  | STRING  |                                            Order maker fee                                            |
|  deal\_stock | STRING  |                                 Order amount (in first ticker of pair)                                |
|  deal\_money | STRING  |                                Order amount (in second ticker of pair)                                |
|    source    | STRING  |                                            Custom parameter                                           |

#### Response example

```javascript
{
    "id": 1,
    "params": [
        "BTC_USDT",
        0,
        2
    ],
    "result": {
        "market_name": "BTC_USDT",
        "offset": 0,
        "limit": 2,
        "total": 2,
        "records": [
            {
                "id": 19251962966,
                "market": "BTC_USDT",
                "price": "0.04",
                "amount": "50",
                "left": "50",
                "user": 28474250985,
                "platform": 0,
                "algorithm": 0,
                "type": 1,
                "side": 2,
                "ctime": 1.727431086915E9,
                "mtime": 0.0,
                "taker_fee": "0.0012",
                "maker_fee": "0.0012",
                "deal_stock": "0",
                "deal_money": "0",
                "source": ""
            },
            {
                "id": 19251932071,
                "market": "BTC_USDT",
                "price": "0.12",
                "amount": "50",
                "left": "50",
                "user": 28474250985,
                "platform": 0,
                "algorithm": 0,
                "type": 1,
                "side": 1,
                "ctime": 1.727430884088E9,
                "mtime": 0.0,
                "taker_fee": "0.0012",
                "maker_fee": "0.0012",
                "deal_stock": "0",
                "deal_money": "0",
                "source": ""
            }
        ]
    },
    "error": null
}
```

### Order History method

Used for one-time data get requests on orders history.

#### Method name

```javascript
order.history
```

#### Request "params" parameters

| Name                                          | Type    | Description                                                          | Example   |
| --------------------------------------------- | ------- | -------------------------------------------------------------------- | --------- |
| market<mark style="color:red;">\*</mark>      | STRING  | Any public pair (use "" for all orders)                              | BTC\_USDT |
| start\_time<mark style="color:red;">\*</mark> | NUMERIC | Order creation time (unlimited = 0; TimeStamp value for custom time) | 0         |
| end\_time<mark style="color:red;">\*</mark>   | INTEGER | Order finish time (unlimited = 0; TimeStamp value for custom time)   | 0         |
| offset<mark style="color:red;">\*</mark>      | INTEGER | Amount of orders to skip                                             | 0         |
| limit<mark style="color:red;">\*</mark>       | NUMERIC | Amount of orders to show                                             | 2         |

#### Request example 1

```javascript
{
  method: "order.history",
  params:
    [
      "BTC_USDT",
      0,
      0,
      0,
      2
    ],
  id: 2
}
```

#### Response "result" parameters&#x20;

| Name        | Type      | Description                                 |
| ----------- | --------- | ------------------------------------------- |
| offset      | NUMERIC   | Amount of first orders to skip              |
| limit       | NUMERIC   | Amount of orders to show                    |
| id          | INTEGER   | Order ID                                    |
| market      | STRING    | Pair name                                   |
| price       | STRING    | Order price                                 |
| amount      | NUMERIC   | Order amount (in first ticker of pair)      |
| type        | INTEGER   | 1 - =imit, 2 = Market                       |
| side        | INTEGER   | 1 = Sell (Ask), 2= Buy (Bid)                |
| platform    | INTEGER   | 0 = Limit / Market, 1 = Stop-limit; 2 = OCO |
| algorithm   | INTEGER   | Spot = 0, Margin = 1                        |
| ctime       | TIMESTAMP | Time of order creation (TimeStamp format)   |
| ftime       | INTEGER   | Order finish time (TimeStamp format)        |
| taker\_fee  | STRING    | Order taker fee                             |
| maker\_fee  | STRING    | Order maker fee                             |
| deal\_stock | STRING    | Order amount (in first ticker of pair)      |
| deal\_money | STRING    | Order amount (in second ticker of pair)     |

#### Response example 1

```javascript
{
    "id": 2,
    "params": [
        "BTC_USDT",
        0,
        0,
        0,
        2
    ],
    "result": {
        "offset": 0,
        "limit": 2,
        "records": [
            {
                "id": 19251960112,
                "market": "BTC_USDT",
                "price": "0.4",
                "amount": "40",
                "type": 1,
                "side": 2,
                "platform": 0,
                "algorithm": 0,
                "ctime": 1.727431067741E9,
                "ftime": 1.727431067745E9,
                "taker_fee": "0.0012",
                "maker_fee": "0.0012",
                "deal_stock": "40",
                "deal_money": "4.0996"
            },
            {
                "id": 19251929631,
                "market": "BTC_USDT",
                "price": "0.9",
                "amount": "10",
                "type": 1,
                "side": 2,
                "platform": 0,
                "algorithm": 0,
                "ctime": 1.727430866781E9,
                "ftime": 1.727430866784E9,
                "taker_fee": "0.0012",
                "maker_fee": "0.0012",
                "deal_stock": "10",
                "deal_money": "1.0249"
            }
        ]
    },
    "error": null
}
```

#### Request example 2

```javascript
{
  "method": "order.history",
  "params":
    [
      "",             // market
      1727122400,     // start_time
      1727408800,     // end_time
      0,              // offset 
      5               // limit
    ],
  "id": 2
}
```

#### Response example 2

```javascript
{
    "id": 2,
    "params": [
        "",
        1727122400,
        1727408800,
        0,
        5
    ],
    "result": {
        "offset": 0,
        "limit": 5,
        "records": [
            {
                "id": 19238735632,
                "market": "BTC_USDT",
                "price": "0",
                "amount": "100",
                "type": 2,
                "side": 1,
                "platform": 0,
                "algorithm": 0,
                "ctime": 1.727345283783E9,
                "ftime": 1.727345283786E9,
                "taker_fee": "0.0012",
                "maker_fee": "0",
                "deal_stock": "100",
                "deal_money": "9.9324"
            },
            {
                "id": 19238729911,
                "market": "BTC_USDT",
                "price": "0",
                "amount": "10",
                "type": 2,
                "side": 2,
                "platform": 0,
                "algorithm": 0,
                "ctime": 1.727345249433E9,
                "ftime": 1.727345249439E9,
                "taker_fee": "0.0012",
                "maker_fee": "0",
                "deal_stock": "100",
                "deal_money": "10"
            }
        ]
    },
    "error": null
}
```

### Order Subscribe method

Used to subscribe to receive real-time updates on active orders.

#### Method

```javascript
order.subscribe
```

#### Request "params" parameters

| Name                                     | Type   | Description                             |
| ---------------------------------------- | ------ | --------------------------------------- |
| market<mark style="color:red;">\*</mark> | STRING | Any public pair (use "" for all orders) |

#### Request example

```javascript
{
  "method":"order.subscribe",
  "params":
    [
      "BTC_USDT"  //market
    ],
  "id":3
}
```

#### Response example (successfully subscribed)

```javascript
{
    "id": 3,
    "params": [],
    "result": {
        "status": "success"
    },
    "error": null
}
```

#### Response "result" parameters ("order.update", when orders are placed, canceled, executed, or changed)

| Name        | Type      | Description                                                                |
| ----------- | --------- | -------------------------------------------------------------------------- |
| id          | INTEGER   | Order ID                                                                   |
| market      | STRING    | Pair name                                                                  |
| price       | STRING    | Order price                                                                |
| amount      | NUMERIC   | Order amount (in first ticker of pair)                                     |
| left        | STRING    | Available order amount (if not traded= deal\_stock; if order finished = 0) |
| user        | INTEGER   | User ID                                                                    |
| platform    | INTEGER   | 0 = Limit / Market, 1 = Stop-limit, 2 = OCO                                |
| algorithm   | INTEGER   | Spot = 0, Margin= 1                                                        |
| type        | INTEGER   | 1 = Limit, 2 = Market                                                      |
| side        | INTEGER   | 1 = Sell (Ask), 2= Buy (Bid)                                               |
| ctime       | TIMESTAMP | Time of order creation (TimeStamp format)                                  |
| mtime       | INTEGER   | Order matching time (TimeStamp format)                                     |
| deal\_fee   | STRING    | User fee coefficient                                                       |
| taker\_fee  | STRING    | Order taker fee                                                            |
| maker\_fee  | STRING    | Order maker fee                                                            |
| deal\_money | STRING    | Order amount (in second ticker of pair)                                    |
| deal\_stock | STRING    | Order amount (in first ticker of pair)                                     |
| source      | STRING    | Custom parameter                                                           |

#### Response example ("order.update", when orders are placed, canceled, executed, or changed)

```javascript
{
    "id": null,
    "method": "order.update",
    "params": [
        1,
        {
            "id": 19252619577,
            "market": "BTC_USDT",
            "price": "0.04000000",
            "amount": "40.00000000",
            "left": "40.00000000",
            "user": 28474250985,
            "platform": 0,
            "algorithm": 0,
            "type": 1,
            "side": 2,
            "ctime": 1.727435273489E9,
            "mtime": 1.727435273489E9,
            "deal_fee": "0",
            "taker_fee": "0.00120000",
            "maker_fee": "0.00120000",
            "deal_stock": "0",
            "deal_money": "0",
            "source": ""
        }
    ]
}
```

### Order Unsubscribe method

&#x20;Used to unsubscribe from the [Order Subscribe](#order-subscribe-method) method.

#### Method

```javascript
order.unsubscribe
```

#### Request example&#x20;

```javascript
{
  "method":"order.unsubscribe",
  "params":[],
  "id":4
}
```

#### Response example (successfully unsubscribed)

```javascript
{
    "id": 4,
    "params": [],
    "result": {
        "status": "success"
    },
    "error": null
}
```


---

# 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://earnbit.gitbook.io/earnbit/developers/exchange-api-documentation/private-methods-or-websoket/my-orders-methods.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.
