Skip to main content
New to virtual accounts? Read the overview first — it explains the difference between permanent and permanent_collection, which matters before you pick one.
This endpoint creates a multi-use virtual account of one of two types:
  • permanent — behaves like a wallet. Funds received into it accumulate as a balance you later move out via Withdraw funds or a virtual account transfer.
  • permanent_collection — a pass-through account. It exists to identify incoming payments, not to hold them.
Both types can accept unlimited incoming payments and never expire on their own.

Endpoint

Headers

string
required
Your public API key.
string
required
Your API secret. Use a stl_test_... value in sandbox, stl_live_... in production.
string
required
Your business ID.

Request body

string
required
First name to assign to the virtual account holder.
string
required
Last name to assign to the virtual account holder.
string
required
Account type. Accepted values: "permanent" (wallet — holds a balance) or "permanent_collection" (pass-through — see overview).
string
required
The account holder’s Bank Verification Number. Must be exactly 11 digits.
string
required
A unique reference string you generate to identify this account in your system. Must be unique across your account — creating a second account with a reference you’ve already used returns an error.

Response

Returns 201 Created on success.
boolean
true on success.
string
Confirmation message, e.g. "Account generated successfully".
string
The NUBAN account number generated for this virtual account.
string
The name on the account, derived from the firstName and lastName provided.
string
The reference you supplied, echoed back for confirmation.
string
A unique reference generated by Interstellas for this account.

Example response

Code examples

Errors

See Errors for the full envelope and error code reference.

Next steps

Withdraw funds

Move a balance out of a permanent account.

List virtual accounts

See every virtual account for your business.