Skip to main content
POST
Collect fiat by creating a virtual account (VBAN / IBAN). Provisioning is synchronous: Create Virtual Account issues the account at the partner bank and returns it with status = active and full bank details — IBAN, SWIFT/BIC, routing number, and account number where applicable — so your end customers can be paid into named, attributable accounts. If the partner cannot issue usable bank details the request fails and no virtual account is created, so you never have to poll for activation. Each virtual account also carries its own balance, returned on the object. Multiple virtual accounts may be issued for the same currency: each create with a new Idempotency-Key issues another account with its own bank details and balance. If virtual accounts cannot be issued for the requested currency, no resource is created and the request fails with 422 and error code UNSUPPORTED_CURRENCY — see Errors. Creates a virtual account for the given account in a supported currency, provisioning it at the partner bank before responding.
Some virtual accounts become active during the create request. In that case, the create response already includes the full bank-detail fields shown in Get Virtual Account.

Path Parameters

string
required
Account id (acct_…) that will own the virtual account.

Headers

string
required
Unique key for this virtual-account create. Re-using a key for the same account returns the previously created virtual account instead of creating a duplicate.

Request Body

string
required
Currency to collect in (ISO 4217, e.g. EUR, USD, GBP). One virtual account is issued per currency.
string
Free-text label for your own reference (e.g. "EUR Collections").

Response

Returns 201 with the new virtual-account object, already active and carrying the bank details your end customer needs. If the partner bank cannot issue usable details the request fails and no virtual account is created. See Get Virtual Account for the full field reference.