How a non-US business collects US invoices by ACH, wire, or SWIFT into a virtual account and receives USDC or USDT, with reconciliation and controls.
A virtual account lets a business outside the US collect invoices from US customers as stablecoins. The account has its own routing and account number in your company's name. Customers pay by ACH or wire as they would any vendor, and each deposit is converted to USDC or USDT and sent to the wallet you linked.
This is the receivables version of the bank transfer to stablecoin flow. Same mechanics, but the job is narrower: get paid by US companies on time, know which invoice each deposit pays, and keep the money in a form you can move again the same day.
Key takeaways
Because US companies pay vendors through US rails, and a foreign bank account sits outside them. ACH is how most US businesses pay each other, and a vendor without US account details gets pushed to slower, pricier options.
The volume is large and growing. Nacha reported close to 8.1 billion business-to-business ACH payments in 2025, up almost 10% from 2024 (Nacha, January 2026). A software agency in Buenos Aires or a manufacturer in São Paulo that asks a US client for an international wire is asking that client to leave the default rail. Some will. Many pay late.
International wires also cost the receiver. Fees get deducted along the correspondent chain, which is why an invoice for $10,000 often arrives short. Hidden fees in international wires breaks down where that money goes.
It is a US bank account number issued in your business's name, whose deposits settle to stablecoins instead of sitting as dollars at a bank.
Definition: A stablecoin virtual account is a dedicated bank account, with its own routing and account number, whose incoming bank transfers are automatically converted to a stablecoin such as USDC or USDT and delivered to a linked wallet. For receivables, it replaces "wire us at our foreign bank" with US account details a US payer already knows how to use.
From the payer's side, nothing is unusual. They add a vendor with a beneficiary name, routing number, and account number, then pay the invoice. From your side, every deposit arrives as a tracked payment object with a status, not as a line on a bank statement you have to read. What is a virtual account covers the general concept.
Five steps. The first three happen once, the last two happen on every invoice.
USDC or USDT (create a virtual account).pending_review (compliance) to verifying (bank) to approved. The virtualAccount.complete webhook fires when the numbers are issued.Virtual account requirements explains what the bank reviews in step 1 and why it asks.
US payers can use ACH and domestic wire. Depending on the account type, payers outside the US can send an international SWIFT wire to the same account, which BlindPay only accepts into an approved virtual account (bank transfer in).
| Payer | Method | Typical use | What you see |
|---|---|---|---|
| US company, routine invoice | ACH | Recurring and lower-value invoices | A payin per deposit |
| US company, urgent or large invoice | Domestic wire | Same-day needs, large amounts | A payin per deposit |
| Non-US company | International SWIFT wire | Customers outside the US paying in USD | A payin with sender name, bank, account, and reference |
Timing depends on the rail and the payer's bank. BlindPay's docs list receive-side settlement of up to 5 business days for ACH, wire, and SWIFT deposits, so plan cash forecasts on the slow end.
Match on the payin, not on a bank statement. Each payin has an id, an amount, a status, and timestamps, and it fires payin.new when created and payin.complete when it finishes.
A simple rule set works for most teams:
sender_name, sender_bank_name, sender_account_number, and transaction_reference, so you can match without asking who paid (POBO and COBO).Illustrative example: an agency has three open invoices to US clients for $4,000, $4,000, and $12,500. A $12,500 ACH deposit matches one invoice and closes automatically. Two $4,000 deposits arrive the same day from different clients, so the agency uses the reference to tell them apart. Without a reference, both go to the exceptions queue. Virtual account reconciliation has a longer worked example.
The account is for your own revenue. Money for services you delivered is fine; money that belongs to someone else is not.
BlindPay's rule is that you may not use a virtual account to move payments for any party whose identity or activity BlindPay cannot see (nested payments). An agency collecting its own invoices passes. A platform collecting on behalf of dozens of its own clients, who were never onboarded, is a nested structure, and those payments can be delayed, frozen, or the account terminated. The compliant path is for each of those businesses to onboard directly, or as its own instance.
Fraud is the other control. Business email compromise was the top avenue for attempted and actual payments fraud in 2024, per the AFP 2025 Payments Fraud and Control Survey. Payment details that never change are easier to defend. Tell clients that your account details will not change by email alone, and confirm any change by phone.
BlindPay issues US virtual accounts in the customer's own name, with individual routing and account numbers. Each deposit creates a payin, and BlindPay converts it and sends USDC or USDT to the wallet linked at creation (virtual accounts). USDT settlement requires a wallet on Polygon, Ethereum, or Solana.
Fees on deposits are tracked per payin: deposits below $100.00 accrue to your monthly invoice, while larger deposits are charged at the time of the transaction. Virtual account fees lists every cost between the payer's bank and the wallet. Once the stablecoins land, you can hold them or pay them out again through the same API, which is where the speed gain shows up. If custody matters to your finance team, how to verify a payment provider is really non-custodial is the test plan, and blockchain payments vs crypto payments explains why the payer never handles crypto.
List your top 20 US customers by invoice volume, check how each one pays vendors today, and start with the ones that already pay by ACH. Apply for the account a full invoice cycle before you plan to switch details.
Read the create a virtual account guide to see the exact fields your business needs before the review starts.
Seven places blockchain payments beat bank rails: contractor payroll, remittances, B2B suppliers, marketplaces, 24/7 treasury, bill pay, and PSP payouts.
Push means the payer sends an ACH transfer. Pull means you debit a connected account. How each funds a USD to USDC on-ramp, the fees, and the return risk.
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.