Of the eight pages Google currently ranks for "ACH vs RTP vs FedNow", five quote a FedNow limit that has been wrong since November 2025, two still say the RTP cap is $1m, and one claims FedNow only runs between 7am and 7pm. Not one of them names an ISO 20022 message, shows an API payload, or explains why a FedNow "return" is a favour rather than a right.
This guide is the version I wanted when I first had to pick a rail per payout for a US treasury product. It covers the four domestic rails an engineer actually touches: ACH, RTP, FedNow and Fedwire, with CHIPS in a footnote. For each one: what the limit is and when it last changed, when the money moves, what messages carry it, what happens when it goes wrong, which legal regime governs the loss, and how the main US payment APIs expose the choice. It is the US counterpart to my Faster Payments vs Bacs vs CHAPS guide, and the mapping between the two is at the end for UK readers.
What Is the Difference Between ACH, RTP, FedNow and Fedwire?
All four settle in US dollars across accounts at the Federal Reserve. Three are operated by the Fed (FedACH, FedNow, Fedwire), one by a bank-owned private company (RTP, The Clearing House), and ACH has a second private operator, EPN, also run by The Clearing House. Everything else differs.
| ACH | RTP | FedNow | Fedwire Funds | |
|---|---|---|---|---|
| Operator | FedACH and EPN under Nacha rules | The Clearing House | Federal Reserve | Federal Reserve |
| Speed | Next banking day, or same day in three windows | Seconds, 24/7/365 | Seconds, 24/7/365 | Minutes, 22 hours a day on business days |
| Per-payment cap | $1m same-day (to $10m on 17 Sep 2027); none for standard | $10m (since 9 Feb 2025) | $10m network max (Nov 2025); $100k default per bank | None |
| Settlement | Deferred net, four times a banking day | Real-time, prefunded joint account at the Fed | Real-time gross, Fed master accounts | Real-time gross, Fed master accounts |
| Message format | Nacha fixed-width records | ISO 20022 | ISO 20022 | ISO 20022 since 14 Jul 2025 |
| Pull payments | Yes (debits) | No, Request for Payment only | No, Request for Payment only | No, drawdown request only |
| Reversible | Yes, return codes | No | No | No |
| 2025 volume | 35.2bn payments, $93tn | 447m payments, $1.45tn | 8.4m payments, $853bn | 217m transfers, roughly $1.15 quadrillion |
Read the bottom row twice. ACH carries 35bn payments a year and Fedwire moves about a thousand trillion dollars across 217m of them, an average of $5.28m per transfer. RTP and FedNow together are below half a billion payments. Instant rails are growing fast (RTP was up 30% by count in 2025, FedNow volume per day rose 83% between Q1 and Q2 2026), but anyone telling you ACH is legacy has not looked at the figures Nacha published in January 2026.
ACH Settlement Times and Same-Day ACH Windows in 2026
ACH is a batch system that now runs 23¼ hours a banking day and settles four times. The Nacha operating rules define the behaviour; the two operators, FedACH and EPN, exchange files between banks.
Standard ACH settles next banking day for debits and next or second banking day for credits, at the originator's choice. From 18 September 2026 a new Nacha rule requires the receiving bank to make non-same-day credits available by 9:00am its local time on the settlement date. If you pay out by standard ACH and your support team keeps hearing "it arrived at 4pm", that rule is the fix, not a faster rail. Same Day ACH has three windows. The times below are FedACH's published schedule, Eastern Time:| Submission deadline | Operator distribution | Settlement |
|---|---|---|
| 10:30am | 12:00pm | 1:00pm |
| 2:45pm | 4:00pm | 5:00pm |
| 4:45pm | 5:30pm | 6:00pm |
A fourth window was proposed in 2024 and has not been approved. Nacha's January 2026 statistics still describe three. Your cut-off logic should encode three until Nacha says otherwise.
The Same Day cap is $1m per entry, in force since March 2022 after steps from $25,000 and $100,000. On 27 April 2026 Nacha's members approved an increase to $10m per entry, effective 17 September 2027. It applies to credits and debits but excludes ARC, BOC, POP, RCK, XCK and IAT entries. That date matters for anyone currently splitting large payouts into $1m slices; the splitting logic will be dead code in a year, and the reconciliation code that reassembles the slices should be removed with it.
Both directions exist. ACH is the only one of the four rails that pulls money, which is why it remains the default for recurring consumer billing, and the Standard Entry Class code says what kind of pull you are doing. In most APIs you will see ppd (consumer prearranged), ccd (corporate), web (consumer debit authorised online) and tel (consumer debit authorised by phone), with ctx for corporate payments carrying remittance records. web and tel are debit-only.
Costs are not the problem. Nacha's 2026 network fee is $0.000185 per entry, and bank per-item pricing is typically a few tens of cents, though the latter is contract-specific. The real cost of ACH is the return window, covered below and in my ACH return codes guide.
Two compliance dates affect originators in 2026. Nacha's fraud monitoring rule took effect for large originators and ODFIs on 20 March 2026 and for everyone else on 19 June 2026. It requires risk-based monitoring of outbound credits, not a specific control, but "we don't monitor" is no longer a lawful answer.
RTP vs FedNow: Limits, Reach and Who Routes Between Them
Both instant rails push credits in seconds, around the clock, with finality on settlement and a per-transaction maximum of $10m. RTP got there first, on 9 February 2025, after sitting at $1m since April 2022. FedNow followed in November 2025, after a June 2025 step from $500,000 to $1m. The FedNow network limit is a ceiling, not what your receiving bank accepts: each participant defaults to $100,000 and configures upward. Hit a bank that never changed the default and your $250,000 payout is rejected at the receiver, not at the network.
| RTP | FedNow | |
|---|---|---|
| Participants | Over 1,378 (Sep 2026) | More than 1,800 (Q2 2026), 96% under $10bn in assets |
| 2025 volume | 447m payments, $1.45tn | 8.4m payments, $853bn |
| Q3 2026 / Q2 2026 | 150m, $621bn | 5.0m, $274.7bn |
| Sender fee | $0.045 per credit transfer | $0.045, first 2,500 a month free in 2026 |
| Reach | Large banks; roughly three quarters of US demand deposit accounts by one 2026 estimate | Community banks and credit unions |
| Settlement account | TCH joint account at the Fed | Participant's own Fed master account |
| Receive-only share | Not published | Not published; a 2025 survey found 4% of institutions send on FedNow vs 22% on RTP |
That last row is the one the comparison pages skip. A bank being "on FedNow" usually means it can receive. If your product needs to originate, the set of banks that can send for you is far smaller than 1,800, and you need to ask your sponsor bank which one it actually sends through.
The rails are not interoperable. A FedNow participant cannot pay an RTP-only bank, and there is no 2026 programme to change that. What exists instead is routing at the sponsor or aggregator layer. In 2024 a Fed executive described FedNow as interoperable with RTP "in a routing sense", meaning a bank on both can pick per payment. The Clearing House's chief executive publicly disagreed about what interoperability meant. Two years on, Dwolla's integration notes still say it "doesn't exist today". Build for it not existing.
The message sets overlap but differ. Both carry value in pacs.008 and status in pacs.002, both do Request for Payment in pain.013 and pain.014, both handle return requests with camt.056 and camt.029. RTP adds camt.035 acknowledgements and remt.001 stand-alone remittance; FedNow adds pacs.009 liquidity transfers and pacs.028 status requests. FedNow's network timeout clock is 20 seconds, with the receiver's own response window configurable between 1 and 5 seconds, and a sender should wait at least 25 seconds before asking for status. I covered the version-skew traps between the two specs in the FedNow API guide; the short version is that one shared parser for both rails will eventually bite you.
Fedwire Cut-Off Times and Fees After ISO 20022
Fedwire is the rail everyone calls "a wire" and almost nobody looks up. It opens at 9:00pm ET the preceding calendar day and closes at 7:00pm ET, a 22-hour window on business days only. Customer transfers, the pacs.008 messages a corporate sends, must be in by 6:45pm ET; bank-to-bank pacs.009 transfers get until 7:00pm. Payments originated after 5:00pm attract a $0.26 surcharge. There is no weekend service. In October 2025 the Federal Reserve Board approved extending Fedwire and the National Settlement Service to Sunday-to-Friday including weekday holidays, "no earlier than 2028", still 22 hours a day. It explicitly declined to adopt 24/7/365 and said it would seek comment in a new proposal. Any roadmap claiming weekend wires by 2027 is ahead of the Fed.
On 14 July 2025 Fedwire cut over to ISO 20022 in a single day and retired its proprietary FAIM format. The live message set is pacs.008 (customer credit transfer), pacs.009 (financial institution transfer and cover payments), pacs.004 (return), pacs.002 (status), and camt.056 with camt.029 for recall requests and responses. If your bank integration still talks about tag 3600 and {4200} beneficiary fields, you are on a translation layer the bank is running for you, and the structured address and remittance rules of the ISO version apply to what reaches the Fed. The field-level differences between pacs.008 on different rails are in my ISO 20022 message types guide.
Fedwire has no per-payment cap, only surcharges: $0.14 on transfers above $10m and $0.36 above $100m. The 2026 Fed fee schedule is tiered by monthly volume and discounted when a bank sends more than 60% of its five-year benchmark:
| Monthly volume tier | Standard per transfer | Incentive per transfer |
|---|---|---|
| Up to 14,000 | $0.97 | $0.194 |
| 14,001 to 90,000 | $0.30 | $0.06 |
| Over 90,000 | $0.195 | $0.039 |
Plus a $125 monthly participation fee. The $25 to $35 your bank charges a customer for an outgoing domestic wire is therefore roughly 30 to 150 times what the bank pays the Fed. That margin is why wires are the rail banks are least keen to see replaced, and why the $10m Same Day ACH limit in 2027 is more significant than it looks.
CHIPS deserves one paragraph. It is The Clearing House's large-value system, 43 direct participants, around $2tn a day, continuous intraday netting with liquidity-saving algorithms, on ISO 20022 since 8 April 2024. Unless you work at one of those 43 banks you will never send a CHIPS message directly; your international dollar wires may traverse it inside your correspondent bank.
Can You Reverse an ACH, RTP, FedNow or Wire Payment?
This is the section that should drive your rail choice, and it is the one the ranking pages compress into a single "irrevocable" cell.
ACH has a real unwind path. The receiving bank can return most entries within two banking days using an R-code, and a consumer can dispute an unauthorised debit for 60 calendar days with a written statement, producing an R10 or R11. Business accounts get until the next banking day. A late return lands as a dispute, not a failure, and it can arrive weeks after you released goods. Reversibility is a feature for the payer and a liability for the payee. RTP settlespacs.008 with finality. There is no return message in the scheme sense. A sender who made a mistake issues a camt.056 Request for Return of Funds, the receiving bank answers with camt.029, and the operating rules say the receiving participant "is not required to return any funds". If the funds come back they come back as a brand-new credit transfer that your ledger must match to the original.
FedNow is the same shape with published clocks. pacs.004 returns exist but are voluntary. A camt.056 with reason code WNTB must be sent within 95 calendar days, and the receiving bank has 20 business days to answer with a camt.029 (accepted or rejected) or a pacs.004. The one safety valve is ACWP, "accepted without posting": the receiver takes the money with finality but need not credit the customer while it investigates, and must resolve it by midnight ET the next business day. FedNow fraud screening at the receiver has to fit inside a 5-second window, so expect ACWP rather than RJCT from cautious banks.
Fedwire is irrevocable on release. Recall is a camt.056 request the beneficiary bank may refuse. In practice recovery depends on whether the beneficiary bank still holds the funds and whether its customer consents.
Mechanically for your ledger: ACH returns are state changes on the original payment that can arrive up to 60 days later; RTP, FedNow and wire reversals are new inbound credits that reference an original and may never arrive. Model the first as a status transition and the second as a separate receivable with an expiry.
Reg E vs Reg J vs UCC 4A: Which Rules Apply to Each Rail
Who eats the loss is a function of the rail and the payer type, and the answer differs on each line of the table.
| Rail | Consumer payer | Business payer |
|---|---|---|
| ACH | Nacha Rules plus Regulation E (Electronic Fund Transfer Act) | Nacha Rules plus UCC Article 4A for credits |
| RTP | Regulation E where applicable, then RTP Operating Rules | RTP Operating Rules, then UCC Article 4A |
| FedNow | Regulation J Subpart C with EFTA prevailing on any conflict | Regulation J Subpart C plus UCC Article 4A |
| Fedwire | Regulation J Subpart B plus UCC Article 4A (consumers rarely originate) | Regulation J Subpart B plus UCC Article 4A |
Two consequences. First, a consumer who is tricked into sending an RTP or FedNow payment has far weaker rights than a consumer whose account was debited by ACH without authorisation: Reg E covers unauthorised transfers, not authorised ones made under false pretences, and UCC 4A treats a properly authenticated payment order as the sender's problem. The UK addressed this with mandatory APP fraud reimbursement in October 2024; the US has nothing equivalent on the instant rails as of October 2026, and I would not build a consumer product that assumes it will.
Second, the error-resolution clock differs. Reg E gives a bank 10 business days to investigate a consumer's claim; FedNow's camt.056 round trip allows 20 business days. If your product promises consumers a resolution timeline, make sure it is the stricter one.
How Payment APIs Choose Between ACH, RTP and Wire
The abstraction each provider chose tells you what they think the hard problem is. I have pulled the enums from current documentation; the exact spellings matter because they end up in your code.
Modern Treasury uses a single payment order object with atype enum of ach, book, check, rtp, stablecoin, wire and card, a direction of credit or debit, and a priority of normal or high to select Same Day ACH. The notable decision is that rtp means "RTP or FedNow", with the network chosen for you. Status values run needs_approval, approved, processing, sent, completed, returned, reversed, failed, denied, cancelled, held. One enum across four rails, with returned and reversed as distinct terminal states, is the correct shape.
Increase goes the other way: separate resources for ach_transfers, real_time_payments_transfers, wire_transfers and fednow_transfers, and the caller picks the instant rail based on which network the recipient's bank supports. Its ACH object exposes preferred_effective_date.settlement_schedule: "same_day" with the $1m cap enforced, and the RTP rejection reasons include timeout, amount_exceeds_bank_limits and real_time_payments_suspended, which are exactly the three failures you will see in production. Wire transfers carry a reversal object populated with Fedwire IMAD identifiers.
{
"type": "rtp",
"direction": "credit",
"amount": 25000000,
"currency": "USD",
"originating_account_id": "...",
"receiving_account_id": "...",
"fallback_type": "ach"
}
That is the Modern Treasury shape for a $250,000 instant payout with ACH fallback. The amount is in cents. The fallback_type is the field that encodes the real-world routing problem: the recipient bank's FedNow default limit is $100,000, so this payment may fail at the receiver and need to go out as ACH instead.
rtp-credit method in its April 2026 API in favour of instant-bank-credit, which covers both, and its timestamps include acceptedWithoutPostingOn, so at least one provider surfaces ACWP as a first-class state. Dwolla asks for processingChannel.destination: "instant" and reports back "real-time-payments" or "fed-now" with a details object for each, under a $500,000 cap. Plaid Transfer uses network with values ach, same-day-ach, rtp, wire and rfp, and a capabilities pre-check endpoint; there is no fednow value, so Plaid treats FedNow as either absent or folded into rtp.
Stripe sits outside this. Its us_bank_account payment method is ACH debit, settling T+4 by default with a 9pm ET cut-off or T+2 on the faster schedule, and its Instant Payouts product (1.5% in the US, $0.50 to $9,999) goes to debit cards and "some bank accounts" without naming RTP or FedNow in the documentation. If you need to know which rail your Stripe payout took, you cannot.
The trade-off: Modern Treasury, Column and Moov hide the FedNow-or-RTP decision and save you a directory lookup, at the cost of not knowing which rail a given payment used until after the fact. Increase and Dwolla make you own the decision and expose the rail in the response. For reconciliation and for incident response, I would rather know. For a payouts product with thin engineering coverage, I would rather not.
Will Same-Day ACH at $10m Kill Wires? My Prediction for 2028
This is opinion, not sourced fact, and I will mark it as such. From 17 September 2027, a $9m domestic payment can go by Same Day ACH for a fraction of a cent in network fees, settle by 6pm ET, and remain returnable for two banking days. The same payment by Fedwire costs the bank up to $0.97 plus a $0.14 surcharge, and the customer $30, and it is final. Both instant rails already take $10m.
My prediction is that domestic wire volume between $1m and $10m falls materially from 2028, that banks respond by bundling wire fees into treasury packages rather than cutting them, and that the rail that actually absorbs the volume is not Same Day ACH but RTP, because corporate treasurers want the money to be gone, not returnable. The Fed's own decision to stop at 22-hour Sunday-to-Friday Fedwire rather than 24/7 reads to me as an acknowledgement that the instant rails are the future of time-critical dollar payments and Fedwire's job is settlement, not payments.
What I do not expect is ACH to shrink. 35bn payments a year, 8bn of them business-to-business, is not a legacy footprint. It is the payroll, billing and tax base of the country, and the pull capability has no instant-rail equivalent beyond Request for Payment, which still needs the payer to act.
What This Means for Payments Teams Building on US Rails
1. Store the rail per payment, not per customer. The same recipient may be reachable by RTP today and only ACH tomorrow if their bank changes sponsor. Record network and the operator reference on every leg.
2. Encode three Same Day ACH windows and a $1m cap, with a feature flag for $10m on 17 September 2027. Remove any payment-splitting logic on that date rather than leaving it to rot.
3. Treat FedNow limits as per-bank, not per-network. Check the receiving institution's configured limit, or expect amount_exceeds_bank_limits and have an ACH fallback path.
4. Model instant-rail reversals as new inbound credits with an expiry, 95 days for FedNow camt.056, and ACH returns as status transitions on the original. Do not share a state machine between the two.
5. Surface ACWP as its own state. It is not success and not failure. The receiver has until midnight ET the next business day; your customer support script needs to say that.
6. Keep wire cut-offs in ET and in code. 6:45pm for customer transfers, 7:00pm for bank transfers, no weekends, and nothing earlier than 2028 for Sundays.
7. Pick an API abstraction consciously. If you need to know which instant rail carried a payment, use a provider that tells you (Increase, Dwolla). If you want routing done for you, accept that you will not know (Modern Treasury, Column, Moov).
8. Do not promise consumers UK-style fraud reimbursement on US instant rails. Reg E does not cover authorised push payments and nothing in the RTP or FedNow rules fills the gap.
US Payment Rails Mapped to UK Schemes for Engineers in the UK
For readers who already run Faster Payments, Bacs and CHAPS, the mapping is imperfect but useful. ACH is Bacs: batch, cheap, pull-capable, and the only rail with a real return path. RTP and FedNow together are Faster Payments: instant, push-only, final, with the important difference that the US has two of them and they do not talk to each other. Fedwire is CHAPS, including the ISO 20022 migration and the lack of a cap. There is no US equivalent of the £85,000 APP fraud reimbursement, no Confirmation of Payee at network level, and Same Day ACH's three windows have no Bacs analogue. If you are porting a UK payouts engine, the parts that will not port are the single instant rail assumption and the fraud liability model.
Figures in this guide come from Nacha, The Clearing House, the Federal Reserve Financial Services fee schedules and statistics pages, and provider documentation as published in September and October 2026. Tom Wang builds payment infrastructure in the UK; corrections are welcome.