Virtual Accounts

US bank accounts in the name of your customers for sending and receiving payments.

What is a virtual account?

A virtual account is a dedicated US bank account that can be generated for each of your receivers. Each virtual account comes with its own unique routing number and account number, enabling your customers to send and receive payments throughout the United States banking system.

These accounts function like regular bank accounts but are managed through the BlindPay platform.

High-risk countries requirements

For receivers located in high-risk countries, only KYC Enhanced receivers are eligible to create virtual accounts. This additional verification level ensures compliance with enhanced due diligence requirements.

If you need to create a virtual account for a receiver in a high-risk country:

  1. Ensure the receiver completes KYC Enhanced verification with all required documentation
  2. Wait for manual approval by the BlindPay compliance team (up to 3 business days)
  3. Once approved, the receiver will be eligible to generate virtual accounts

Payment rails supported

Here are the payment rails that virtual accounts support:

TypeCountryEstimated time of arrival
achπŸ‡ΊπŸ‡Έ United States~2 business days
domestic wireπŸ‡ΊπŸ‡Έ United States~1 business day
international wireπŸ‡ΊπŸ‡Έ United States~5 business days
rtpπŸ‡ΊπŸ‡Έ United States~5 minutes

Generating a virtual account

All receivers are allowed to generate a virtual account if they provide PASSPORT or SSN as id document and are from our supported countries.

If you already created a receiver with no passport or SSN, we suggest you to request him a passport or SSN and create a brand new receiver.

Before generating a virtual account, you need to:

  1. Create an account on BlindPay
  2. Create a development instance
  3. Create your API key
  4. Create a receiver with PASSPORT or SSN as id document
cURL
curl --request POST \
  --url https://api.blindpay.com/v1/instances/in_000000000000/receivers/re_000000000000/virtual-accounts \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "token": "USDC",
  "blockchain_wallet_id": "ba_000000000000"
}'