Modern Treasury vs Dwolla for $1M ACH: 3-Way 2026
The category decision is whether you need a payment-ops ledger or an ACH rail with a bank partnership. Modern Treasury vs Dwolla for Same-Day ACH at the million-dollar cap is that comparison, plus the hold that sits on anything near $1,000,000. Neither product is FedNow. Neither is RTP. Neither is your core bank.
Same-Day ACH is a Nacha product with its own per-payment limit and three settlement windows. Same-Day ACH per-payment limit: $1,000,000 according to Nacha (2026), until the announced increase. A payment-ops ledger records the intent, the payment order, and the reconciliation. An ACH rail moves the money through an ODFI. Buying the rail and expecting a ledger, or buying the ledger and expecting bank sponsorship, is how files fail at cutoff.
This page is published from the homepage. No vendor paid for inclusion.
TL;DR: Choose Modern Treasury when you need a ledger of payment orders, expected payments, and reconciliation across rails. Choose Dwolla when you need ACH origination through their bank partnership and a simpler transfer object. Stay on your bank’s Same-Day ACH portal if that already posts with a dual-control hold. Orchestrate only when the ledger, the rail, and the GL still disagree after a named ops review.
Same-Day ACH is not FedNow or RTP
Same-Day ACH, FedNow, and RTP are different networks with different cutoff windows and different current dollar caps. Confusing them is how a $1,000,000 Same-Day ACH debit is “fixed” by pointing at an instant-payments slide.
Nacha has adopted a rule to raise the Same-Day ACH per-entry limit from $1 million to $10 million, effective September 17, 2027. Same-Day ACH cap rise: $10 million according to Nacha (2027 effective). Until that date, originators still live under $1,000,000. That rule page also records RTP’s June 2025 move from $1 million to $10 million and FedNow’s November 2025 move from $1 million to $10 million — those are other networks, not a reason to ignore the current Same-Day ACH cap.
RFC support for a higher cap: 87% of 117 responses, on that same dollar-limit rule page (2025 RFC). Support is not the same as a live $10 million Same-Day ACH credit today.
Adjacent finance reading: KYC onboarding, bank reconciliation ROI, beneficiary review, and the financial services playbook.
Key Takeaways
Same-Day ACH is still a $1,000,000 per-payment product until September 17, 2027.
Modern Treasury is a payment-ops ledger; Dwolla is an ACH rail plus bank partnership.
FedNow and RTP are different networks; do not score them as Same-Day ACH.
Dual control belongs on anything near the cap, not only on wires.
Orchestrate only after payment-order IDs, cutoff calendars, and a named ops hold exist.
Evaluation weights for a million-dollar originator
Weights assume an originator that already has an ODFI relationship or will use a partner bank, and that files Same-Day ACH near the cap. A consumer bill-pay app should raise “bank partnership” and lower “multi-rail ledger.”
| Evaluation criterion | Weight | Proof on a live file | Disqualifier |
|---|---|---|---|
| Same-Day ACH origination | 25% | 12 SDA credits | Next-day only |
| Ledger of payment orders | 20% | 10 orders | Spreadsheet ledger |
| Bank partnership / ODFI path | 20% | 1 ODFI | No origination path |
| Dual-control hold near $1M | 15% | 1 named hold | Auto-release at cap |
| Reconciliation objects | 10% | 8 expected payments | Bank CSV only |
| Exit (export orders) | 10% | 2 exports | Portal-only |
Cap handling is a process, not a feature checkbox. Confirm Same-Day windows, return handling, and who can release a $1,000,000 debit in the same quote as API access.
Normalized feature matrix
Scores from public product pages checked 2026-09-06: 2 = first-party description of this job; 1 = adjacent, confirm in contract; 0 = not found for Same-Day ACH at the million cap. The USTA column is first-party design numbers for this page (1 named hold, 1 recipe, 8 publish gates).
| Capability evidence | Modern Treasury | Dwolla | USTA (proposed) |
|---|---|---|---|
| Payment-ops ledger | 2 | 1 | 0 |
| ACH origination rail | 2 | 2 | 0 |
| Same-Day ACH story | 2 | 2 | 0 |
| Documented public list price | 0 | 0 | 1 |
| Named dual-control hold | 0 | 0 | 1 |
| First-party recipes on this page | 0 | 0 | 1 |
| Publish gates on this page | 0 | 0 | 8 |
Modern Treasury wins the ledger and multi-rail operations story. Dwolla wins a focused ACH rail plus bank partnership story. In our own corpus, 48.6% of pages once sat 12 months without a Google impression (6,007 of 12,350) before we repaired internals — a reminder that a ledger without a hold is an unread exception queue.
Pricing and cutoff reality (checked 2026-09-06)
Both vendors typically quote. Example: 1 legal entity, 3 ops seats, 40 Same-Day ACH payments per month, several near $1,000,000. Nacha return-rate maxima still apply regardless of SaaS brand.
| Vendor | Public SaaS list (2026-09-06) | Example entities | Impl. weeks | Contract months | Named holds |
|---|---|---|---|---|---|
| Modern Treasury | contact vendor | 1 | 8 | 12 | 0 |
| Dwolla | contact vendor | 1 | 6 | 12 | 0 |
| Bank SDA portal only | $0 added SaaS | 1 | 0 | 12 | 1 |
| Nacha overall return max | 15% | 1 | 0 | 12 | 0 |
| USTA proposed hold path | see /pricing | 1 | 4 | 12 | 1 |
Ask for Same-Day ACH eligibility, per-payment cap edits, window cutoffs, return-code handling, and payment-order export in one quote. A cheaper rail that cannot show payment_order history is not cheaper.
Nacha overall debit return-rate maximum: 15% according to Plaid (2026), with 3% administrative and 0.5% unauthorized maxima. Plaid’s internal thresholds are tighter (12%, 2.5%, 0.4%). Those are originator obligations, not vendor marketing.
Accountant median wage: $83,680 according to BLS (2025). Ops hours spent re-keying a $1,000,000 debit into a second portal are close hours you did not finish.
PAYROLL and PURCHASE labels start: 20 Mar 2026 on that same Plaid originator article. Wrong Company Entry Description is a 2026 rule problem, not a ledger preference.
Modern Treasury public site year: 2026 according to Modern Treasury (2026). Confirm Same-Day ACH and the $1,000,000 cap on the edition you buy; a homepage is not a cap edit.
Dwolla public site year: 2026 according to Dwolla (2026). Confirm which SEC codes and Same-Day windows the partnership actually originates.
Modern Treasury vs Dwolla profiles
Modern Treasury — best for payment-ops ledgers
Modern Treasury is a payment-ops ledger used to create payment orders, track expected payments, and reconcile across rails. Best fit: teams that need one object model for ACH, wires, and returns, including Same-Day ACH near the cap. Limitations: you still need an ODFI or connected bank; it is not FedNow; pricing is quote-led. Implementation: map internal payment IDs, cutoff calendars, and dual control, then originate 12 Same-Day items in a test window. Primary evidence: Modern Treasury public product pages. Disqualifier: you only needed a partner bank to originate consumer ACH.
Dwolla — best for ACH rail plus bank partnership
Dwolla is an ACH rail with a bank partnership model. Best fit: platforms that need to originate ACH (including Same-Day where offered) without becoming an ODFI. Limitations: it is not a full treasury TMS; confirm Same-Day ACH, the $1,000,000 cap, and which SEC codes you may use. Implementation: verify customers, store funding sources, then run transfers with a human hold near the cap. Primary evidence: Dwolla public product pages. Disqualifier: you needed a multi-rail ledger of expected payments more than a transfer API.
Keep the bank portal — best when dual control already works
If your ODFI’s Same-Day ACH portal already posts with dual control and you can export, adding a second originator brain is how you duplicate IMAD-like IDs. Best fit: one originator, one cutoff calendar, one GL. Limitations: native automations stop at the bank wall. Disqualifier: ops still pastes amounts into a portal from Slack.
Cross-system payment holds
When Modern Treasury reports payment_order.completed for a $1,000,000 Same-Day ACH debit but the GL still shows the payroll funding as pending, a proposed US Tech Automations path could match the payment-order ID, pause for ops, and only then mark the employee credit file releasable. Prerequisites: Modern Treasury webhooks, GL export, unique payment-order key, and a human who will catch a truncated $1,000,000.01 that is not Same-Day eligible. Configurable capability, not a live originator result. The finance-accounting agent path is the allowlisted route for that hold.
A second proposed path: a Dwolla transfer near the cap waits a configured window, then opens an ops hold before any Same-Day file is released. Output: hold queue, amount, SEC code, window, and a yes/no on release. Same rules: no implied deployment.
Zapier plus Make plus n8n can connect Modern Treasury or Dwolla to Slack and the GL and can keep run histories, retries, error branches, and audit evidence when configured. The operator still owns observability, idempotency, escalation, access controls, retention, and maintenance. A proposed US Tech Automations design would require the ops hold before any Same-Day release at or near $1,000,000 and write the decision back to the payment-order record.
Worked $1M file: 36 debits, $875,000, 240 credits
A payroll funder originating 36 Same-Day ACH debits at $875,000 average with a $1,000,000 cap can treat Modern Treasury payment_order.completed as the ledger event that the $875,000 debit cleared before releasing 240 employee credits. The 36, $875,000, and 240 figures are a worked scenario; payment_order.completed is a real Modern Treasury webhook. If Dwolla is the rail, keep customer verification and funding sources there. Do not dual-write “completed” in Slack and “pending” in the ledger.
Same-Day ACH settles in windows (including 1:00 p.m., 5:00 p.m., and 6:00 p.m. Eastern on the Nacha $10 million rule page). Missing a window is not a ledger bug. It is a calendar.
Who this is for
This comparison is for payment-ops, treasury, and platform teams that originate Same-Day ACH, including items near $1,000,000, and need a ledger or a rail they can actually operate. Stack: originator software plus ODFI or partner bank plus GL. Pain: cap rejects, cutoff misses, and returns that never reach a named person.
Red flags: a team that only sends next-day ACH under a few thousand dollars; a bank portal that already posts Same-Day ACH with dual control; a buyer who will not connect webhooks or name an ops owner for cap-adjacent releases.
Cutoff calendar and return-code runbook
Same-Day ACH is a clock. Write the three settlement windows in Eastern time on the same page as the $1,000,000 cap. Nacha’s dollar-limit rule discusses 1:00 p.m., 5:00 p.m., and 6:00 p.m. Eastern flows. If ops thinks “same day” means “whenever we click,” you will miss the window and blame the vendor. The vendor did not miss the window. The calendar did.
Return codes are the second clock. Standard returns: 2 banking days after settlement. Unauthorized consumer claims can run up to 60 calendar days. If your Slack channel is the only place R10/R11 appear, you will blow the 0.5% unauthorized maximum without noticing. Put return codes in the same queue as payment-order IDs. Dual control on origination without dual control on returns is half a control.
Over-cap behavior must be a hard reject. Truncating $1,000,000.01 to $1,000,000 so it “fits” is how you originate the wrong amount. The 12-item pilot in the table below is not optional theater. Under cap, at cap, over cap. If the product cannot show that path in a test window, do not originate live cap items.
Idempotency matters when Zapier retries a Same-Day file. A retry that creates a second payment_order is a duplicate debit. The operator owns that if they built the Zap. A proposed US Tech Automations design would key retries on the payment-order ID and refuse a second release without the ops hold. That is a configurable difference, not a promise that retries are unavailable in no-code tools.
Do not mix FedNow “instant” language into the Same-Day ACH runbook. Instant is a different network. Same-Day ACH can still fail at cutoff. Keep the words separate so a new hire does not send a $1,000,000 item to the wrong rail.
Originator checklist before you sign
Write the current $1,000,000 cap into the runbook (and the 2027 $10 million date as a future change, not a live limit).
Name Same-Day ACH windows in Eastern time.
Map SEC codes you will actually send.
Export payment orders twice from the incumbent.
Pilot 12 Same-Day items: under cap, at cap, over cap (must reject).
Only then connect Slack or the GL, using the same payment-order ID.
| Pilot object | Count | Pass if | Fail if | Days to evidence |
|---|---|---|---|---|
| SDA credits under cap | 8 | Posted in window | Next-day fallback silent | 7 |
| SDA at $1,000,000 | 2 | Accepted | Silent reject | 7 |
| Over-cap items | 2 | Hard reject | Truncation | 7 |
| Dual-control holds | 4 | Hold before release | Auto-release | 7 |
| Return codes sampled | 3 | Ops queue | Email-only | 14 |
| Payment-order exports | 2 | IDs match GL | Portal-only | 14 |
Frequently asked questions
Is Modern Treasury or Dwolla better for Same-Day ACH at $1,000,000?
Modern Treasury is the better default when you need a payment-ops ledger across rails and a payment-order object. Dwolla is the better default when you need ACH origination through a bank partnership. Confirm Same-Day ACH and the cap on the edition you buy. Run the 12-item pilot on the one that already matches how you originate.
Is Same-Day ACH the same as FedNow?
No. Same-Day ACH is a Nacha product with its own limit and windows. FedNow and RTP are different networks. Nacha’s $10 million Same-Day ACH rule cites RTP and FedNow already at $10 million; that is parity in 2027, not a live Same-Day ACH change in 2026.
When should a team skip a cross-product hold?
Skip US Tech Automations when Modern Treasury or Dwolla (or the bank portal) already posts Same-Day ACH with dual control, when you will not connect webhooks, or when no ops owner will sit a hold. Zapier plus Make plus n8n are enough if your team will own logs, retries, and access control. A proposed design here is a mandatory hold before cap-adjacent release, plus write-back.
Can we keep Slack as the only automation?
You can keep Slack for alerts. Do not let a Slack reaction be the source of truth for whether a $1,000,000 debit released. The ledger owns the payment order; the rail owns settlement; the GL owns the books.
What is the first migration object?
The first migration object is payment-order IDs and amounts, not historical bank PDFs. Unique IDs first. Then SEC codes. Then windows.
How should we test the million-dollar cap?
Test with a sandbox originator and amounts at $999,999.99, $1,000,000.00, and $1,000,000.01. Confirm accept, accept, reject. If the vendor cannot show that path, do not originate live cap items.
Pick the ledger or the rail, then the hold
Pick Modern Treasury for the ledger or Dwolla for the ACH rail. Put the $1,000,000 cap and window calendar in the quote. Pilot under, at, and over cap. Export twice. If you still need an ops hold between completed and released, review the finance-accounting agent.
About the Author

Helping businesses leverage automation for operational efficiency.