Introduction to Balance
Retrieve real-time balance information.
Explore API
API Reference
View Balance requests, responses, and example code
View Balance APIQuickstart
Learn about Plaid's key concepts and run starter code
Get startedOverview
Balance is Plaid's product for receiving real-time Balance information via /accounts/balance/get
. This real-time Balance data can be helpful when checking to see if an account has sufficient funds before using it as a funding source for a money transfer. Balance is available for use exclusively in combination with other Plaid products, such as Auth for money movement or account funding use cases, or Transactions for personal financial management use cases.
Balance data
1"balances": {2 "available": 100,3 "current": 110,4 "iso_currency_code": "USD",5 "limit": null,6 "unofficial_currency_code": null7}
Cached and realtime balance
Many Plaid products other than Balance provide balance information as part of the accounts
object. However, this data is typically updated about once a day, and cached data is often returned, which is not suitable for situations where you need real-time balance information. For retrieving real-time balance, only /accounts/balance/get
should be used. The exception is immediately after an Item has been linked, when the balance information is guaranteed to be recent. Note that because Balance always retrieves fresh data from the institution, latency will be higher when calling /accounts/balance/get
than when calling other Plaid endpoints. While /accounts/balance/get
typically takes about 10 seconds or less, the latency will vary by institution, and in some cases it may take 30 seconds or more to retrieve balance information.
If you want to evaluate the risk of an ACH return and need lower latency than /accounts/balance/get
, try Signal. Signal uses machine learning instead of real-time balance checks to evaluate the risk of an ACH return, and can return results in approximately one second or less.
Current and available balance
Balance typically returns both current and available balance information. For fraud detection and insufficient funds (NSF) prevention use cases, available balance should be used, as it represents predicted balance net of any pending transactions, while current balance does not take pending transactions into account.
Available balance indicates balance that is available to spend, which is not the same as the overall value of the account. For example, for credit accounts, it indicates the amount that can be spent without hitting the credit limit (net of any pending transactions), while in investment accounts, it indicates the total available cash.
In some cases, a financial institution may not return available balance information. If that happens, you can calculate available balance by starting with the current balance, then using the Transactions product to detect any pending transactions and adjusting the balance accordingly.
Sample app code
For a real-life example of an app that incorporates Balance, see the Node-based Plaid Pattern Account Funding sample app. Pattern Account Funding is a sample account funding app that fetches Balance data to check for sufficient funds before a funds transfer. The Balance code can be found in items.js.
For a tutorial walkthrough of creating a similar app, see Account funding tutorial.
Next steps
To get started building with Balance, see Add Balance to your App.
If you are using Balance as part of an account funding use case, see the Plaid Account Funding Guide for an overview of all required steps.
If you're ready to launch to Production, see the Launch checklist.