Plaid for Transfer API: ACH, RTP and FedNow
Updated: 4 days ago

[ AI Summary ] The Plaid Transfer API lets US businesses collect bank payments and send payouts over ACH, Same Day ACH, and instant rails. Instant payouts use network=rtp, and Plaid routes them over RTP or FedNow, so there is no separate FedNow value. Check account eligibility first, keep an ACH fallback ready, and track every payment through transfer events, not the create response. |
Collecting a bank payment and sending a payout look similar on a product roadmap, but they are different jobs. One is mostly about cost and return risk. The other is about speed and finality. The Plaid Transfer API gives US businesses a single integration for both, across ACH, Same Day ACH, and instant payments.
This guide covers rail selection, the Plaid Transfer API integration steps, status tracking, and what to settle before production. One warning up front: not every connected account can receive instant payments, so design for that from day one.
What Is the Plaid Transfer API?
Quick answer: The Plaid Transfer API connects a user's bank account, authorizes a payment, moves the money, and gives you events to track and reconcile it. Production access requires Plaid's approval.
A typical flow starts with Plaid Link, which connects the account. Your backend then creates a transfer. A debit pulls money from the user's account (a collection), and a credit sends money to it (a payout). Linking an account does not start a payment. You still need an authorization and a transfer request, plus the customer's consent to be paid or debited.
Transfer often sits next to other products such as Plaid Auth, Identity, Assets, Statements, Transactions, and Liabilities. If you are weighing the build, our Plaid partnership page explains how we work with Plaid teams.
Plaid Transfer vs Plaid Auth: What Is the Difference?
Question | Plaid Auth | Plaid Transfer |
Main job | Verifies and returns account details | Initiates and tracks payments |
Moves money? | No | Yes |
Who handles payment risk and returns? | Your processor | Plaid Transfer workflow plus your operations |
Best for | Pairing with another payment processor | Consolidating payments on one platform |
Suitability depends on your business model and Plaid's approval, so validate the use case before you commit to an architecture.
ACH vs RTP vs FedNow: Which Payment Rail Should You Use?
Quick answer: Use ACH for routine, cost-sensitive payments, Same Day ACH when business-day speed matters, and RTP or FedNow for eligible instant payouts.
Comparison point | Standard ACH | Same Day ACH | RTP | FedNow |
Speed | Business-day timing | Same business day, within windows | Real time | Real time |
Operating schedule | Business days | Business days | Around the clock | Around the clock |
Direction | Debit and credit | Debit and credit | Credit push | Credit push |
Account eligibility | Supported bank account | Supported bank account | Participating account | Participating account |
Returns and finality | Returns possible after settlement | Returns possible after settlement | Final once sent | Final once sent |
Best for | Routine collections, scheduled payouts | Time-sensitive bank payments | Eligible instant payouts | Eligible instant payouts |
RTP and FedNow are credit-push rails, so do not plan ordinary ACH-style debits on them.
How Plaid RTP and FedNow Routing Works
Quick answer: For instant payouts, you send network=rtp. Plaid routes the payment between The Clearing House's RTP network and FedNow as appropriate. FedNow is not a separate network value.
This is the most common point of confusion in Plaid FedNow integration projects. Do not invent a network=fednow parameter. Your code asks for an instant payment, and Plaid decides how to carry it.
Check Eligibility Before Offering an Instant Payout
Call /transfer/capabilities/get for the recipient account before you show an instant option. Participation by a bank does not guarantee that every account can receive instant payments, and an ineligible rtp authorization can fail.
Design an ACH Fallback That Cannot Double-Pay
If an account is ineligible, fall back to same-day-ach or ach based on urgency and cost. Tell the customer the new delivery estimate. Separate two situations: an eligibility failure, where it is safe to switch rails, and a transfer with an unresolved status, where you must resolve the original payment first. Otherwise a fallback becomes a duplicate payment.
Plaid Transfer API Integration: Step by Step
Here is the Plaid ACH integration and instant payout path in six steps.
Connect the account with Plaid Link. Create a Link token on your backend, launch Link, exchange the public token server-side, and store the access token securely. Handle abandoned linking and account-selection errors.
Choose direction and rail. Decide whether you are collecting or paying out, then pick ach, same-day-ach, or rtp. For instant payouts, run the capability check.
Create an authorization. Call /transfer/authorization/create with the account, amount, legal name, direction, and network. Handle approvals and declines. Plaid's decision is not the customer's consent.
Create the transfer. Call /transfer/create using the approved authorization. Save the transfer ID against your internal payment record, and make retries safe.
Track status asynchronously. Use transfer events to move the payment forward. A successful create call does not mean the money arrived.
Reconcile. Match transfers, ledger activity, sweeps, and your orders or invoices. Flag exceptions for operations and keep an audit trail.
Example: A marketplace offers an instant payout, checks eligibility, authorizes and creates the transfer, and tells the seller it is complete only after the right transfer event arrives.
If you want an experienced plaid developer to own this build, see how to hire a Plaid developer.
Plaid Transfer Webhooks and Payment Status Tracking
Webhooks tell you something changed. /transfer/event/sync tells you what. After each notification, pull events from your stored cursor, process them, and save the new cursor. Use /transfer/get to inspect a single transfer.
Make processing idempotent so duplicate notifications do no harm, record which events you have handled, and run a periodic recovery job in case a webhook is missed. In the interface, keep these states separate: accepted by the API, submitted to the network, settled, and available to the recipient.
ACH Timing, Returns, and Refunds
ACH payments can be returned after settlement, for reasons such as insufficient funds, a closed account, or an unauthorized debit. Map each return reason to a support action and a customer message, and set retry rules per reason.
Cancellation, refunds, and returns are three different workflows, so do not treat them as interchangeable. Pull current cutoff times and time zones from Plaid's documentation before you publish them in your product.
Instant Payout Risks Most Teams Underestimate
Instant payouts cannot be cancelled once sent, so verify the recipient first and add confirmation for high-value payouts. A 24/7 rail also means funding must be available outside banking hours, so monitor your Plaid Ledger balance and alert on low funding. When a payout fails, check whether it failed at authorization or after, and resolve the state before you retry or change rails.
Common Plaid Transfer API Integration Mistakes
Mistake | Consequence | Better approach |
Treating bank linking as permission to debit | Disputes and returns | Capture explicit payment authorization |
Assuming every account supports instant payouts | Failed authorizations | Check capabilities first |
Sending a fednow network value | Request errors | Use network=rtp |
Marking payment complete after create | Wrong customer messaging | Wait for transfer events |
Retrying before checking state | Duplicate payments | Resolve the original status first |
Ignoring returns after settlement | Hidden losses | Monitor return events |
Before You Build: Approval, Pricing, and Testing
Apply early. Plaid reviews your business model, flows, and expected volume. For cost, request a quote or use our Plaid pricing calculator and read the Plaid API pricing guide. Do not budget from assumed per-transfer fees. In Sandbox, simulate approvals, declines, returns, duplicate events, restarts, funding shortages, and ineligible instant accounts. If your product also needs data from banks outside Plaid's coverage, some teams add MX and an MX developer alongside Plaid.
How FintegrationFS Supports Plaid Transfer API Integration
FintegrationFS helps US fintech teams plan rails and fallbacks, build the backend, event sync, and reconciliation, and test before launch. Browse our other integration work for examples.
Planning ACH collections or instant bank payouts? Discuss your Plaid Transfer integration with FintegrationFS.
Most guides list the rails and stop. The overlooked part is the decision layer between them: eligibility checks, fallback rules, and preventing a duplicate payment when a transfer is unresolved. Covering this turns a feature overview into an operating playbook.
How Plaid RTP and FedNow Routing Works. It opens with a direct, self-contained answer (network=rtp, routed between RTP and FedNow), followed by short, specific explanations. That structure suits Google AI Overviews, ChatGPT, and Claude. The rail comparison table is a strong second candidate.
FAQs About the Plaid Transfer API
What is the Plaid Transfer API used for?
It lets approved US businesses collect payments from and send payouts to bank accounts over ACH, Same Day ACH, and instant rails, with tracking and reconciliation built into one workflow.
What is the difference between Plaid Auth and Plaid Transfer?
Plaid Auth verifies and returns bank account details. Plaid Transfer actually initiates and tracks the payment. Some businesses use Auth with another processor, while others use Transfer to keep it all in one place.
Do developers need a separate FedNow integration?
No. Instant payouts use network=rtp, and Plaid routes them over RTP or FedNow as appropriate. There is no separate FedNow network value in this flow.
Can every Plaid-connected account receive instant payouts?
No. The account must participate in a supported instant rail. Check /transfer/capabilities/get first, and offer ACH when the account is ineligible.
Can a Plaid Transfer payment be cancelled or refunded?
Some pending ACH transfers can be cancelled before they progress. Instant payouts cannot be cancelled once sent. Refunds and returns are separate workflows, so plan each one explicitly.




