Twelve criteria for evaluating a virtual account API, from rails and naming to custody, webhooks, and pricing, plus red flags and a scorecard to copy.
When choosing a virtual account provider, check five things first: which rails and currencies the accounts can receive, whether accounts are named in your customer's name or pooled, how settlement works (fiat, stablecoin, and which chains), who holds the funds, and how long compliance and bank approval take. Then score the rest: webhooks, docs, sandbox, pricing, and support.
The demo always works. The checklist is for what happens after.
Look for a provider whose accounts can receive the rails your payers use, in a name your payers and compliance team accept, settling where your treasury needs the money, with an approval process you can build onboarding around. The 12 criteria below cover both the developer side and the finance side.
| # | Criterion | Why it matters | Question to ask |
|---|---|---|---|
| 1 | Currencies and rails supported | An account that can't receive your payers' rail is useless to them | Which rails can deposit into the account (ACH, wire, SWIFT, SEPA, local rails), per account type? |
| 2 | Account naming | Named accounts show your customer as beneficiary; pooled accounts show the provider | Whose name does the payer see, and do payouts go out under the customer's name? |
| 3 | Issuance speed and limits | Your onboarding flow waits on it | What's the SLA per account type, what restarts the clock, and how many accounts can one customer hold? |
| 4 | Settlement options | Decides whether you receive fiat, stablecoins, or both, and on which chains | Can deposits settle as fiat, USDC, or USDT? On which networks? Can I change the destination later? |
| 5 | Custody model | Decides who holds funds after settlement and who carries the risk | Do funds settle to a wallet or account my customer controls, or one you hold? |
| 6 | Compliance and KYC/KYB coverage | You can't issue an account to a customer the provider can't verify | Do KYC, KYB, and sanctions screening run inside your API, and which countries can you onboard? |
| 7 | Banking partner redundancy | One bank relationship is one point of failure | How many banking partners issue your accounts, and what happens to my accounts if one exits? |
| 8 | Webhooks and event design | Your ledger runs on these events | Which events fire per account and per deposit? Are they signed, retried, and replayable? |
| 9 | API docs and SDKs | Integration speed, and how many surprises you hit | Is there a public OpenAPI spec? Which languages have official SDKs? |
| 10 | Sandbox and CLI | You need to test deposits before any real bank is involved | Can I create accounts and simulate deposits on a free sandbox? Is there a CLI? |
| 11 | Pricing transparency | Hidden per-deposit fees break unit economics | What's the monthly cost per account, the fee per deposit, and where does each show up? |
| 12 | Support and SLAs | Stuck deposits become your support tickets | Who do I contact when a deposit is on hold, and what are your response times? |
These two get skipped in most evaluations, and they're the ones that hurt later.
Banking partner redundancy. Virtual accounts sit on a bank's infrastructure. If a provider has one banking partner and that bank changes its risk appetite, every account can be affected at once. Ask how many banks issue the provider's accounts, whether customers are eligible on more than one, and what the migration plan is if a partner exits. A provider with several partners can also route customers by eligibility, for example US versus non-US businesses.
Event design. Your ledger is only as good as the events feeding it. You want a creation event and a completion event for every account, and a separate record for every deposit, with its own id, amounts, and fees. You want signed payloads, retries, and a replay button. The patterns for consuming them are in stablecoin API webhooks and reconciliation, and what the matching looks like in practice is in how virtual accounts automate reconciliation.
Walk away, or at least slow down, if you hear any of these:
Copy this scorecard. Give each criterion a weight from 1 (nice to have) to 5 (dealbreaker) based on your business, score each provider from 1 (poor) to 5 (excellent), and multiply.
| Criterion | Weight (1 to 5) | Provider A score (1 to 5) | Provider A weighted | Provider B score (1 to 5) | Provider B weighted |
|---|---|---|---|---|---|
| Currencies and rails | |||||
| Account naming | |||||
| Issuance speed and limits | |||||
| Settlement options | |||||
| Custody model | |||||
| Compliance and KYC/KYB | |||||
| Banking partner redundancy | |||||
| Webhooks and event design | |||||
| API docs and SDKs | |||||
| Sandbox and CLI | |||||
| Pricing transparency | |||||
| Support and SLAs | |||||
| Total |
Illustrative weighting. A remittance app with foreign senders might weight rails 5 (it needs SWIFT), naming 4, settlement 5 (it pays out in stablecoins), and sandbox 3. A US SaaS company collecting ACH from domestic customers might weight rails 3, pricing 5, and event design 5. Same checklist, different winner.
If you're also evaluating the stablecoin API behind the accounts, how to choose a stablecoin API covers pre-funding, payout rails, and settlement speed.
Here's how BlindPay answers each criterion, from the public docs. It's one data point for your scorecard, not a verdict.
| # | Criterion | BlindPay |
|---|---|---|
| 1 | Rails | US virtual accounts receive ACH, wire, and SWIFT, depending on account type. Payouts go out over Pix, SPEI, ACH, RTP, SEPA, SWIFT (POBO/COBO), and other local rails to 100+ countries, with UETR tracking and MT103 confirmations on SWIFT. No IBANs |
| 2 | Naming | Named: each account is issued in one customer's name, and payouts from it go out under that name |
| 3 | Issuance | Compliance review, then bank review. SLA of 24 hours or 3 to 5 business days by account type. A customer can hold several accounts |
| 4 | Settlement | Deposits convert to USDC or USDT and settle to one wallet per account. Token and wallet can be changed later |
| 5 | Custody | Settles to an external blockchain wallet the customer controls |
| 6 | Compliance | KYC, KYB, and sanctions screening in the API. Accounts also need purpose, source of funds, and source of wealth (requirements) |
| 7 | Banking partners | Several banking partners, with eligibility based on the customer's country and type |
| 8 | Webhooks | virtualAccount.new, virtualAccount.complete, and payin.new, payin.update, payin.complete per deposit. Signed, retried, replayable |
| 9 | Docs and SDKs | Public OpenAPI 3.1 spec. Official SDKs for Node.js, Python, Go, PHP, and Swift (SDKs) |
| 10 | Sandbox and CLI | Free development instance where accounts are approved instantly. A CLI (blindpay virtual_accounts create) and an MCP server for AI agents |
| 11 | Pricing | $1.50 per month per account. Each deposit's fee is a field on its payin; plans are on pricing |
| 12 | Support | Issuance SLAs published per account type in the virtual accounts docs |
Two things BlindPay doesn't do, so you can plan around them: it doesn't issue virtual IBANs, and it doesn't allow accounts that collect for your customers' own unverified clients (nested payments). Some teams also pair BlindPay with another provider for wallet custody or stablecoin issuance. That's a normal setup.
For the concepts behind each row, see what is a virtual account, virtual account vs virtual IBAN, and virtual accounts for cross-border payments.
Send the 12 questions from the checklist table to every provider on your shortlist, and ask for answers per account type. While you wait, create a test account on a free BlindPay development instance with create a virtual account and score criteria 8 through 10 yourself. It takes an afternoon.
This article is for general information only and is not legal, tax, or financial advice.
AP2, ACP, and x402 each verify that an AI agent had permission to spend. Here is what every protocol covers, who backs it, and the reconciliation gap none of them close.
Seven stablecoin payment platforms compared for US fintechs in 2026: what makes an API production-ready, how each provider handles compliance, settlement speed against ACH, and how to run the evaluation.
How to choose a stablecoin payment provider in 2026: the four provider types, a comparison of 10 options, and the questions that decide the fit.