Returns Trading currency distribution across DMA accounts or RapidX Portfolios.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Returns the detailed Trading Asset View: each returned currency is broken down across accessible DMA accounts or RapidX Portfolios, and then into the relevant wallet or venue detail.
Use this endpoint when a user needs to reconcile or display where a Trading currency is held. It is the allocation counterpart to Get Trading Asset Summary, which returns only one aggregate row per currency.
Rate limit: 10 requests per minute per API key.
API key access
This is a read-only LTP Open API endpoint. READ permission is sufficient; TRADE, TRANSFER and WITHDRAW are not required.
| API key type | Can call | Returned Trading scope |
|---|---|---|
| Main User Level API key | Yes | Currency allocation across DMA accounts and RapidX Portfolios accessible under the main user. |
| Sub-user Level API key | Yes | Currency allocation across only the DMA accounts and RapidX Sub Portfolios assigned to that Sub-user. |
| Portfolio Level API key (a dedicated RapidX Sub Portfolio key) | No | This user-level asset service does not support Portfolio-scoped API keys. |
| Exchange-native API key | No | This endpoint accepts signed LTP Open API keys only. |
An unsupported API key level is rejected before asset data is read, normally with 2003. The required primeType selects the account family within the caller's permitted scope; it never expands that scope.
The literal word currency in the endpoint path is part of the route name, not a path parameter. Use the currency query parameter when filtering a currency symbol.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
primeType | string | Yes | Account family to distribute: DMA or RAPIDX. Input is case-insensitive. It is required because the response hierarchy and account semantics differ between the two families. |
currency | string | No | Optional exact currency-symbol filter, such as USDT. Omit it to return every currency in the selected account family. |
quoteCurrency | string | No | Currency used to value all returned currency, account and detail rows. Accepts USD, BTC or USDT; defaults to USD. |
hideDust | boolean | No | Defaults to true. It can remove low-value detail rows while retaining a currency or account aggregate. Therefore details can legitimately be an empty array; do not treat it as an error. |
page | integer | No | One-based page number for the outer currency list. Defaults to 1. Values less than or equal to zero use the default; a non-integer returns 1000. |
pageSize | integer | No | Maximum currencies per page. Defaults to 20; values less than or equal to zero use the default; maximum is 1000. A value above 1000 returns 100400; a non-integer returns 1000. |
Response structure
data has page, pageSize, totalSize and list. Pagination applies to the outer currency list only. Amounts are decimal strings; identifiers are opaque strings. The hierarchy is:
currency (data.list[])
└── account or Portfolio (list[])
└── wallet or venue detail (details[])Top-level response fields
| Field | Type | Description |
|---|---|---|
code | integer | Application result code. 200 means success. |
message | string | Result message. |
data.page | integer | Page number used for the outer currency list. |
data.pageSize | integer | Page size used for the outer currency list. |
data.totalSize | integer | Count of matching currency rows. When the requested page is beyond the available range, this endpoint returns 0 together with an empty list. |
data.list | array | Current page of currency distribution rows. An out-of-range page returns [] and totalSize = 0. |
Currency level
Each data.list[] item is the aggregate of one currency across the selected primeType.
| Field | Type | Description |
|---|---|---|
currency | string | LTP currency symbol. |
currencyDetails | object | Currency reference metadata. See Currency metadata below. |
totalValue | string | Value of this aggregate currency in quoteCurrency. |
quoteCurrency | string | Valuation currency for this currency row. |
exchangeRate | string | USD value of one unit of quoteCurrency; "1" for USD. |
updatedAt | integer | Currency snapshot time as a Unix timestamp in milliseconds. |
equity | string | Aggregate equity. This field appears only at the currency level. |
balance | string | Aggregate balance across all nested account rows. |
available | string | Sum of quantities available for operations within the underlying accounts, in units of the currency. It does not necessarily equal the total transferable or withdrawable quantity. |
frozen | string | Aggregate amount reserved or temporarily unavailable. |
borrowed | string | Aggregate borrowed amount when applicable. |
unrealizedPnl | string | Aggregate unrealized profit and loss when applicable. |
interest | string | Aggregate accrued interest when applicable. |
list | array | Account/Portfolio allocation rows for this one currency. |
Account or Portfolio level
Each nested list[] entry allocates the top-level currency to one account/Portfolio.
| Field | Type | Description |
|---|---|---|
id | string | Opaque DMA account ID or RapidX Portfolio ID. |
primeType | string | dma or rapidx. |
venue | string | DMA exchange venue, for example BINANCE. It is empty at this layer for RapidX. |
accountNote | string | DMA account note or RapidX Portfolio note; empty string when unset. |
accountName | string | RapidX Portfolio name; empty string for DMA. |
totalValue | string | Value of this currency in the one account/Portfolio. |
balance | string | Balance of this currency in the account/Portfolio. |
available | string | Quantity available for operations within the current account, in units of the currency. It does not necessarily equal the transferable or withdrawable quantity. |
frozen | string | Reserved or unavailable amount. |
borrowed | string | Borrowed amount when applicable. |
unrealizedPnl | string | Unrealized profit and loss when applicable. |
interest | string | Accrued interest when applicable. |
details | array | Wallet/venue detail rows. It can be empty when hideDust hides the lower-level rows. |
Wallet or venue detail
Each details[] item contains only the fields below. Account identity, name and note are provided by the parent account/Portfolio row.
| Field | Type | Description |
|---|---|---|
accountType | string | For DMA, the wallet type, such as SPOT or FUNDING. For RapidX, the exchange: BINANCE, OKX or EDX. |
totalValue | string | Value of this currency in the wallet or exchange, in the currency row's quoteCurrency. |
balance | string | Balance in this wallet or exchange. |
available | string | Quantity available for operations within the current account, in units of the currency. It does not necessarily equal the transferable or withdrawable quantity. |
frozen | string | Reserved or temporarily unavailable amount. |
borrowed | string | Borrowed amount, when applicable. |
unrealizedPnl | string | Unrealized profit and loss, when applicable. |
interest | string | Accrued interest, when applicable. |
equity appears only at the currency level. The detail rows do not repeat id, primeType, venue, accountName or accountNote.
Currency metadata
Field in currencyDetails | Type | Description |
|---|---|---|
id | integer | Currency identifier in the LTP reference catalogue. |
iconUrl | string | Currency icon URL. |
currencyName | string | Full display name of the currency. |
slug | string | Currency slug. |
referenceAssetId | integer | Identifier of the reference asset associated with this currency; 0 if not configured. |
multiplier | integer | Conversion multiplier between this currency and its reference asset; 0 if not configured. |
Important interpretation rules
- The account-level and detail-level rows are drill-downs of the top-level currency. Never add all three hierarchy levels together.
- For DMA, the account layer identifies an exchange and the final layer identifies a wallet. For RapidX, the Portfolio layer has no single venue and the final layer identifies the exchange.
- A successful result can contain a currency row with
details = []when dust filtering removes the detail rows. This is not a missing-data error. - Use this endpoint for currency allocation. Use the Trading Account List or Trading Account Assets endpoint for an individual account total.
Available versus transferable amounts
available is the quantity usable for operations within the current account, such as placing spot orders. It does not necessarily equal the quantity that can be transferred out or withdrawn. The quantities may be equal in Funding, spot or unified accounts. For example, a unified account without open positions, open orders or other collateral requirements may have equal available and transferable quantities. Positions, open orders and collateral requirements can cause them to differ; the account mode alone does not determine whether they are equal. Aggregated available should not be assumed to equal the total transferable amount.
- DMA sub-accounts: query the exchange's native API for the transferable amount of the relevant asset and wallet, particularly for portfolio-margin and multi-currency margin accounts.
- RapidX Portfolios: use
maxTransferablefrom Get Portfolio Asset Details, matching the asset and exchange. The API key selects the Portfolio: a Main User Level key queries the Main Portfolio; a dedicated Sub Portfolio key queries its own Portfolio. Sub-user Level keys cannot call that endpoint.
Get All Portfolio Assets also returns maxTransferable for a cross-Portfolio view and requires a Main User Level API key. These RapidX endpoints remain supported alongside Account Assets V2.
The transferable amount is determined at query time; the transfer request is checked again when processed.
Relevant errors
| Code | When it occurs | What to do |
|---|---|---|
1001 | Required primeType is missing. | Send DMA or RAPIDX. |
1000 | page or pageSize cannot be parsed as an integer. | Send integer query values. |
100400 | pageSize is above 1000. | Use a page size from 1 to 1000. |
404001 | quoteCurrency is not supported. | Use USD, BTC or USDT. |
404002 | primeType is invalid. | Use DMA or RAPIDX. |
100429 | The API key exceeds the rate limit. | Back off before retrying. |
