Each customer can hold one virtual account per currency. The customer needs an approved endorsement for that currency before you can issue the account. See KYC Requirement.
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.Type Definitions
Type Definitions
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.
virtual_account.deleted webhook. An ID that doesn’t exist or isn’t yours returns 404.
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. Every customer needs an approved endorsement for the currency 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
Each currency needs a specific endorsement. Find it with:approved, either from the endorsement.updated webhook or from the endorsement list on GET /customer/{customer_id}. If it isn’t, submit or fix KYC first. See Track verification with endorsements.
