Skip to main content
This endpoint is pending implementation and is not currently available in the API.

Endpoint

POST /api/v1/users/withdraw
This endpoint will allow users to withdraw funds from their exchange account to an external wallet.

Planned request structure

user_id
string
required
The unique identifier of the user making the withdrawal
asset
string
required
The asset to withdraw (e.g., “USDC”, “SOL”)
amount
decimal
required
The amount to withdraw
destination_address
string
required
The blockchain address to send funds to
network
string
The blockchain network for the withdrawal (e.g., “solana”, “ethereum”)

Planned response structure

status
string
Status message indicating withdrawal initiated
user_id
string
The user ID that initiated the withdrawal
asset
string
The withdrawn asset
amount
decimal
The withdrawn amount
balance
decimal
The user’s remaining balance for the asset
transaction_id
string
The blockchain transaction ID for tracking
withdrawal_id
string
Internal withdrawal reference ID

Example request

curl -X POST \
  https://api.exchange.com/api/v1/users/withdraw \
  -H 'Content-Type: application/json' \
  -d '{
    "user_id": "550e8400-e29b-41d4-a716-446655440000",
    "asset": "USDC",
    "amount": "500.00",
    "destination_address": "8xK3v...",
    "network": "solana"
  }'

Example response

{
  "status": "Withdrawal initiated",
  "user_id": "550e8400-e29b-41d4-a716-446655440000",
  "asset": "USDC",
  "amount": "500.00",
  "balance": "500.00",
  "transaction_id": "0x456def...",
  "withdrawal_id": "wd_7890xyz"
}

Error responses

400
Bad Request
Invalid parameters or insufficient balance
500
Internal Server Error
Withdrawal processing failed

Notes

This functionality will need to:
  • Verify sufficient user balance
  • Validate destination addresses
  • Implement withdrawal limits and security checks
  • Process blockchain transactions
  • Handle transaction fees
  • Implement withdrawal approval workflows for security

Build docs developers (and LLMs) love