Returns the asset detail for one DMA account or RapidX Portfolio.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Returns the asset detail for one Trading object selected from Get Trading Account List. The selected id can identify either a DMA exchange sub-account or a RapidX Portfolio.
This is an Account View drill-down. It first divides the selected object into account slices and then lists currencies held inside each slice. Trading data does not include a network/chain dimension.
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 | Permitted id |
|---|---|---|
| Main User Level API key | Yes | A DMA account or RapidX Portfolio accessible under the main user. |
| Sub-user Level API key | Yes | Only a DMA account or RapidX Sub Portfolio 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. |
For a valid User Level key, a missing, malformed, inaccessible or non-existent id intentionally returns the same 404004 result. An unsupported API key level is rejected earlier, normally with 2003.
How the two levels differ
The meaning of accountType depends on primeType:
primeType | Outer accountType represents | Examples |
|---|---|---|
dma | A wallet or account type inside one DMA exchange sub-account | SPOT, FUNDING, MARGIN_CROSS |
rapidx | An exchange venue inside one RapidX Portfolio | BINANCE, OKX, EDX |
Use the outer list to show wallet/venue subtotals and the nested currency list to show holdings within each wallet or venue.
Path and query parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | DMA account ID or RapidX Portfolio ID taken from the Trading Account List. Treat it as an opaque string; it is not interchangeable with a user ID. |
quoteCurrency | string | No | Currency used to value the selected account and all slices within it. Accepts USD, BTC or USDT; defaults to USD. |
accountType | string | No | Optional one-slice filter. For DMA, provide a wallet type such as SPOT; for RapidX, provide a venue such as BINANCE. Omit it to return every slice. |
currency | string | No | Optional currency-symbol filter. Omit it to return all currencies in every returned slice. |
hideDust | boolean | No | Defaults to true. When true, currencies valued below 1 USD are hidden. Set false for a reconciliation that must include low-value holdings. |
Response fields
data contains id, totalValue, quoteCurrency, exchangeRate, updatedAt and list. All amounts are decimal strings, and all identifiers must be preserved as strings.
| Field | Type | Description |
|---|---|---|
code | integer | Application result code. 200 means success. |
message | string | Result message. |
data.id | string | The requested account/Portfolio identifier. |
data.totalValue | string | Value of the selected account/Portfolio in data.quoteCurrency. |
data.quoteCurrency | string | Valuation currency used in the entire payload. |
data.exchangeRate | string | USD value of one unit of data.quoteCurrency; "1" for USD. |
data.updatedAt | integer | Asset snapshot time as a Unix timestamp in milliseconds. |
data.list | array | Outer wallet/venue slices. An empty array is a successful result when the account has no matching asset rows. |
Each outer data.list[] item is an account slice:
| Field | Type | Description |
|---|---|---|
accountType | string | DMA wallet type or RapidX venue, as described above. This is the dimension that separates outer slices. |
totalValue | string | Valuation of the one wallet/venue slice in quoteCurrency. |
primeType | string | Account family: dma or rapidx. |
quoteCurrency | string | Valuation currency for this slice. |
id | string | ID of the selected DMA account or RapidX Portfolio. |
venue | string | Exchange venue. For DMA, this identifies the exchange containing the wallet. For RapidX, it equals accountType: BINANCE, OKX or EDX. |
accountMode | string | DMA account mode when supplied; normally empty for RapidX. |
accountNote | string | DMA account note or RapidX Portfolio note. Empty string when no note is set. |
accountName | string | RapidX Portfolio name. Empty string for DMA, where no account name is exposed. |
uid | string | UID of the user to whom the DMA sub-account or RapidX Sub Portfolio is assigned. If assigned to a Sub-user, returns that Sub-user's UID; otherwise returns the main user's UID. This reflects the account assignment, not the API caller. |
ownerPrimaryUserUid | string | Always the main user's UID, regardless of whether the account or Sub Portfolio is assigned to a Sub-user. |
status | string | DMA: ACTIVE or FROZEN. RapidX Portfolio: ACTIVE, FROZEN or UNAVAILABLE. |
portfolioType | string | RapidX Portfolio: MAIN or SUB. Empty string for DMA. |
isLendingPortfolio | boolean | Whether a RapidX Portfolio is marked as a lending Portfolio. |
isMarginxGroupMember | boolean | Whether the DMA account or RapidX Portfolio is a MarginX Group member. |
isMirroredAccount | boolean | Whether the account is marked as mirrored. |
isTradeOnly | boolean | Whether the account is marked as trade-only. |
isExternal | boolean | Whether the account is marked as external. |
list | array | Currency holdings inside this particular wallet/venue slice. |
Each nested currency item contains:
| Field | Type | Description |
|---|---|---|
currency | string | LTP currency symbol. |
currencyDetails | object | Currency reference metadata. See Currency metadata below. |
equity | string | Trading equity for this currency in this slice. |
balance | string | Currency balance in this slice. |
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 | Amount temporarily reserved, for example by an order or other hold. |
borrowed | string | Borrowed amount for this currency when applicable. |
unrealizedPnl | string | Unrealized profit and loss for this currency when applicable. |
interest | string | Accrued interest for this currency when applicable. |
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. |
Interpretation notes
availabledescribes account-internal usability; it should not be assumed to equal the maximum transfer or withdrawal amount.- DMA wallet types vary by venue and account configuration.
- A missing, inaccessible or unowned account returns the same error code.
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 |
|---|---|---|
404001 | quoteCurrency is not supported. | Use USD, BTC or USDT. |
404004 | The id is missing, malformed, does not exist, or is not accessible to this API key. | Use an id returned by the caller's Trading Account List. These cases intentionally share one code, so do not attempt to infer which one applies. |
100429 | The API key exceeds the rate limit. | Back off before retrying. |
