ACH transfers

ACH moves money between US bank accounts in batches: debits pull funds into Moov and credits push funds out. It's the lowest-cost rail for bank payments, with funds arriving the same or next banking day.

Moov doesn't move money directly between external bank accounts. Funds always pass through Moov, so a bank-to-bank transfer is an ACH debit into Moov followed by an ACH credit out. Moov can do both legs in a single transfer when the source and destination are bank accounts linked to Moov accounts.

ACH processing flow diagram

Before you start

  • Capabilities: the destination needs collect-funds.ach to collect with ACH debits, and the source needs send-funds.ach to send ACH credits. See payment methods and capabilities.
  • Bank accounts: link a bank account. To debit it, first verify it with instant micro-deposits or a verification partner.
  • Eligibility: not every use case is eligible for bank-to-bank ACH transfers. Ask Moov if you're unsure.

Choose an ACH payment method

Payment method Direction Use it to Transfer shape
ach-debit-fund Money in Fund your own wallet, for example before sending payouts Bank account → Moov
ach-debit-collect Money in Collect a payment from a customer, such as a bill or subscription Bank account → Moov
ach-credit-same-day Money out Pay out to a bank account the same banking day Moov → bank account
ach-credit-standard Money out Pay out to a bank account the next banking day Moov → bank account

Moov processes ACH debits same day whenever a window is available. Debited funds are held for two banking days before they're available, unless the account is approved for faster ACH. Limits per payment method are in transfer limits, and you can pass ACH payout fees to the recipient with feePaidBy.

Find ACH answers

Question Go to
What are the cutoff times, and when are funds available? ACH processing speed
What do the achDetails statuses mean? How do I set the statement descriptor, SEC code, or addenda? ACH details, SEC codes & addenda
What happens when a payment is returned, and what does each return code mean? ACH returns
How do I cancel an ACH transfer? Cancel an ACH transfer
How do I fix a bank account errored by an R29 return? Self-serve R29 returns
The open source moov-io/ach library reads, writes, and validates Nacha ACH files.
In this section