# An Asset's Trading Limits

> Coming soon, upon request — this feature is turned on for your tenant by the Aurea team. [Contact us](https://www.aureahub.com/contact)

The limits an order of an asset meets now: the market's, and your tenant's own.

## Overview

- `trading` is the market's, for your tenant now: the largest order in tokens (`maxTokenAmount`) and in US dollars (`maxValueUsd`), and how many binding quotes may still be given (`remainingQuotes`). `tradingOpen` says whether the asset trades now; when not, `reason` is a `TOKENIZED_ASSETS_…` code.
- `tenant` holds your tenant's limits (`null`: none) — per order (`maxOrderUsd`), per order of this asset (`assetMaxOrderUsd`), per user over 24 hours (`maxUserDailyUsd`) — with what the user used of the last one (`usedLast24hUsd`: open and executed binding quotes, orders and secondary-market quotes) and what is left (`remainingDailyUsd`).
- `maxOrderUsd` at the top is the largest order in US dollars that fits them all now; the token limit and `tradingOpen` are apart. Values are US dollars, as decimal strings.
- For the assets traded with quotes, on chain `1` or `56` (`chainId must be 1 or 56` otherwise, `422`). No eligibility needed. User token and the tenant signature ([Calling the Routes](https://docs.aureahub.com/docs/guide-tokenized-assets.md)); every tenant role may call it.

## Errors

Besides [the answers every tokenized assets route can give](https://docs.aureahub.com/docs/guide-tokenized-assets.md) (no valid token or signature, the module not set up or not switched on, a field that does not fit):

| Status | details.code | When |
| --- | --- | --- |
| 404 | TOKENIZED_ASSETS_ASSET_NOT_OFFERED | Your tenant does not offer this symbol in this environment (`This tenant does not offer this asset.`). |
| 409 | TOKENIZED_ASSETS_NOT_SUPPORTED_FOR_ASSET | An asset the issuer issues and redeems directly, not traded with quotes (`Quotes are not available for this asset yet.`). |
| 409 | TOKENIZED_ASSETS_MULTIPLIER_UPDATE | Such an asset within its multiplier's adjustment window (`details.until`). |
| 400 | TOKENIZED_ASSETS_QUOTE_NOT_SUPPORTED | The settlement token or the yield token: not traded with quotes (`This asset is not traded with quotes.`). |
| 400 | TOKENIZED_ASSETS_CHAIN_UNSUPPORTED | The asset has no token on `chainId` (`This asset has no token on this chain.`). |
| 503 | TOKENIZED_ASSETS_PROVIDER_… | The market could not be read or answered unexpectedly ([Provider Errors](https://docs.aureahub.com/docs/guide-tokenized-assets.md)); `TOKENIZED_ASSETS_PROVIDER_READ_ONLY_KEY` when your tenant's provider access can read but not quote (`Binding quotes are not available for this tenant at the moment.`). |

## Endpoint

### `GET /v1/tokenized-assets/assets/{symbol}/limits`

Authentication: bearer token required.

The limits an order of the asset meets now.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `symbol` | string | yes | The token's symbol, as its contract names it (case matters). Pattern `^[A-Za-z0-9.-]{1,32}$`. |

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `isTestnet` | string | no | `true`: the test environment; `false` (the default): production. |
| `side` | string | yes | One of `buy`, `sell`. |
| `chainId` | integer | yes | The chain: 1 or 56. |

**Responses**

`200` OK

```json
{
  "isTestnet": false,
  "symbol": "AAPLon",
  "side": "buy",
  "chainId": 1,
  "tradingOpen": true,
  "reason": null,
  "trading": {
    "maxTokenAmount": "2000",
    "maxValueUsd": "500000",
    "remainingQuotes": 48
  },
  "tenant": {
    "maxOrderUsd": "10000",
    "assetMaxOrderUsd": "5000",
    "maxUserDailyUsd": "25000",
    "usedLast24hUsd": "1346.68",
    "remainingDailyUsd": "23653.32"
  },
  "maxOrderUsd": "5000"
}
```

[Contact us for details](https://www.aureahub.com/contact).

---

Web version: https://docs.aureahub.com/#tok-limits
