🏦 Checkout transactions

Accept bank account ACH payments with on-chain settlement


ACH takes 3 business days to settle and authorization is not instant. To avoid fraud Coinflow does not finalize credits/USDC/bank transfers until after the ACH payment has fully cleared.

An automated clearing house (ACH) is a computer-based electronic network for processing transactions,[1] usually domestic low value payments, between participating financial institutions. It may support both credit transfers and direct debits. The ACH system is designed to process batches of payments containing numerous transactions, and it charges fees low enough to encourage its use for low value payments.

Coinflow Checkout accepts ACH payments in addition to credit cards. When an ACH provider is configured, the bank account payment method is integrated into the checkout flow.

When ACH payments are made, they will be in a Pending state (no funds are transferred). When the bank accepts the payment info, the payment status will change to a Batched state. After 3 business days, the payment status will change to Settled and funds will be transferred.

Saved Bank Accounts

Bank accounts are stored for users once entered into the system and can be used for both purchasing and withdrawals. Users will be able to conveniently make subsequent purchases and/or withdrawals, improving the system interaction and improving conversion.

Coinflow is PCI-compliant and does not store the bank account data directly on our servers.

Payment Status

ACH payments will be assigned different payment states during the process.

PendingThe initial state of the payment - it has been entered into the system
BatchedThe bank has received the payment information
DepositedThe bank has informed the system that the payment can be settled
SettledThe system disburses the funds
ReturnedThe bank has refused the payment (see ACH processing error codes)
FailedThe payment was rejected by the bank on submission
ChargebackA customer attempted to reverse a settled payment
Refund ReviewA payment on-chain was not able to be verified
RefundedThe payment was refunded (funds sent back)


Coinflow provides a mock bank that can be used to fully test integration in our sandbox environment (no actual bank interaction occurs). The mock provider will accept any account numbers, routing numbers, names and addresses. The following amounts will trigger the defined results.

Test Amounts

11.11TotalBank account setup will fail - the account/routing numbers are in the negative accounts table
0.01SubtotalWill not get picked up for batching - will stay pending
1.11SubtotalOn system ACH update, will fail - the account/routing numbers are in the negative accounts table
2.22SubtotalOn system ACH update, will be marked as returned - insufficient funds
3.33SubtotalOn system ACH update, will be be marked as returned - invalid account number
4.44SubtotalOn system ACH update, will first be marked as batched. After 3 days will be marked as settled. The next ACH update after that, will be marked as a chargeback - stop pay on item
Any otherSubtotalOn system ACH update, will first be marked as batched. After 3 days will be marked as settled.

What’s Next

Review the potential errors and codes that can be returned for ACH payments