Skip to main content

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 customer must have completed tier 2 verification before a virtual account can be created.See Submit Tier 2 Verification.
The verification flow:
  1. Create a customer via POST /v1/customers
  2. Complete tier 1 verification (BVN + selfie) via POST /v1/customers/{id}/tier1-verification
  3. Complete tier 2 verification (KYC documents) via POST /v1/customers/{id}/tier2-verification
  4. Once tier 2 status reaches VERIFIED, create the USD virtual account

USD Virtual Account Properties

Each virtual account includes:
PropertyDescription
idUnique USD virtual account identifier
customer_idThe customer this account belongs to
currencySource currency (usd)
statusAccount status (active or inactive)
deposit_instructionsBank details for receiving deposits (see below)

deposit_instructions fields

FieldDescription
bank_beneficiary_nameName of the beneficiary on the receiving account
bank_beneficiary_addressBeneficiary mailing address
bank_nameName of the receiving bank
bank_addressAddress of the receiving bank
bank_account_numberAccount number to deposit into
bank_routing_numberUS routing number (ACH/domestic wire)
payment_railsSupported rails for this account (e.g. ach, wire)

How USD Deposits Work

When a USD deposit is received into the account:
  1. The deposit is received at the bank details in deposit_instructions
  2. Supported payment rails include ACH and wire transfers
  3. Funds settle into the merchant collection balance
  4. A webhook is sent to notify you of the deposit
  5. 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:
FeatureRequires Tier 2
USD virtual accountsYes
US_BANK_ACCOUNT recipientsYes
SWIFT_BANK_ACCOUNT recipientsYes
USD transfers (ACH, wire, SWIFT)Yes

API Routes


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