# Orders ## Rate limits * IP weight = `2 + (limit * subaccounts.length / 20)` where `limit` defaults to 100 (max 500) and `subaccounts.length` defaults to 1 {% hint style="info" %} See more details in [API Rate limits](https://docs.nado.xyz/developer-resources/api/rate-limits) {% endhint %} ## Request {% tabs %} {% tab title="Subaccount orders" %} Query subaccounts `matched` orders, ordered by `submission index` desc. `POST [ARCHIVE_ENDPOINT]` **Body** ```json { "orders": { "product_ids": [ 1, 2 ], "subaccounts": [ "0x12a0b4888021576eb10a67616dd3dd3d9ce206b664656661756c740000000000" ], "max_time": 1679728762, "trigger_types": [ "price_trigger", "time_trigger" ], "isolated": false, "limit": 5 } } ``` {% endtab %} {% tab title="Orders by digests" %} Query orders by digests. `POST [ARCHIVE_ENDPOINT]` **Body**
{
"orders": {
"digests": [
"0xf4f7a8767faf0c7f72251a1f9e5da590f708fd9842bf8fcdeacbaa0237958fff",
"0x0495a88fb3b1c9bed9b643b8e264a391d04cdd48890d81cd7c4006473f28e361"
]
}
}
{% endtab %}
{% endtabs %}
## Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| subaccounts | string[] | conditional | Array of bytes32 sent as hex strings; each includes the address and the subaccount identifier. Must be provided when querying by subaccounts. |
| product_ids | number[] | No | When provided, only return orders for the specified product ids; return orders for all products otherwise. |
| idx | number / string | No | When provided, only return orders with submission_idx <= idx |
| max_time | number / string | No | When idx is not provided, max_time (unix epoch in seconds) can be used to only return orders created <= max_time |
| digests | string[] | conditional | Must be provided when querying by digests. only return orders matching the specified digests. note: cannot specify digests alongside with subaccounts , product_ids or max_time |
| trigger_types | string[] | No | When provided, only return orders matching the specified trigger types. Possible values: price_trigger, time_trigger, none. If not provided, returns orders of all trigger types. |
| limit | number | No | Max number of orders to return. defaults to 100. max possible of 500. note: when querying by digests limit must be <= total digests provided |
| isolated | bool | No | When provided --
defaults to See Isolated Margin to learn more. |
| Field name | Description |
|---|---|
| digest | The unique hash of the order. |
| subaccount | The subaccount that placed the order. |
| product_id | The id of of the product the order was executed for. |
| submission_idx | Used to uniquely identify the blockchain transaction that generated the order. For multi-fills orders, this is the submission_idx of the first fill. |
| last_fill_submission_idx | For multi-fills orders, this is the submission_idx of the last fill. For single fill orders, it has the same value as submission_idx. |
| amount | The original amount of base to buy or sell. |
| price_x18 | The original order price. |
| base_filled | The total amount of base (e.g: BTC) filled on this order. |
| quote_filled | The total amount of quote (e.g: USDT0) filled on this order. |
| fee | The total amount of fee paid on this order. |
| expiration | The original order expiration. |
| nonce | The original order nonce. |
| appendix | The original order appendix. |