Skip to main content

Withdrawals

A withdrawal is a Partner API payout: you send USDT or USDC; the recipient receives GHS on mobile money.

Flow

GET /rates  →  POST /withdrawals  →  GET /withdrawals/{id}  or  webhook

Create a withdrawal

POST /v1/withdrawals

FieldRequiredDescription
amountYesString with up to 2 decimals, e.g. "50.00"
currencyYesUSDT or USDC
recipient_phoneYesE.164 Ghana: +233501234567
mobile_networkYesMTN, TELECEL, or AIRTELTIGO
reference_idYesYour unique idempotency key (see Idempotency)
metadataNoArbitrary key-value object
curl -X POST https://sandbox.fiatsend.com/v1/withdrawals \
-H "Authorization: Bearer $FIATSEND_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "50.00",
"currency": "USDT",
"recipient_phone": "+233501234567",
"mobile_network": "MTN",
"reference_id": "invoice-2026-001"
}'
HTTP statusMeaning
201New withdrawal created
200Same reference_id — original withdrawal returned (no duplicate)

Status lifecycle

pending  →  processing  →  completed
↘ failed
StatusMeaning
pendingAccepted, queued
processingConversion and MoMo delivery in progress
completedGHS delivered
failedNot completed; check failure_reason when present

Get rate quote

GET /v1/rates?from_currency=USDT&to_currency=GHS&amount=50

Response includes rate, fee, total_ghs (what the recipient receives), and valid_until. Quotes are indicative; the rate is locked when you submit the withdrawal.

List and fetch

  • GET /v1/withdrawals/{withdrawal_id} — single withdrawal
  • GET /v1/withdrawals — paginated list
  • GET /v1/transactions — transaction history view

Network limits (Ghana)

Networkmobile_networkMin (USDT)Max (USDT)
MTN Mobile MoneyMTN1.005,000.00
Telecel CashTELECEL1.003,000.00
AirtelTigo MoneyAIRTELTIGO1.002,000.00

KYC tier limits apply at the account level. See Console Settings or contact partners@fiatsend.com.