Bank account verification & ACH risk

Know the account before the money moves.

Every ACH debit you originate is a bet on an account you cannot see. ArJay Data lets you look first — routing and account validity, ownership, balance behavior and return history — and returns a decision you can act on in the same second the customer hits submit.

No platform fee · No monthly minimum · Pay per inquiry

Live decision POST /v1/verify
Routing— — —
Account— — —
Name on file— — —
Debit amount— — —
Accept no_negative_history Account verified against the returns database. No unpaid items on file.
15,000+
Institutions in the verification network
4.3B+
Transactions in the risk database
13 yrs
Of returns history behind a decision
24/7/365
Inquiry availability
The stakes

Three lines you cannot cross

A returned debit costs you the payment, the fee, and eventually the ability to originate at all.

Nacha holds every originator to hard return-rate ceilings, measured across a rolling 60-day period. Cross one and you are in a remediation conversation with your ODFI. The cheapest place to solve a return is before the file is ever sent.

0.5%
Unauthorized return rate
Debits the account holder says they never approved. The hardest ceiling, and the one that draws scrutiny fastest.
R05R07R10R11R29R51
3.0%
Administrative return rate
Accounts that are closed, do not exist, or were keyed wrong. Almost entirely preventable with a pre-debit check.
R02R03R04
15.0%
Overall return rate
Everything that comes back, insufficient funds included. The ceiling most portfolios drift toward as volume grows.
R01+ all others
What we screen for
Invalid routing numberMalformed account structureClosed or not-found accountsUnpaid items & prior returnsName-to-account mismatchInsufficient balanceUnauthorized-return historyNacha WEB debit rule
The suite

Four ways to read an account

From a millisecond verdict to a human on the phone with the bank.

Use one. Use them in sequence. Most originators run every inquiry through Pulse, then send only the declines worth a second opinion to Echo or Stream — which keeps cost per approval down without writing off good customers on one bad signal.

Pulse
Real-time pre-debit decision

Send a routing and account number. Get back ACCEPT or DECLINE, with the reason attached, before the transaction is ever queued — scored against a database of 4.3 billion ACH, e-check and paper-check outcomes built up over thirteen years.

  • Routing number validity and account-structure checks
  • Closed, invalid and not-found account detection
  • Count and dollar value of unpaid items on the account
  • Names and phone numbers associated with the account
  • Unauthorized-return alerts and average days-to-pay
  • Nacha WEB debit rule compliance in a single call
Lite · non-FCRACorePlusMax
Stream
Permissioned account & transaction data

The customer logs into their own bank and grants access. You get the account confirmed as theirs, plus up to 365 days of what actually happens inside it. Microdeposits disappear and so does the two-day wait for them.

  • Network coverage across 15,000+ financial institutions
  • Real-time current and available balance
  • Direct-deposit detection and income patterns
  • Insufficient-funds history on the live account
  • Credit accounts and outstanding loan balances
  • SSN, EIN and current-plus-prior address history
Verify onlyBalance checkFull history
Echo
Human-verified confirmation

When the file has to be right, the account is verified directly with the institution — a person confirms its actual status, including whether the specific amount you intend to debit will clear. Verify as many times as you need; none of it touches the consumer's credit.

  • Open, active and positive-balance confirmation
  • Account type: checking, savings or money market
  • Whether a stated debit amount will clear today
  • Direct three-way call with the institution
  • Account open date, joint ownership, linked accounts
  • Returned inside 24 hours by batch or API
StandardDirect · 3-way call
Spectrum
Predictive bank-behavior score

A single number on the familiar 350–800 scale, built from how this account has actually behaved — not from a credit file. Use it to set limits, tier pricing, or decide who gets funded same-day.

  • 36 months of transaction, return and default history
  • First-seen and last-seen dates for the account
  • Confirmed ability to accept ACH transactions
  • Name, SSN, driver's license and phone match indicators
  • Known loans and their current status
  • High-risk flags on closed or unlocatable accounts
ScoreScore + reason codesFull report
Add-ons
OFAC screeningWatchlist searchSSN validationDriver's license verificationDeath Master FileEmail validation
The flow

Three steps, in this order

Send. Decide. Debit.

