Overview
Withdrawals allow users to transfer cryptocurrency from their custodial internal wallets to external blockchain addresses. All withdrawals require the destination address to be whitelisted for security and compliance.Withdrawal Flow
Withdrawing from Internal Wallets
Execute a withdrawal from an internal custodial wallet to a whitelisted address:Request Parameters
Note the intentional typo in the API:
recipientAddrss (with double ‘s’). This is the actual field name in the current API version.Getting Source Address Details
Before withdrawing, retrieve the source wallet address from the internal wallets list:address field as sourceAddress and addressMemo (if not null) as sourceMemo in withdrawal requests.
Network-Specific Considerations
EVM Networks (Ethereum, Linea)
- Requirements
- Gas Fees
- Standard ERC-20 token withdrawal
- No memo required
- Gas fees paid from wallet balance
- Typical confirmation: 5-15 minutes (Ethereum), 1-2 minutes (Linea)
Solana
- Requirements
- Transaction Fees
- SPL token withdrawal
- No memo required
- Transaction fees paid by platform
- Typical confirmation: 5-30 seconds
XRP Ledger
- Requirements
- Destination tag (memo) required for exchange addresses
- Native XRP transfer
- Typical confirmation: 3-5 seconds
- Minimum withdrawal: 20 XRP (reserve requirement)
Transaction Tracking
After successful withdrawal, the API returnssuccess: true. Transaction details appear in wallet history:
The transaction history shows withdrawal events but does not include on-chain transaction hashes. To get the transaction hash for blockchain explorer tracking, implement additional transaction logging in your application.
Implementation Examples
Complete Withdrawal Flow
Withdrawal UI Component
Error Handling
Insufficient Balance
Address Not Whitelisted
POST /v1/wallet/whitelist.
Invalid Source Address
GET /v1/wallet/internal.
Missing Required Memo
recipientMemo for XRP and similar networks that require destination tags.
Amount Below Minimum
Best Practices
Validate Before Submission
Check wallet balance, address whitelist status, and required fields before submitting withdrawal requests to provide better user feedback.
Show Transaction Status
Display clear status indicators during withdrawal processing. Blockchain confirmations can take seconds to minutes depending on the network.
Confirm with Users
Always show a confirmation dialog before executing withdrawals, displaying the amount, destination address, and expected fees.
Handle Memos Carefully
For XRP and similar networks, prominently display the destination tag requirement and validate that it’s included in the withdrawal request.
Display Network Fees
Inform users about approximate network fees for different blockchains to help them choose cost-effective withdrawal options.
Implement Retry Logic
Network issues can cause temporary failures. Implement exponential backoff retry logic for transient errors.
Test with Small Amounts
Encourage users to test new whitelisted addresses with small withdrawal amounts before large transfers.
Security Considerations
Rate Limiting: Implement rate limiting on withdrawal requests to prevent abuse and protect user accounts from rapid fund drainage attacks.
Two-Factor Authentication: Consider requiring 2FA or email confirmation for withdrawal requests, especially for large amounts.
US Environment
For US-based users, route withdrawal requests to the US environment:- Header Method
- Query Parameter Method
Next Steps
Whitelist Management
Learn how to manage whitelisted addresses
Internal Wallets
Understand internal wallet operations
Transaction History
View wallet transaction history
API Reference
Complete API documentation