Withdrawing From a Deposit Address
Withdrawing From a Virtual Account Deposit Address
There are two withdrawal methods from a Virtual Account:
- From each Virtual Account deposit address
- From a Master Exchange Address
Workflow Example 1
User_A: VirtualAccount_A
balance is 0 MATIC.User_A: DepositAddress_A
connected toVirtualAccount_A
receives 3 MATIC (on-chain).VirtualAccount_A
balance is now 3 MATIC.
User_A
: Transfers 3 MATIC from VirtualAccount_A to VirtualAccount_B owned by User_B (off-chain).-
- v3 REST API Endpoint: Send payment
VirtualAccount_A
balance is now 0 MATIC.VirtualAccount_B
balance is now 3 MATIC.User_A: DepositAddress_A
connected toVirtualAccount_A
still holds 3 MATIC (on-chain).
User_B
: Would like to withdraw 3 MATIC fromVirtualAccount_B
to an external blockchain address.User_B: DepositAddress_B
connected toVirtualAccount_B
has no assets! (on-chain).- You must execute a withdrawal from
DepositAddress_A
- Check the following guide.
Workflow Example 2
User_A: VirtualAccount_A
balance is 0 MATIC.User_A: DepositAddress_A
connected toVirtualAccount_A
receives 3 MATIC (on-chain).VirtualAccount_A
balance is now 3 MATIC.
User_A
: would like to withdraw 2.8 MATIC from VirtualAccount_A to an external blockchain address.- You may execute a direct automated withdrawal from
DepositAddress_A
- v3 REST API endpoint.
- You may execute a direct automated withdrawal from
Good to know
Withdrawals from Deposit addresses are the most cost-effective because the only blockchain transactions you are paying gas fees for are for when users withdraw funds to their deposit addresses from their virtual accounts.
However, you, as the Exchange owner, must keep track of which private key is associated with which assets at all times to allow your users to withdraw assets to their deposit addresses. This can be a lot of work to keep track of everything, which is why consolidating assets within a Master Exchange Address is recommended.
Updated 6 months ago