Learn how to use our Account Intelligence tool to validate bank accounts before allowing them to transact for the first time—de-risking to speed up ACH payments.

If you’re setting up your full ACH payments system with us, please refer to our comprehensive ACH Setup Guide. This documentation is intended for standalone adoption of our Account Intelligence tool into an existing ACH payments system.


Account Intelligence Overview

Our ACH API provides this tool for customers to validate the legitimacy of a bank account and assess its operability for successful ACH payments before processing transactions.

Benefits of this API

  • Prevention of Failed Transactions – Avoid processing payments to invalid accounts.
  • Reduction of Operational Risk – Minimize issues such as failed payouts and ACH returns.
  • Improved Onboarding Decisions – Use risk scoring to evaluate new bank accounts.

Risk Factors in ACH Payments

ACH payments can fail for many reasons—from user error and unknown account holds to intentional fraud.

Failed Payments and Return Codes

Account Intelligence is designed to minimize failed payments caused by these common NACHA return codes:

Return CodeTitleACH TypeTime FrameDescription & Suggested Message
R02Account ClosedWEB or CCD2 Banking DaysThis transaction has failed due to NACHA code R02, indicating a closed account. Please replace the information with an open account and try again.
R03No Account / Unable to LocateWEB or CCD2 Banking DaysThis transaction has failed due to NACHA code R03. Please resubmit correct bank account information and try again.
R04Invalid Account Number StructureWEB or CCD2 Banking DaysThis transaction has failed due to NACHA code R04. Please re-enter the account number correctly and try again.

Initial Setup

To begin using Account Intelligence, you’ll need:

  • Sandbox API keys
  • Test account information
  • issued certs (if required)

Integration

Our Account Intelligence only requires two input parameters:

  • account_number
  • routing_number

In return, you receive:

  • risk_score – A generated numeric risk assessment
  • confidence_level – Our assessment of the validity of the account data

The confidence level is not a measure of the risk score’s accuracy. It is a standalone value that reflects our confidence in the bank account data itself.

Risk Score vs Confidence Level

Risk Score RangeConfidence LevelDescription
0.00 - 0.20Very LowMinimal confidence the account is valid. Could be due to structural inconsistencies, inactive routing, or a closed account.
0.21 - 0.40LowLow confidence. Format and routing might be valid, but risk remains.
0.41 - 0.60MediumBetter than 50% chance the account is valid. Some positive indicators exist.
0.61 - 0.80HighStrong signs that the account is active and structurally valid.
0.81 - 0.95Very HighHighest confidence. The account is likely active and previously seen in our network.

Monitor Statuses (Relevant Webhooks)

(Coming soon — include webhook names, payloads, and sample logic for response handling)


Testing

(Coming soon — include sandbox examples and test values to simulate various confidence/risk responses)