General Use Case
AttentionAccess to this feature is limited to existing Virtual Account users on PayGo and higher tiers who registered before November 24, 2025
Introducing the Crypto Exchange Use Case
A crypto Exchange is a web application where end-users can trade their crypto assets. The Owner of the Exchange is the one who owns the private keys to all of the user's crypto assets - in this case, we are talking about a Custodial Exchange leveraging a Custodial Wallet.
Trades are not performed on the blockchain (on-chain), as this would be slow and expensive. All the trades are virtual transactions between end-user accounts (off-chain).
Exchange Workflow
Step_1: Setting up the application
Includes prerequisites like blockchain wallet creation and creating exchange service accounts for gathering fees.
Step_2: Registration of new end-users in the application
The steps that need to be executed when new users register in the exchange
Step_3: End-user application journey
What kind of actions end-users can take while in the application
Step_4: Trading
Enabling end-users to trade their assets
Step_5: Observe Security Basics
Additional information is available in the following article.
Good to Know
- A custodial wallet is a wallet where a third party holds the private keys, not the crypto assets owner. The provider has full control over crypto assets, while end Users only have permission to send or receive payments.
- Every Exchange must have wallets for every crypto asset it supports.
- Every end-user of the Exchange must obtain accounts for every asset they are trading.
- The exchange operator defines the trading pairs that can be traded by users and usually charges a fee for every trade performed.
NoteVirtual Accounts can only handle one (1) single currency per Virtual Account.
Important
The intended use case for Virtual Accounts (VA) is as a Self-Custodial Exchange, meaning all withdrawals are expected to be tracked in the VA ledger.
- Tatum does not hold custody of mnemonics or private keys. As a result, it is technically possible to sign transactions using VA ledger deposit addresses outside the VA ledger and Tatum endpoints. For more details, refer to this article.
- The blockchain’s on-chain balance takes precedence over the VA ledger. If unregistered transactions occur, the VA ledger will become misaligned, leading to liquidity inconsistencies between the on-chain balance and the off-chain VA ledger.
- Virtual Accounts are designed to hold a limited number of deposit addresses (1-5). While adding many more deposit addresses may appear functional, this setup often leads to unrecoverable synchronisation issues across users over time.
- Any on-chain assets already present in a blockchain address to bind to a Virtual Account will be ignored. More information HERE.
- Deposits are only "recognized" as long as the "currency" of the VA matches the on-chain asset deposited
- If a mistake occurs when creating or storing a withdrawal in the VA ledger, it can be deleted and retried. Check this article for addtional details.
- Withdrawals from a VA deposit address can be automated using VA Blockchain Operations endpoints, ensuring they are properly logged in the VA ledger.
Attention
- You are expected to hold 1:1 asset liquidity between the VA off-chain ledger and your end-users on-chain assets.
- To avoid potential disruptions and ensure consistent performance, we recommend adhering to the intended usage of 1-5 deposit addresses per Virtual Account.
- Be mindful of Tatum Derivation Path.
Warning
- All withdrawals must be registered and executed through VA-specific endpoints.
- Using standard blockchain transaction methods to sign and broadcast a transaction from a VA-linked deposit address bypasses the VA ledger, leadings to balance discrepancies. If this happens, the withdrawal must be manually registered.
Updated 1 day ago