What is a USD virtual account?
A USD virtual account is a US dollar bank account provisioned for a customer. Customers can receive USD deposits into this account. Deposits settle into the merchant collection balance and a webhook is sent. USD virtual accounts are separate from funding accounts. Use Funding Accounts when customers need to send NGN or crypto into Daya. Use USD virtual accounts when customers need US dollar bank details.Prerequisites
The verification flow:- Create a customer via
POST /v1/customers - Complete tier 1 verification (BVN + selfie) via
POST /v1/customers/{id}/tier1-verification - Complete tier 2 verification (KYC documents) via
POST /v1/customers/{id}/tier2-verification - Once tier 2 status reaches
VERIFIED, create the USD virtual account
USD Virtual Account Properties
Each virtual account includes:| Property | Description |
|---|---|
id | Unique USD virtual account identifier |
customer_id | The customer this account belongs to |
currency | Source currency (usd) |
status | Account status (active or inactive) |
deposit_instructions | Bank details for receiving deposits (see below) |
deposit_instructions fields
| Field | Description |
|---|---|
bank_beneficiary_name | Name of the beneficiary on the receiving account |
bank_beneficiary_address | Beneficiary mailing address |
bank_name | Name of the receiving bank |
bank_address | Address of the receiving bank |
bank_account_number | Account number to deposit into |
bank_routing_number | US routing number (ACH/domestic wire) |
payment_rails | Supported rails for this account (e.g. ach, wire) |
How USD Deposits Work
When a USD deposit is received into the account:- The deposit is received at the bank details in
deposit_instructions - Supported payment rails include ACH and wire transfers
- Funds settle into the merchant collection balance
- A webhook is sent to notify you of the deposit
- The payment appears in the USD account deposits API with type
USD_DEPOSIT
Use
/v1/virtual-account-deposits for USD virtual account payments. Use /v1/deposits for NGN and crypto funding-account deposits.Relationship to Tier 2 Verification
Tier 2 verification is the gateway for customer banking features:| Feature | Requires Tier 2 |
|---|---|
| USD virtual accounts | Yes |
US_BANK_ACCOUNT recipients | Yes |
SWIFT_BANK_ACCOUNT recipients | Yes |
| USD transfers (ACH, wire, SWIFT) | Yes |
API Routes
- Create USD Virtual Account
- List USD Virtual Accounts
- Get USD Virtual Account
- List Customer USD Virtual Accounts
- List USD Virtual Account Deposits
Next Steps
Create USD Virtual Account
Provision a USD account for a customer
Tier 2 Verification
Complete the prerequisite KYC step
USD Virtual Account Deposits
View payments into USD virtual accounts