B2B Partner API

Request Withdrawal

Request to withdraw USDC from your account to your specified wallet address.

POST/api/1/b2b/withdraw

Request Body

ParameterTypeDescription
amountrequirednumberAmount to withdraw in USDC
to_addressrequiredstringYour wallet address to receive funds (0x...)

Request

curl -X POST "https://api.sproutfi.xyz/api/1/b2b/withdraw" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount": 1000, "to_address": "0xYourWalletAddress..."}'

Response

{
  "code": 0,
  "msg": "success",
  "data": {
    "message": "Withdrawal request created. Funds will be sent to your specified address after processing.",
    "transaction_id": 5,
    "amount": 1000,
    "to_address": "0xYourWalletAddress...",
    "status": "pending"
  }
}

Response Fields

ParameterTypeDescription
messagestringStatus message
transaction_idnumberUnique transaction ID for tracking
amountnumberRequested withdrawal amount
to_addressstringYour destination wallet address
statusstringInitial status (always 'pending')

Withdrawal Limits

  • Minimum: No minimum
  • Maximum: Your withdrawable balance

Processing Time

Withdrawals are typically processed within 1-4 hours during business hours. Check the status using GET /api/1/b2b/transactions.

Error Responses

Insufficient Balance

{
  "code": 400,
  "msg": "insufficient withdrawable balance: have 500.00, need 1000.00",
  "data": null
}

Invalid Amount

{
  "code": 400,
  "msg": "invalid request body",
  "data": null
}

Withdrawal Flow

  1. Check your withdrawable balance
  2. Call this endpoint with the desired amount
  3. Withdrawal request is created (status: pending)
  4. Sprout processes the withdrawal (status: processing)
  5. USDC is sent to your wallet (status: confirmed)

Cannot Cancel

Once submitted, withdrawal requests cannot be cancelled. Please verify the amount before submitting.