Skip to main content
Virtual accounts require the customer to have completed KYC verification. See Create KYC Session.

Method Signature

Parameters

string
required
The unique customer identifier (UUID format)
'usd' | 'eur' | 'aed'
required
Fiat currency for deposits
'swift'
Optional payment rails. Currently only swift is supported (for USD).
'usdc' | 'usdt'
required
Cryptocurrency token to receive
string
required
Blockchain network: polygon, ethereum, solana, base, arbitrum, tron
string
required
Wallet address to receive converted crypto.

Returns

string
Unique identifier for the virtual account
string
Account status: active
object
Bank account details for depositing funds. Structure varies by currency/type.

Examples

Create USD Virtual Account

Create EUR Virtual Account (SEPA/IBAN)

Create SWIFT Virtual Account (International Wire)

Type-Safe Instruction Access: Since deposit_instructions is a discriminated union, we recommend using the SDK’s built-in type guards to safely narrow the type: - isUSAccountDetails(instr): For USD (ACH/Wire) accounts. - isIBANAccountDetails(instr): For EUR (SEPA) accounts. - isInternationalWireAccountDetails(instr): For USD (SWIFT) accounts.

Deposit Instructions

The deposit_instructions field contains the banking details. It is a union type:

US Account (ACH/Wire)

IBAN Account (SEPA)

Supported Configurations

Error Handling

Creating a virtual account will fail with a 403 error if the customer hasn’t completed KYC verification.

Get Virtual Account

Retrieve account details

List Virtual Accounts

List all customer accounts

Simulate Deposit

Test deposits in sandbox