Plaid logo
Docs
ALL DOCS

Balance

  • Introduction to Balance
  • Add Balance to your app
  • Troubleshooting
Plaid logo
Docs
Close search modal
Ask Bill!
Ask Bill!
Hi! I'm Bill! You can ask me all about the Plaid API. Try asking questions like:
    Note: Bill isn't perfect. He's just a robot platypus that reads our docs for fun. You should treat his answers with the same healthy skepticism you might treat any other answer on the internet. This chat may be logged for quality and training purposes. Please don't send Bill any PII -- he's scared of intimacy. All chats with Bill are subject to Plaid's Privacy Policy.
    Plaid.com
    Log in
    Get API Keys
    Open nav

    Introduction to Balance

    Retrieve real-time balance information to prevent NSFs and ACH returns

    Get started with Balance
    API ReferenceQuickstart

    Overview

    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.

    Prefer to learn by watching? Get an overview of how Balance works in just 3 minutes!

    Balance data

    1"balances": {
    2 "available": 100,
    3 "current": 110,
    4 "iso_currency_code": "USD",
    5 "limit": null,
    6 "unofficial_currency_code": null
    7}

    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
    FieldTypical fill rate
    Current balance99%
    Available balance91%

    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.

    Launch Center

    See next steps to launch in Production

    Launch

    Launch Center

    See next steps to launch in Production

    Launch
    Was this helpful?
    Developer community
    GitHub
    GitHub
    Stack Overflow
    Stack Overflow
    YouTube
    YouTube
    Discord
    Discord