Skip to main content
POST
Issue account detail

Two success statuses

Branch on the status, not on the body.

Safe to retry

Issuance walks three steps at the provider — your business, then the account, then the destination — and skips any already taken. A retry after a half-finished attempt resumes rather than creating a second account, so a 503 is safe to retry.

Verification and international access

For your own non-NGN fiat account, this is where your verification and international access are checked — opening the account checks neither. Verification is checked first. International access is one approval for your business, covering every currency. Both are checked on every request, so an approval withdrawn after the account opened stops new details being issued. NGN and crypto accounts skip both checks.

Chains

chain is required for a crypto account and refused for a fiat one; the account decides which. An address is issued per chain, and one issued on the wrong network is where a deposit goes to die.
You cannot name your own account number. A destination is allocated by the provider — a client that could assert its own number could publish one it does not own and have its customers pay a stranger.

Error codes

Authorizations

Authorization
string
header
required

A secret API key, sent as Authorization: Bearer sk_test_… in sandbox or Bearer sk_live_… in live.

Path Parameters

accountId
string
required

Account ULID. A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

Body

application/json

A chain is required for a crypto account and rejected for a fiat account.

chain
enum<string>
Available options:
ETH_MAINNET,
SOLANA_MAINNET,
BASE_MAINNET,
POLYGON_MAINNET

Response

Successful response.

account
object
required
beneficiary
object
required
details
object
required