---
title: "Get All Account Balances"
method: POST
path: "/account/all-balances"
tags: ["Account"]
---

# Get All Account Balances

`POST /account/all-balances`

Get an array of all AccountBalances for all sub-accounts of an AccountIdentifier
and the BlockIdentifier at which the balance lookup was performed. This endpoint
returns balances for the main account and all associated sub-accounts in a single
request, eliminating the need to make multiple individual /account/balance calls.

The BlockIdentifier must always be returned because some consumers of account
balance data need to know specifically at which block the balance was calculated to
compare balances they compute from operations with the balance returned by the node.

This endpoint automatically returns all available sub-account types for the given
account, including the main account balance and all sub-accounts (e.g., delegated,
unbonding, rewards, etc.).

It is also possible to perform a historical balance lookup (if the server supports it)
by passing in an optional BlockIdentifier.

This endpoint provides better performance and consistency compared to making multiple
individual /account/balance requests, as all balances are guaranteed to be from the
same block context.

## Request body

- AllAccountBalancesRequest — An AllAccountBalancesRequest is utilized to make a balance request for all sub-accounts on the /account/all-balances endpoint. This endpoint returns balances for the main account and all associated sub-accounts in a single request, eliminating the need to make multiple individual /account/balance calls for each sub-account. The endpoint automatically returns all available sub-account types for the given account. If the block_identifier is populated, a historical balance query should be performed.
  - `network_identifier` NetworkIdentifier, required — unresolved $ref
  - `account_identifier` AccountIdentifier, required — unresolved $ref
  - `block_identifier` PartialBlockIdentifier — unresolved $ref
  - `currencies` Currency[] — In some cases, the caller may not want to retrieve all available balances for an AccountIdentifier. If the currencies field is populated, only balances for the specified currencies will be returned. If not populated, all available balances will be returned. — unresolved $ref

## Response `200`

Expected response to a valid request

- AllAccountBalancesResponse — An AllAccountBalancesResponse is returned on the /account/all-balances endpoint. It contains balances for the main account and all associated sub-accounts, along with their respective sub-account identifiers and balance types. This response provides all account balances in a single request, eliminating the need for multiple calls to /account/balance with different sub-account identifiers.
  - `block_identifier` BlockIdentifier, required — unresolved $ref
  - `account_balances` AccountBalanceWithSubAccount[], required — Array of account balances including main account and all sub-accounts. Each balance includes balance type information and metadata.
    - `balances` Amount[], required — A single account/sub-account may have a balance in multiple currencies. — unresolved $ref
    - `balance_type` string — The type of balance (e.g., spendable, delegated, pending_undelegation, etc.)
    - `metadata` object — Sub-account specific metadata

## Other responses

- `500` — unexpected error

## Changes

- **2026-07-17** `758497aacc08` — 1 info
  - endpoint added
- **2020-08-07** `97f3c6540212` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/coinbase/apis/rosetta/changes/account/all-balances/post.md)

---

[API](https://skmtc.dev/coinbase/apis/rosetta.md) · [All operations](https://skmtc.dev/coinbase/apis/rosetta/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/coinbase/rosetta/revisions/758497aacc08/schema)
