# Check and update account balances

Before you send assets, you can check the balance on the account for the asset. This depends on a number of factors, including the current status of any transactions associated with the asset.

For more information, see [Transaction statuses](/products/custody/v1.26/overview/blockchain/transactions/transaction-processing#transaction-statuses).

Account balances for an asset are made up of the following amounts:

- **Total amount**: Total balance as reported by the blockchain, consisting of:
  - **Reserved amount**: Balance that is currently allocated but not available for spending, including amounts and fees for any transactions that are initiated but not yet executed. The reserved amount can only be used for special transactions, such as emptying the wallet, and in some blockchain-specific scenarios.
If a transaction is between broadcast and on-chain confirmation, the reserved amount is not included in the total.
  - **Quarantined amount**: Balance of incoming transfers that are not yet released from quarantine.
[Learn more about releasing assets from quarantine](/products/custody/v1.26/api/accounting/receive-assets#release-quarantined-assets)
Ripple Custody updates the total amount with a call to the blockchain in the following scenarios:
  - During account creation, Ripple Custody verifies any existing balances for the generated key on the blockchain.
  - When a user forces an account balance update. For more information, see [Force an account balance update](#force-an-account-balance-update).
  - When Ripple Custody detects either an incoming or outgoing transaction on the account, according to the conventions of the blockchain. For more information on the `Detected` status, see [Transaction statuses](/products/custody/v1.26/overview/blockchain/transactions/transaction-processing#transaction-statuses).


## Check account balances

To check the balance of an asset for an account, call the [Get account balances](/products/custody/v1.26/api/reference/openapi/accounts/getaccountbalances) operation.

An example response is as follows:


```json
{
  "items": [
     {
        "accountReference": {
           "id": "<uuid>",
           "domainId": "<uuid>"
        },
        "tickerId": "<uuid>",
        "totalAmount": "<string>",
        "reservedAmount": "<string>",
        "quarantinedAmount": "<string>",
        "lastUpdatedAt": "<dateTime>"
      },
      {
        "accountReference": {
          "id": "<uuid>",
          "domainId": "<uuid>"
        },
        "tickerId": "<uuid>",
        "totalAmount": "<string>",
        "reservedAmount": "<string>",
        "quarantinedAmount": "<string>",
        "lastUpdatedAt": "<dateTime>"
      }
    ],
    "count": "<integer>",
    "currentStartingAfter": "<string>",
    "nextStartingAfter": "<string>"
}
```

## Force an account balance update

Your account can receive funds directly from the blockchain which are not registered automatically in Ripple Custody. For example, if you receive staking rewards from an Ethereum blockchain, this operation is not reflected in your balances.

When this happens, you need to force an update of your account balance.

To force an account balance update, call the [Update account balances forcefully](/products/custody/v1.26/api/reference/openapi/accounts/forceupdateaccountbalances) operation.