> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hedera.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get account balance

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](https://mainnet.mirrornode.hedera.com/api/v1/docs/#/accounts/listTokenRelationshipByAccountId). Token symbol is not returned in the response.

<Warning>
  #### **DEPRECATION NOTICE: `AccountBalanceQuery`**

  The `AccountBalanceQuery` is deprecated and will be completely removed in **July 2026**. This is the only SDK method presented on this page and it will no longer function after this date.

  A gradual throttle reduction begins in **May 2026**. To avoid rate limiting and future service disruptions, you must migrate to the Mirror Node REST API.

  📚 **For the full migration guide, read:** [Migrating from AccountBalanceQuery: What You Need to Know](https://hedera.com/blog/migrating-from-accountbalancequery-what-you-need-to-know)
</Warning>

<Note>
  #### **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**](https://docs.hedera.com/api-reference/balances/list-account-balances) which offers several advantages:

  * **Cost-effective and scalable:** [Mirror node providers](/operators/mirror-node#mainnet) 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.

  📚 **For more details on querying data, read:** [Querying Data on Hedera: SDK vs Mirror Node REST API](https://hedera.com/blog/querying-data-on-hedera-sdk-vs-mirror-node-rest-api/)
</Note>

**Query Fees**

* Please see the transaction and query [fees](/learn/networks/mainnet/fees#transaction-and-query-fees) table for the base transaction fee.
* Please use the [Hedera fee estimator](https://hedera.com/fees) to estimate your query fee cost.

**Query Signing Requirements**

* The client operator private key is required to sign the query request.

### Methods

<table><thead><tr><th>Method</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>setAccountId(\<accountId>)</code></td><td>AccountID</td><td>The account ID to return the current balance for.</td></tr><tr><td><code>setContractId(\<contractId>)</code></td><td>ContractID</td><td>The contract ID to return the current balance for.</td></tr></tbody></table>

<CodeGroup>
  ```java Java theme={null}
  //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
  ```

  ```javascript JavaScript theme={null}
  //Create the account balance query
  const query = new AccountBalanceQuery()
       .setAccountId(accountId);

  //Submit the query to a Hedera network
  const accountBalance = await query.execute(client);

  //Print the balance of hbars
  console.log("The hbar account balance for this account is " +accountBalance.hbars);

  //v2.0.7
  ```

  ```go Go theme={null}
  //Create the account balance query
  query := hedera.NewAccountBalanceQuery().
       SetAccountID(newAccountId)

  //Sign with client operator private key and submit the query to a Hedera network
  accountBalance, err := query.Execute(client)
  if err != nil {
      panic(err)
  }

  //Print the balance of hbars
  fmt.Println("The hbar account balance for this account is ", accountBalance.Hbars.String())
  //v2.0.0
  ```

  ```rust Rust theme={null}
  // Create the query
  let query = AccountBalanceQuery::new()
      .account_id(account_id);

  // Sign with client operator private key and submit to a Hedera network
  let account_balance = query.execute(&client).await?;

  println!("The account balance is {:?}", account_balance.hbars);

  // v0.34.0
  ```
</CodeGroup>
