Guides

Programmatic payouts: ACH, RTP, FedNow and wire

How platforms send programmatic payouts over ACH, same-day ACH, RTP, FedNow and wire: limits, speed, the treasury APIs that run them, and how to choose.

Blueprint schematic of a payout API routing one payment across five rails, ACH, same-day ACH, RTP, FedNow and wire, with the RTP line highlighted in mint to a paid user and a dashed line posting it to the ledger.

Programmatic payouts are payments your platform sends to its users automatically, through an API, over the rail that fits each payment: ACH for routine volume, same-day ACH when it has to land today, RTP or FedNow when it has to land in seconds, and wire for large single payments. Two things decide the setup: which rails you need, and who holds the money before it moves.

This guide compares the US payout rails on limits and speed, then the kinds of treasury infrastructure that run them, and closes on the part that decides whether payouts scale: reconciliation.

The payout rails compared

US platforms pay users over five rails. Each one differs on speed, cap and hours.

RailSpeedPer-payment limitHoursBest for
ACH (standard)1–2 business daysSet by your bankBusiness days, in batchesRoutine payouts to many users
Same-day ACHSame business day$1 million; $10 million from 17 Sep 2027Business-day windowsPayouts that must land today, at ACH cost
RTPSeconds$10 million24/7/365Instant payouts, on-demand work
FedNowSeconds$10 million (network); banks may set lower24/7/365Instant payouts where RTP isn’t reachable
Wire (Fedwire)Same dayNo practical capBusiness-day hoursLarge or urgent single payments

Sources:

The practical rule: default to ACH, escalate to same-day ACH when the deadline is today, and use RTP or FedNow when it’s now. Wires are for the rare large payment. More on the two classic rails in ACH vs wire and on instant rails in real-time payments.

The treasury infrastructure that runs programmatic payouts

Five kinds of provider run programmatic payouts for platforms. They differ on who holds the account and which rails they reach.

Provider typeExamplesHolds the fundsRailsReconciliation
Payment-operations softwareModern TreasuryYour banksACH, wire, RTP through your banksLedgers and reconciliation tools
Payout and reconciliation layerFynexSafeguarded at an FCA-authorised EMI, or your existing accountsRouted per payout to the cheapest compliant railEvery payout posted back to Xero or QuickBooks
Bank with an APIColumn, IncreaseThe bank or its partner banksACH, wire, instant railsYour build
ACH-first payments APIDwollaPartner banksACH, with instant optionsYour build
Platform paymentsStripe ConnectStripe balancesStripe payoutsStripe reports

The more your team wants to own the ledger, the more the bank-API end suits you. The more you want payouts to simply run and land in the books, the more the layer end suits you. Head-to-heads: Modern Treasury vs Stripe, Dwolla vs Modern Treasury, Fynex vs Modern Treasury.

What “programmatic” actually requires

A payout API is only programmatic if it handles the failure cases without a person. Check five things before you choose:

  1. Idempotency. A retried request must never pay a user twice.
  2. Rail choice per payment. Pick the rail by rule (amount, deadline, the recipient’s bank), not by code path.
  3. Webhooks for every state. Created, sent, settled, returned, failed, each as an event your system can act on.
  4. Returns as first-class objects. An ACH payment can come back after it settles, so the return has to find its original payout and reverse the right balance.
  5. A record that survives the rail. The user, order or invoice ID travels with the payout, so the bank statement can be matched back without guesswork.

Where payouts meet the books

Payouts scale when every payout reconciles itself. A run of 5,000 payouts leaves your bank as one debit, or as 5,000 lines with references that banks truncate. Matching them back to 5,000 users becomes a job of its own. The fix is upstream: each payout carries what it settles, and the run posts to your ledger as it happens, with failures and returns raised as exceptions against the original payout.

Where Fynex fits

Fynex runs programmatic payouts for platforms as a layer over the rails and accounts you keep. Each payout is routed by rule to the cheapest compliant rail: ACH, same-day ACH, instant or wire in the US, and local rails abroad. Funds held before payout are safeguarded at an FCA-authorised EMI. Every payout, fee and return is posted back to the order or invoice it settles, in Xero or QuickBooks. Pricing is public: 0.5% per payout, $1 minimum, plus $100 a month (pricing). See payouts.

Related: how to pay out marketplace sellers · why is my payment delayed? · ACH · wire transfer

FAQ

Frequently asked questions

Reliability comes from the bank behind the API as much as the API itself. Payment-operations software such as Modern Treasury runs over banks you already hold; bank-plus-API providers such as Column and Increase give you the account and the rails in one; ACH-first APIs such as Dwolla focus on bank transfers; and a payout layer such as Fynex routes each payout to the cheapest compliant rail and reconciles every payout back to your books. Choose on the rails you need, who holds the funds, and how returns and reconciliation are handled.
Yes. Most treasury and payout APIs expose several rails behind one payment object and let you pick the rail per payment or route by rule. The limits differ by rail: same-day ACH is capped at $1 million per payment until Nacha's $10 million limit takes effect on 17 September 2027, while RTP and FedNow both allow up to $10 million per payment.
An instant rail: RTP or FedNow to a bank account, or push-to-card to a debit card. Both instant bank rails settle in seconds, 24/7, which makes them the right choice for on-demand work. Keep ACH as the fallback for banks that don't receive instant payments yet, and make the rail choice a rule rather than a code path.
ACH is batched, low-cost and settles in one to two business days, or the same business day with same-day ACH. A wire moves one payment at a time and settles the same day, at a higher per-payment cost. Platforms use ACH for routine payouts to many users and wires for large or urgent single payments.
Make every payout carry the record it settles: the user, the invoice or order, the fee taken and the rail used. Then post each payout run to your accounting system as it happens, and handle returns and failures as exceptions against the original payout. Reconciliation becomes a check, not a monthly reconstruction.
Book a demo