balance-accounts

Create a stablecoin balance account

Creates a provider-held stablecoin balance account. Supports USDT and USDC across their available networks. Use this account as the destination of an eligible fiat-to-crypto fixed route and as the funding source for Global Payouts.

post/v1/balance-accounts/stablecoin

Headers

X-API-Keystring

API key

Idempotency-Keystring

Optional idempotency key. When supplied, retries return the original account.

Request body

customerIdstring required

Customer ID

currency'USDT' | 'USDC' required

Balance stablecoin. Supported: USDT, USDC.

paymentRail'ETHEREUM' | 'BASE' | 'ARBITRUM' | 'POLYGON' | 'SOLANA' | 'TRON' required

Balance network. Supported per currency: USDT on Ethereum, Arbitrum, Polygon, Solana, Tron; USDC on Ethereum, Base, Arbitrum, Polygon, Solana.

Example request

{
  "customerId": "cus_abc123",
  "currency": "USDT",
  "paymentRail": "ETHEREUM"
}

Response

Stablecoin balance account created

idstring required

Account ID (vba_xxx for virtual bank, vwa_xxx for virtual wallet, inb_xxx for infinite bank, inw_xxx for infinite wallet, eba_xxx for external bank, ewa_xxx for external wallet, pba_xxx for provider balance)

customerIdstring required

Customer ID

type'VIRTUAL_BANK' | 'VIRTUAL_WALLET' | 'INFINITE_BANK' | 'INFINITE_WALLET' | 'EXTERNAL_BANK' | 'EXTERNAL_WALLET' | 'EXTERNAL_PROXY' | 'PROVIDER_BALANCE' required

Account type

externalReferencestring

Client-provided external reference for mapping to your system

status'IN_REVIEW' | 'ACTIVE' | 'CLOSED' required

Account status

currencyCodesstring[]

Currency codes supported by this account

isThirdPartyboolean

Is this account owned by a third party?

counterpartyIdstring nullable

Counterparty ID when this is a third-party recipient account

referenceIdstring

Client-provided reference ID

originCapableboolean nullable

Whether this account can be used as the canonical transfer origin.

originAccountIdstring nullable

Canonical origin account ID when this account is a virtual alias.

createdAtstring date-time required

Account creation date

updatedAtstring date-time required

Account last update date

createdboolean

Whether this account was newly created in this request. Returns false if an existing account was returned (idempotent behavior).

holdsBalanceboolean

Present and true when this is a balance account (USD or stablecoin). Deposits credit the account instead of being swept, and the balance can fund transfers. See GET /v1/accounts/{id}/balance.

paymentRailstring

Payment rail for provider balance accounts (e.g. ETHEREUM). Omitted for other account types.

lastSentAtstring date-time nullable

Timestamp of the last transfer sent from this account

lastReceivedAtstring date-time nullable

Timestamp of the last transfer received to this account

screeningStatusstring nullable

Changes