For ACH Pulls (Incoming Funds), there's the possibility that the deposited funds are reversed or clawed back by the originating institution. It is important to consider these scenarios when utilizing ACH Pull functionality via MX or Plaid bank account linking.
- Generally occurs very soon after ACH funds settle into an account (providing a positive
disbursablebalance). There are a host of reasons for reversals, usually denominated by an "R" code.
- ACH settlement can take anywhere between t+1-3 banking days depending on timing of submission. It is possible to have funds enter into the account and be
disbursable, yet be reversed a day later. Take this into account if you're allowing any transaction outflows immediately after receiving ACH funds.
- Occur when an end user disputes a charge at their bank, resulting in the originating bank "clawing" back funds from the account.
- ACH Chargebacks can occur during a greater window of time, up to 90 (sometime even 120) days after an ACH Pull occurs.
- ACH Chargebacks occur most often in the first 10 days of a transaction initiating
Generally, these ACH Reversals/Chargebacks cannot be disputed by Fortress, therefore it is important to consider risk/fraud mitigation practices. If an end user sends in funds via ACH and buys crypto with it, keep the crypto on your platform for an extended period of time to avoid crypto withdrawals and ACH chargebacks that are common in the industry.
We always advocate for fraud mitigation practices to keep your site safe and secure. Consider some of the following examples:
- Tiered users, with higher tiers showing trusted account activity allowing higher limits and quicker withdrawals.
- Delayed withdrawals based on the type of inflow, for either fiat or crypto
- Indemnity providers who can measure end user metrics allowing for more secure monitoring
- Limiting the amount of connected bank accounts, and double checking that the identities name matches their bank name.
There are some important differences to consider regarding reversals when it comes to using an Instant Settlement Account vs waiting for delayed settlement.
- Reversal is done directly out of the landing account, potentially leaving a negative balance.
- A webhook is sent to let you know of a reversal happening
- The reversal is done directly out of the ISA account.
- The system will attempt to reverse the internal transfer of fiat that happened between the ISA account and the end user's custodial account when the
/paymentwas successfully initiated:
a. If enough funds exist in the end user's custodial account, then the internal transfer will be successful and the funds will be sent back to the ISA account. You will receive 1 webhook notifying you of a successful reversal out of the ISA account (the $ that is clawedback by the originating bank), and 1 webhook notifying you of the successful movement of fiat from the end user CA back to the ISA (2nd
transactionobject status will be
b. If there aren't enough funds to internally transfer back to the ISA (in the case of that fiat already being transferred out/used to buy crypto), you'll again receive 2 webhooks. The 1st webhook notifies you of a successful reversal out of the ISA account, and the 2nd webhook notifies you of the failed transaction attempt for the internal transfer of fiat from the end user CA back to the ISA. You should try to remediate this by pushing the funds back into the account if they are still on platform, or selling any crypto bought with the reversed funds.
To see the structure of the webhooks, head over to our Webhook Examples page.
Updated 2 months ago