Tatum API (3.3)

Download OpenAPI specification:Download

Authentication

X-Api-Key

To maintain the highest security level, Tatum requires X-API-Key HTTP header. This X-API-Key represents identification of the plan and can be used by 1 developer or per environment. Each X-API-Key is bound to the test or production blockchains.

Security Scheme Type API Key
Header parameter name: x-api-key

Ledger / Account

Tatum Account is the primary building block of Tatum-powered applications. It is an envelope that holds essential information about balances, state of the account or customer, whom the account belongs to.

Accounts in Tatum are stored within Tatum Private Ledger. Tatum Private Ledger contains information about accounts, customers that own accounts, transactions that affect accounts or virtual currencies present in the ledger.

Private Ledger is not connected to any blockchain by default. It is possible to create application without any blockchain at all, only on the private ledger. Using Tatum Private Ledger and building blocks included inside, it is possible to quickly swap whole application from ledger to any supported blockchain within Tatum. All of the API calls will remain the same, only the blockchain, on which the application will live, will be changed.

Most of the blockchains do not have any compliance layer at all. It is not possible to freeze funds on the blockchain address or deactivate the address. Tatum Account has built-in compliance, and it is possible to block funds on the account, freeze outgoing transactions from the account or even deactivate account at all.

Create new account

2 credits per API call.


Creates a new account for the customer. This will create an account on Tatum's private ledger. It is possible to create an account for every supported cryptocurrency, FIAT, any ERC20 token created within Tatum instance and Tatum virtual currencies. When the customer field is present, the account is added to the customer's list of accounts. When a customer does not exists, it is created as well.
Every account has it's balance. Tatum supports 2 types of balances - accountBalance and availableBalance. Account balance represents all assets on the account, available and blocked. Available balance on the account represents account balance minus blocked amount on the account. Available balance should be used to determine how much can customer send or withdraw from the account.
The account is always created with currency. When the currency is set, it cannot be changed.
When account's currency is blockchain based currency, like BTC or ETH, account is usually created with xpub. Xpub represents extended public key of the blockchain wallet, which will be connected to this account. By adding xpub to the account, it will not connect any concrete blockchain address to this account. Xpub is just a generator of addresses, not address itself. Every blockchain have different types of xpubs:

There are 2 options, how account can be connected to blockchain:
  • If xpub is present in the account, addresses are generated for the account via Create new deposit address. This is a preferred mechanism.
  • If xpub is not present in the account, addresses for this account are assigned manually via Assign address. This feature is used, when there are existing addresses, that should be used in Tatum.

Authorizations:
Request Body schema: application/json
currency
required
string [ 2 .. 40 ] characters

Account currency. Supported values are BTC, ADA, BNB, LTC, BCH, ETH, XLM, XRP, Tatum Virtual Currencies started with VC_ prefix (this includes FIAT currencies), USDT, LEO, LINK, UNI, FREE, MKR, USDC, BAT, TUSD, PAX, PAXG, PLTC, MMY, XCON, ERC20 custom tokens registered in the Tatum Platform, XLM or XRP Assets created via Tatum Platform. ERC20 tokens USDT, LEO, LINK, UNI, FREE, MKR, USDC, BAT, TUSD, PAX, PLTC, XCON, MMY do not have Testnet blockchains, so it is impossible to use them in a non-production environment.

xpub
string [ 1 .. 192 ] characters

Extended public key to generate addresses from.

customer
object (CustomerRegistration)

If customer is filled then is created or updated.

compliant
boolean

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

accountCode
string [ 1 .. 50 ] characters

For bookkeeping to distinct account purpose.

accountingCurrency
string 3 characters
Enum: "AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BRL" "BSD" "BTN" "BWP" "BYN" "BYR" "BZD" "CAD" "CDF" "CHF" "CLF" "CLP" "CNY" "COP" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DZD" "EGP" "ERN" "ETB" "EUR" "FJD" "FKP" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LTL" "LVL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRO" "MUR" "MVR" "MWK" "MXN" "MYR" "MZN" "NAD" "NGN" "NIO" "NOK" "NPR" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SOS" "SRD" "STD" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TWD" "TZS" "UAH" "UGX" "USD" "UYU" "UZS" "VEF" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XCD" "XDR" "XOF" "XPF" "YER" "ZAR" "ZMK" "ZMW" "ZWL"