---
title: "Returns subaccount balances for given subaccount"
method: GET
path: "/v1/subaccount/balance"
tags: ["Subaccount"]
---

# Returns subaccount balances for given subaccount

`GET /v1/subaccount/balance`

## Request

- Base URL: `https://api.ethereal.trade`
- URL: `https://api.ethereal.trade/v1/subaccount/balance`
- Auth: none declared
- TypeScript: <https://skmtc.dev/ethereal/apis/ethereal-exchange-api/docs/v1/subaccount/balance/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `order` 'asc' | 'desc'
- `limit` integer
- `cursor` string
- `subaccountId` string, uuid, required
- `orderBy` 'tokenName' | 'updatedAt' | 'amount'

## Response `200`

- PageOfSubaccountBalanceDtos
  - `data` SubaccountBalanceDto[], required: Array of order subaccount balances
    - `amount` string, decimal, required: Token balance in native units expressed as a decimal (precision: 9)
    - `available` string, decimal, required: Portion of balance transferrable in native units expressed as a decimal (precision: 9)
    - `subaccountId` string, uuid, required: Id representing the subaccount
    - `tokenAddress` string, hex, required: ERC20 deposited token address (non-checksummed, zero address if virtual)
    - `tokenId` string, uuid, required: Id representing the token
    - `tokenName` string, required: The unique exchange defined token name driven by addToken onchain
    - `totalUsed` string, decimal, required: Portion of balance non-transferrable in native units expressed as a decimal (precision: 9)
    - `updatedAt` integer, required: Token balance last updated timestamp (ms since Unix Epoch)
  - `hasNext` boolean, required: Whether there are more objects to paginate through
  - `nextCursor` string: Pointer to the next page in pagination dataset

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `413`: Payload Too Large
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

- **2026-08-25** `63e8937ff6f7`: 1 info
  - added the non-success response with the status `413`
- **2026-06-07** `dc14c1586dfa`: 13 info
  - the `error` response's property default value `Bad Request` was removed for the status `400`
  - the `error` response's property default value `Forbidden` was removed for the status `403`
  - the `error` response's property default value `Not Found` was removed for the status `404`
  - the `error` response's property default value `Too Many Requests` was removed for the status `429`
  - …9 more
- **2026-03-15** `b29881d08c78`: 1 breaking, 1 info
  - for the `query` request parameter `limit`, the type changed from `number` to `integer`
  - added the required property `type` to the response with the `429` status

[Operation history](https://skmtc.dev/ethereal/apis/ethereal-exchange-api/changes/v1/subaccount/balance/get.md)

---

[API](https://skmtc.dev/ethereal/apis/ethereal-exchange-api.md) - [All operations](https://skmtc.dev/ethereal/apis/ethereal-exchange-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ethereal/apis/ethereal-exchange-api/revisions/63e8937ff6f7?raw)
