Create a virtual account

/v3/ledger/account

2 credits per API call

Create a new virtual account for a customer.

  • If the customer that you specified in the request body already exists, the newly created virtual account is added to this customer's list of accounts.
  • If the customer that you specified in the request body does not exist yet, a new customer is created together with the virtual account, and the virtual account is added to this customer.

You can create a virtual account for any supported cryptocurrency, fiat currency, Tatum virtual currency, or fungible tokens created within Tatum. Once the currency/asset is set for a virtual account, it cannot be changed.

Virtual account balance

A virtual account has its own balance. The balance can be logically presented by the account balance and available balance:

  • The account balance (accountBalance) represents all assets on the account, both available and blocked.
  • The available balance (availableBalance) represents the account balance minus the blocked assets. Use the available balance to determine how much a customer can send or withdraw from their virtual account.

Cryptocurrency virtual accounts

When you create a virtual account based on a cryptocurrency (for example, BTC or ETH), you have to provide the extended public key (xpub) of the blockchain wallet that will be connected to this account.

NOTE: Adding xpub to the virtual account does not connect any specific blockchain address to this account. xpub is a generator of addresses, not an address itself.

Not all blockchains provide xpub for wallets, or Tatum may not support wallets on some blockchains. In such cases, use the wallet address or the account address instead.

Connect a virtual account to the blockchain

You can connect multiple blockchain addresses to one virtual account.

Digital assets:

  • USDC_MATIC refers to contract 0x2791bca1f2de4661ed88a30c99a7a9449aa84174 on Polygon mainnet.
  • USDC_MATIC_NATIVE refers to contract 0x3c499c542cef5e3811e1192ce70d8cc03d5c3359 on Polygon mainnet.
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required
length between 2 and 40

The currency for the virtual account

  • Native blockchain assets: ALGO, BCH, BNB, BSC, BTC, CELO, DOGE, EGLD, ETH, ETH_ARB, ETH_BASE, ETH_OP, KCS, KLAY, LTC, MATIC, ONE, SOL, TRON, VET, XDC, XLM, XRP
  • Digital assets: BADA, BAT, BBCH, BBTC, BDOT, BETH, BLTC, BUSD, BUSD_BSC, BXRP, CAKE, FREE, GMC, LEO, LINK, MKR, MMY, PAX, PAXG, TUSD, UNI, USD_BSC, USDC, USDC_ARB, USDC_BASE, USDC_MATIC, USDC_MATIC_NATIVE, USDC_OP, USDT, USDT_ARB, USDT_BASE, USDT_BSC, USDT_OP, USDT_TRON, WBNB, WBTC, XCON
  • Virtual currency registered on the Tatum platform and starting with the "VC_" prefix
  • BNB assets, XLM assets, and XRP assets created via the Tatum platform
  • Custom fungible tokens (ERC-20 or equivalent, such as BEP-20 or TRC-10/20) registered on the Tatum platform; for more information, see our user documentation
    The fungible tokens do not have direct faucets on the testnet. To use them in a testnet environment, you have to register a new fungible token in a virtual account (use this API for TRON TRC-10/20 tokens and this API for any other tokens) and make sure that your tokens minted on the testnet are linked to the token smart contract.
string
required
length between 1 and 192

Extended public key to generate addresses from.

customer
object

If a customer with the specified external ID does not exist, a new customer is created. If a customer with the specified external ID exists, it is updated with the provided information.

boolean

Enable compliant checks. If this is enabled, it is impossible to create account if compliant check fails.

string
length between 1 and 50

For bookkeeping to distinct account purpose.

string
enum

All transaction will be accounted in this currency for all accounts. Currency can be overridden per account level. If not set, customer accountingCurrency is used or EUR by default. ISO-4217

string
length between 1 and 50

Account number from external system.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json