Vixzz API documentation.

The Vixzz API gives product teams primitives for cross-border money movement: create a quote, confirm transfer details, fund the transfer, monitor payout, and receive signed status events.

Vixzz developer API console screenshot

Authentication

Use bearer tokens for server-to-server requests. Keep live keys on your backend and rotate them from the Vixzz dashboard.

curl https://api.vixzz.com/v1/quotes \
  -H "Authorization: Bearer vxz_live_your_key" \
  -H "Content-Type: application/json"

Create a quote

A quote returns the fee, exchange rate, recipient amount, expiry, and supported payout method before a sender confirms.

POST /v1/quotes

{
  "send_currency": "USD",
  "receive_currency": "KES",
  "send_amount": 25000,
  "receiver_country": "KE",
  "payout_method": "mobile_money"
}
{
  "id": "qte_9k3m",
  "send_amount": 25000,
  "fee_amount": 150,
  "receive_amount": 3211800,
  "rate": "129.3",
  "expires_at": "2026-05-29T12:30:00Z"
}

Create a transfer

Transfers are created from an active quote. Use an idempotency key so retries do not create duplicates.

POST /v1/transfers
Idempotency-Key: transfer_merchant_order_4812

{
  "quote_id": "qte_9k3m",
  "receiver": {
    "name": "Amina Otieno",
    "country": "KE",
    "phone": "+254700000000"
  },
  "purpose": "family_support"
}

Webhooks

Webhooks notify your backend when a transfer changes state. Verify the signature header before updating your internal records.

{
  "type": "transfer.paid_out",
  "id": "evt_f2v9",
  "created_at": "2026-05-29T12:41:21Z",
  "data": {
    "transfer_id": "trf_72p4",
    "status": "paid_out",
    "payout_reference": "MPESA-394820"
  }
}

Errors

quote_expired

The sender tried to create a transfer after the quote expiry time.

corridor_unavailable

The selected country pair or payout method is temporarily unavailable.

review_required

The transfer needs compliance or risk review before payout release.

Sandbox access

Request sandbox credentials to test quotes, transfers, webhook retries, and payout states without moving live funds.