STEP 01 · SEND
Hand us the account
A routing number, an account number, and whatever else you already collected — name, amount, SSN. One REST call at the moment of application, or a nightly batch file if you would rather not touch your checkout.
STEP 02 · DECIDE
Get a verdict, not a data dump
We return a decision you can branch on immediately — approve or decline — with the reason attached. Velocity and risk thresholds are yours to set, and you can change them without a redeploy.
STEP 03 · DEBIT
Originate with the odds on your side
Fund, debit or decline knowing the account is real, open, and has a history of paying. Send the declines worth a second look to Echo or Stream instead of guessing — or instead of losing a good customer to a microdeposit flow.
Integration

Three ways in

Wire it up in an afternoon, or don't wire it up at all.

REST API
JSON in, JSON out, synchronous. Sandbox keys the day you sign, with deterministic test accounts for every decision path so you can build the decline branch before you ever see a real one.
Batch over secure FTP
Drop a file, pick up a file. The right answer when you are screening an existing book, running nightly re-verification, or cleaning a portfolio you inherited.
Web portal
No engineering at all. Your team keys an account, sees the verdict, and moves on. Same data, same decision logic, no ticket in anyone's backlog.
POST https://api.arjaydataverify.com/v1/verify
Authorization:   Bearer ajd_live_…
Idempotency-Key: 4f9c2a1e-7b03-4d18-9a52-c1e6f0d84b77
Content-Type:    application/json

{
  "routing_number": "021000021",
  "account_number": "4417820396",
  "amount":         "1480.00",
  "reference":      "order_10482",

  // optional — raises confidence on the match
  "identification": {
    "type":   "drivers_license",
    "number": "D9020184",
    "state":  "VA"
  }
}
200 OK

{
  "id":        "inq_9F2K4M7QX",
  "reference": "order_10482",
  "decision":  "ACCEPT",
  "reason":    "no_negative_history",
  "account": {
    "routing_number":       "021000021",
    // full account number is never echoed back
    "account_number_last4": "0396",
    "status":               "verified"
  },
  "received_at": "2026-08-26T14:22:07Z"
}
200 OK — a declined account is a successful lookup,
not an error. Branch on decision, not status code.

{
  "id":        "inq_3B7T1P0LW",
  "reference": "order_10517",
  "decision":  "DECLINE",
  "reason":    "account_closed",
  "account": {
    "routing_number":       "031176110",
    "account_number_last4": "8447",
    "status":               "closed"
  },
  "received_at": "2026-08-26T14:31:44Z"
}
422 Unprocessable Entity

{
  "error": {
    "type":    "invalid_request",
    "code":    "routing_number_invalid",
    "param":   "routing_number",
    "message": "Failed ABA checksum validation."
  },
  "request_id": "req_2K8XQ4M7F9"
}

401  invalid or revoked key      429  rate limited
409  idempotency key replayed   503  upstream unavailable

Illustrative. Sandbox credentials and the full field reference are issued on approval.

Who we serve

One question, many industries

If your business debits a bank account, you have this problem.

The account you are about to charge is either good or it isn't. What changes by industry is only what a bad one costs you.

Consumer lending
Fund the loan into an account that exists and will pay it back.
Auto & retail finance
Set the down payment and the first debit with the same look.
Rent-to-own
Weekly and biweekly debits, so a bad account compounds fast.
Property management
Screen the applicant's account alongside the application.
ACH & e-check processors
Screen your merchants' files before they become your return rate.
Subscription & billing
Stop involuntary churn at signup instead of at renewal.
Insurance
Premium finance and recurring pay plans that actually clear.
Check cashing & gaming
Same-second answers when the customer is standing there.
Why ArJay

What working with us is like

Verification data without the enterprise procurement cycle.

Pay per inquiry
Tiered pricing that drops as volume rises. No platform fee, no seat licenses, no minimum you have to grow into before the math works.
One contract, one integration
Every product in the suite runs through the same credentials and the same endpoint. Add Stream or Echo later without a second agreement or a second build.
A person, not a portal
You get a named point of contact who knows your file layout and your return rates. Support is a phone call, not a ticket queue.
Built for compliance
FCRA-regulated products are handled as such, with permissible-purpose controls and a non-FCRA path when your use case doesn't require one.
Live around the clock
Inquiries are answered 24 hours a day, every day of the year. Weekend originations get the same answer speed as Tuesday morning.
You keep your stack
We fit behind whatever you already run — loan management system, billing platform, homegrown checkout. We are a call in your flow, not a replacement for it.

Get started

Stop paying for returns you could have seen coming.

Tell us your volume and what you are debiting. We will map the right product mix, quote per-inquiry pricing, and get sandbox credentials in your hands the same week.

Verify. Protect. Transact.