Introduction to Balance
Retrieve real-time balance information to prevent NSFs and ACH returns
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 used to see if an account has sufficient funds before using it as a funding source for a money transfer, helping you to avoid ACH returns. 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 finance 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
You can retrieve cached balance data for any Item (except for Items with manual connections, such as those using Same-Day Microdeposits) by calling the free-to-use /accounts/get
endpoint. Many Plaid products other than Balance also provide cached balance data as part of the accounts
object. Because this data is cached, it is not suitable for situations where you need real-time balance information. The frequency with which cached balance data is updated varies depending on the product. An Item with Transactions, for example, may update cached balances once a day or more, while an Item with only Auth may update every 30 days or even less frequently.
For retrieving real-time balance for payments use cases, 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
usually takes under 5 seconds, 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.
Typical balance fill rates by field
Field | Typical fill rate |
---|---|
Current balance | 99% |
Available balance | 91% |
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.
Balance pricing
Balance is billed on a flat fee model, meaning you will be billed once for each successful call to /accounts/balance/get
. To view the exact pricing you may be eligible for, apply for Production access or contact Sales. For more details about pricing and billing models, see Plaid billing.
Next steps
To get started building with Balance, see Add Balance to your App.
If you're ready to launch to Production, see the Launch Center.