Moov allows you to create payments that directly involve external bank accounts using the ACH network. Automated Clearing House (ACH) transfers are electronic funds transfers between two financial institutions that can both push funds (ACH credits) and pull funds (ACH debits). Moov doesn’t move money directly between external bank accounts; all funds move through the Moov platform on the way to their final destination. In practice, money must move into Moov before it can move out.

ACH overview

This flow can be achieved in a single transfer when the source and destination are both external bank accounts linked to a Moov account. ACH can also be used to add or withdraw funds from a Moov wallet. In order to facilitate an ACH transfer, you will need to ensure the source and destination accounts have the necessary capabilities and payment methods.

💡 Examples of push payments include payouts or disbursements, while examples of pull payments include collections or billing.

Payment methods

Money in

Moov pulls funds into the Moov platform using ACH debits. ACH debits can be created using a payment method with the types:


  • Represents a “push” flow (e.g. payout or disbursement)
  • The source account will see Moov on their statement
  • The destination account will see the source’s displayName on their statement


  • Represents the first stage of a “pull” flow (e.g. destination billing the source account)
  • The source account will see the destination’s displayName on their bank statement
💡 A bank account must be verified using micro-deposits or one of Moov’s verification partners before it can be debited.

Money out

Funds leave the Moov platform with ACH credits. You can specify the processing speed using the payment method types:


  • Payment is processed with standard “next day” ACH processing
  • Takes 1-2 banking days
  • If the transaction is initiated before the 5:30 pm ET cut off, it should be posted in the external bank account the next banking day


  • Payment is processed with “same-day” ACH processing
  • If the transaction is initiated before the final 4:15 pm ET cut off, it should be posted in the external bank account by the end of the day
  • It is possible that same-day credits may be posted earlier (see additional same-day processing information below)

ACH processing and cutoff times

ACH payments are processed in batches and must be uploaded to Moov’s partner financial institutions before certain cutoff times. In general, “no news is good news”: the payment succeeded unless you receive a subsequent return file stating that it did not. To account for the time lag to hear back about returns or processing issues, Moov holds funds that enter the Moov platform via an ACH debit for 2-3 banking days before making the funds available. In most circumstances, funds are made available in the morning of the second banking day after the transfer was created e.g., Wednesday for a Monday transfer.

If the transfer is created after a cutoff time, it will be processed according to the same schedule on the next banking day. Banking days refer to M-F excluding bank holidays.

ACH cutoff times

Processing speed Cut-off time Expected time posted to bank
Same-day window 1 10:00 am ET Early afternoon
Same-day window 2 2:15 pm ET End of day
Same-day window 3 4:15 pm ET End of day
Standard 5:30 pm ET Next day

Same-day processing

To expedite the transfer process, Moov processes all ACH debits with same-day processing when available. You can request ACH credits to be processed same-day by using an ach-credit-same-day payment method as the transfer destination. Moov processes in all same-day windows.

Note that even though the payment is processed the same day, funds will be made available later to account for possible returns or processing issues. See the charts below to see how timing works in different ACH transfer scenarios.

ACH rail-specific details

You can obtain details about a transfer involving the ACH payment rail through the GET /transfers/{transferID} endpoint. If the source or destination uses an ACH payment method, the transfers details response will contain an achDetails sub-object that contains useful information such as:

  • status
    • initiated: ACH payment has been created in Moov’s system
    • originated: payment instructions have been sent to Moov’s ODFI partner
    • completed: funds are available in Moov’s system or should be available in the external bank account
    • failed: payment has failed due to a processing issue
    • returned: payment was returned by the receiving financial institution
    • corrected: payment completed but a notification of change was received
  • traceNumber: tracking number (assigned by Moov) that can used by payment recipient to trace the payment with their external financial institution
  • return: ACH return information per Nacha specification
    • code
    • reason
    • description
  • correction: ACH notification of change information per Nacha specification
    • code
    • reason
    • description

Customized ACH statement descriptors

We allow you the option to set a customized ACH statement descriptor when creating a transfer. If you’d like to provide more clarity or context for an individual transfer, you can utilize the following fields:

  • achDetails.companyEntryDescription: describe the purpose of the transaction
  • achDetails.originatingCompanyName: set how you want the company name to appear on the statement

The string you provide in those fields will override the default Nacha file entry. If you’d like to set custom descriptors, you can use these fields for both the source and destination, or just one.

Articles in this section