Skip to main content
A query that returns the account balance for the specified account. Requesting an account balance is currently free of charge. Queries do not change the state of the account or require network consensus. The information is returned from a single node processing the query. In Services release 0.50, returning token balance from the consensus node was deprecated with HIP-367. This query returns token information by requesting the information from the Hedera Mirror Node APIs via /api/v1/accounts/{id}/tokens. Token symbol is not returned in the response.

Recommend Using Mirror Node REST API

For obtaining account balance and historical balance information, consider using the Mirror Node REST API endpoint List Account Balances which offers several advantages:
  • Cost-effective and scalable: Mirror node providers offer paid plans with a large number of queries included. The Hedera-hosted mirror node offers free queries with specific throttles for testing. While account balance queries via SDK are currently free, this is subject to change in the future.
  • Performance: Mirror nodes don’t burden consensus nodes, allowing them to focus on processing transactions and providing efficient access to historical data without impacting network performance.
  • Historical data: Mirror nodes store complete transaction history and balance snapshots - ideal for analytics, auditing, and monitoring past activity.
Query Fees
  • Please see the transaction and query fees table for the base transaction fee.
  • Please use the Hedera fee estimator to estimate your query fee cost.
Query Signing Requirements
  • The client operator private key is required to sign the query request.

Methods

MethodTypeDescription
setAccountId(<accountId>)AccountIDThe account ID to return the current balance for.
setContractId(<contractId>)ContractIDThe contract ID to return the current balance for.
//Create the account balance query
AccountBalanceQuery query = new AccountBalanceQuery()
     .setAccountId(accountId);

//Sign with client operator private key and submit the query to a Hedera network
AccountBalance accountBalance = query.execute(client);

//Print the balance of hbars
System.out.println("The hbar account balance for this account is " +accountBalance.hbars);

//v2.0.0