Plaid logo
Docs
ALL DOCS

Transfer

  • Transfer Overview
  • Transfer Application
  • Creating transfers
  • Monitoring transfers
  • Plaid Ledger flow of funds
  • Transfer Dashboard
  • Refunds
  • Recurring transfers
  • Transfer UI
  • Platform Payments
  • Errors and troubleshooting
  • Testing in Sandbox
  • Legacy Flow of funds
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

    Plaid Ledger flow of funds

    Understand how Transfer moves money with the Plaid Ledger

    Plaid Ledger overview

    The Plaid Ledger is a balance you keep with Plaid for use with the Transfer product. It is a settlement balance that all ACH debit transfers settle into, and all ACH/RTP/FedNow credits are paid out from. Plaid provides several tools for moving money between your business checking account and your Ledger balance.

    Overview of the Plaid Ledger.
    Overview of the Plaid Ledger.

    All new customers approved for Transfer on or after November 2, 2023 are automatically enabled for Plaid Ledger. If you are using the legacy non-Ledger system, see Legacy flow of funds. If you would like to use Plaid Ledger, contact your Account Manager or file a Support ticket via the Dashboard.

    Receiving payments

    Your Plaid Ledger account has two balance values: pending, which contains funds that are in processing, and available, which contain funds that are available for use.

    When receiving payments from your customers (via an ACH debit transfer), funds are placed in the pending balance as soon as your transfer is created.

    These funds then become available after a hold period elapses, typically at 3pm EST five business days after the transfer's settled event is emitted. If you are using same-day ACH and your transfer is posted in time to make that day's transmission deadline, this settled event will occur the same day that the transfer was created. Add one additional business day if you miss the cutoff window, and one business day if you are not using same-day ACH.

    See below for an example schedule of when an ACH debit is withdrawn from a consumer's account (corresponding to the settled event), and when the funds are made available to you.

    Example schedule for a Same-Day ACH debit.
    Example schedule for a Same-Day ACH debit.
    Example schedule for a Standard ACH debit.
    Example schedule for a Standard ACH debit.

    If the ACH debit experiences a return, the funds will be clawed back from the Plaid Ledger balance. If the funds have already been made available and withdrawn to your business checking account, the available balance will go negative.

    Issuing payouts

    When issuing payouts to your customers (via ACH credit and RTP/FedNow transfers), the funds for the payout are deducted from your available balance and are sent out to your consumer in the next available ACH window, or immediately for RTP/FedNow. If there are not enough funds in your available balance to cover a transfer, then /transfer/authorization/create will decline the transfer authorization with NSF (insufficient funds) as the decision_rationale.

    You can check the value of the Plaid Ledger balance any time via the Dashboard or by calling /transfer/ledger/get.

    In order to avoid declined transfers, you should discuss with your company the level of funds you want to keep in the balance, and how you intend to refill the balance once it has been used.

    How much money to keep in your Ledger will depend on your business cash flow constraints. It is recommended to keep a minimum of three days' worth of funds in your balance to cover activity taking place over the weekend, when ACH credits and wires are unavailable.

    Moving money between Plaid Ledger and your bank account

    It is important to consider your strategy for moving funds between your Plaid Ledger balance and your business checking bank account. The Plaid Ledger balance cannot be used to store funds indefinitely.

    Plaid provides four methods to manage your Plaid Ledger balance. Sweeps to or from your Ledger balance are priced the same as a transfer (for example, a network=rtp Ledger balance withdrawal is priced as an RTP transfer).

    Each of the following methods will create a sweep object, viewable in /transfer/sweep/list and will emit sweep.* events for you to observe. See Reconciling Transfers for more details.

    MethodOptimizes for...
    DashboardAd-hoc manual deposits/withdrawals
    API endpointsCustom deposit/withdrawal logic
    Automatic balance thresholdsOngoing hands-off management
    Pushing funds to Ledger via wire or ACHImmediate funds availability

    If you are a Platform Payments (beta) customer, the API is the only method available for moving funds. For more details on moving money as a Platform, see the Platform Payments documentation.

    Moving money via the Dashboard

    You can use the Plaid Dashboard to manually trigger a deposit or withdrawal. Withdrawals will push the funds to your business checking account in the next same-day ACH window. Deposits into your Plaid Ledger balance will pull from your business checking account using same-day ACH, and put the funds in your pending balance. These funds will be made available after a three business day hold.

    You must ensure that your accounting department does not reject pulls from Plaid to deposit money into your Ledger balance. Contact your bank to ensure you accept incoming ACH debits from the following company or Originator ID: 1460820571.

    Automatically managing the balance level

    You can set up automatic balance thresholds, allowing you to operate in a "set and forget" model. You can set both a minimum balance and a maximum balance.

    Every business day at 3pm EST, Plaid will attempt to withdraw or deposit funds, depending on your configuration. If your available Ledger balance exceeds the maximum balance defined, Plaid will move money from your Ledger to your bank account using Same Day ACH. These funds should be available in your business checking account by 6pm EST.

    If your overall Ledger balance (including both pending and available balances) goes below your minimum balance, Plaid will move funds from your bank account to your Ledger using Same Day ACH. These funds will be placed in the pending balance, and made available 3 business days later.

    To enable automatic refills and withdrawals, contact Support.

    Moving money via API

    The API is the most flexible method for moving funds, as you can determine when and how your money moves: via Same Day ACH, standard ACH, or instantly via RTP/FedNow.

    To deposit funds into your Plaid Ledger balance via API, use /transfer/ledger/deposit. This endpoint will issue a sweep to withdraw funds from your funding account. Once Plaid has received the funds (you may specify either standard or Same Day ACH), they will be made available after a three business day hold.

    To withdraw funds from your Plaid Ledger balance via API, use /transfer/ledger/withdraw. You can choose the rails to use for the transfer: Same Day ACH, standard ACH, or instant.

    You can check the value of the Plaid Ledger balance via API by calling /transfer/ledger/get.

    Moving money via ACH or wire transfer

    Use the Plaid Dashboard to view an account and routing number you can push funds to via ACH credit or wire. Pushed funds become available for use in your Plaid Ledger as soon as they are received from the network. This method can only be used to deposit money into your Ledger; it cannot be used to withdraw funds.

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