Manually Handling Withdrawals in Virtual Accounts (VA)
Creating a Manual Virtual Account Withdrawal
Virtual Accounts (VA) include dedicated endpoints to automatically process on-chain withdrawals while logging these actions in the VA ledger.
However, in certain situations, you may need to handle withdrawals manually.
Steps
Step 1: Execute a Blockchain Transfer
- Example: BTC transfer using the v3 REST API endpoint.
- Send crypto assets to the recipient’s blockchain address.
- The source address of the blockchain transaction can be any address from your blockchain wallet.
Step 2: Create a Withdrawal in the VA Ledger
- Use the
StoreWithdrawal
API endpoint.
- This logs a virtual account transaction from the source account.
- The specified amount is debited from the VA ledger.
Step 3: Complete the Withdrawal Transaction
- Use the
CompleteWithdrawal
API endpoint.
- Mark the withdrawal as successful.
- Store the blockchain transaction hash/ID in the VA ledger to finalize the process.
Attention
Ensure that the asset amount, fees, and all parameters match the expected values on both the blockchain and the VA ledger. Skipping this step can result in inconsistencies.
Important
- If a mistake occurs when creating or storing a withdrawal in the VA ledger, it can be deleted and retried. See this article for details.
- Withdrawals from a VA deposit address can be automated using Blockchain Operations, ensuring they are properly logged in the VA ledger.
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, leading to balance discrepancies.
If this happens, the withdrawal must be manually registered.
Updated about 8 hours ago