Skip to main content
Virtual accounts give each customer a unique local bank account number. When a payment arrives at that number, it is automatically matched and credited to the right customer — no manual reconciliation needed.
Each customer can hold one virtual account per currency. KYC approval (is_va_approved: true) is required before a virtual account can be issued.

Supported Rails

Argentina accounts require the customer’s document_id and document_type ("CUIT", "CUIL", or "CDI") in the create request. The customer must be an Argentine resident. See the Regional Payouts guide for details.

Create Virtual Account

string
required
The ID of the KYC-approved customer to issue the account to.
string
required
Currency for the virtual account (see supported values above).

List Virtual Accounts

string
Filter by currency code (e.g. BRL, USD).
string
Filter by account status.
string
From date (ISO 8601).
string
Search query — account number, customer name, etc.
number
Results per page.
number
Page number.

Get Virtual Account

string
required
The virtual account ID.

Virtual Account Transaction History

Retrieve all payments received into a specific virtual account:
string
required
The account number (not the account ID).
string
Filter by customer ID.
string
Filter by payment status.
string
From date (ISO 8601).
string
To date (ISO 8601).
number
Page number.
number
Results per page.

Delete Virtual Account

string
required
The virtual account ID to delete.

Bulk Account Creation

Create virtual accounts for multiple customers in a single request. Useful when onboarding a batch of pre-verified customers.
Requires Idempotency-Key header. All customers must have is_va_approved: true before bulk creation.
array
required
Array of account creation objects.

Enable / Disable Virtual Account

Suspend or reactivate a virtual account without deleting it. Suspended accounts stop receiving deposits.
string
required
The virtual account ID.
string
required
"enable" or "disable".

Refund a Payin

Reverse a specific incoming deposit back to the sender. Use this when a customer payment needs to be returned.
string
required
The external transaction ID of the deposit to refund. This is returned in the virtual_account.deposit webhook payload.
Requires Idempotency-Key header. Refunds are subject to the availability of the underlying payment rail — not all currencies support reversals.

List All Virtual Account History

Retrieve transaction history across all virtual accounts (not scoped to a specific account number):

Get Customer Virtual Accounts

List all virtual accounts belonging to a specific customer:
string
required
The customer UUID.

KYC Requirement

Before issuing a virtual account, the customer’s KYC must be approved. Check the is_va_approved flag on the customer object:
If is_va_approved is false, submit KYC first. See the Customers & KYC guide.