SZNDSZND

Payouts

Payouts allow you to send funds from your wallet to recipients — whether that's an external bank account, a crypto wallet, or another Sznd user or business.

Payout Methods

MethodDescriptionRecipientQuote Type
Fiat PayoutSend to an external bank account. Includes INR bank transfer (IMPS, NEFT, or RTGS).External beneficiaryWITHDRAWAL
Crypto PayoutSend USDC/USDT to an external crypto walletExternal wallet addressWITHDRAWAL (CRYPTO)
Internal TransferSend to another Sznd user or business via their tagSznd user/businessTRANSFER

How Payouts Work

All payout methods follow a similar pattern built on the Quotes API:

┌──────────┐       ┌───────────┐       ┌──────────────┐│ Your App │──1──▶ │  Sznd API │──2──▶ │  Recipient    ││          │◀──3── │           │       │  (Bank/Wallet)││          │◀──4── │  Webhook  │       │               │└──────────┘       └───────────┘       └──────────────┘

Fiat and Crypto Payouts

  1. Create a Beneficiary — Register the recipient's bank or wallet details via the Beneficiaries API.
  2. Create a Quote — Call POST /api/v1/client/quotes with quote_type: "WITHDRAWAL" and the beneficiary_id.
  3. Accept the Quote — Call POST /api/v1/client/quotes/{id}/accept to execute the payout.
  4. Webhook Notification — Receive a transaction webhook when the payout completes or fails. CAD Interac payouts to non-autodeposit beneficiaries may also receive an earlier PROCESSING webhook with interac_payout_instruction (security question/answer).

Internal Transfers

  1. Look Up Recipient — Find the Sznd user or business by their tag via GET /api/v1/client/users/by-tag.
  2. Create a Quote — Call POST /api/v1/client/quotes with quote_type: "TRANSFER" and the user_tag.
  3. Accept the Quote — Call POST /api/v1/client/quotes/{id}/accept to execute the transfer.
  4. Webhook Notification — Receive a transaction webhook with the transfer status.

Authentication

All payout endpoints require HMAC authentication. Include the following headers in every request:

http
x-api-key: <your-api-key>x-timestamp: <rfc3339-timestamp>x-signature: <hmac-sha256-signature>

For details on generating HMAC signatures, see the Authentication documentation.


Prerequisites

Before making payouts, ensure:

  1. Sufficient Wallet Balance — Your wallet must have enough funds to cover the payout amount plus fees.
  2. KYC Verified Customer — The customer on whose behalf you're transacting must be KYC verified (if required).
  3. Valid Beneficiary or User Tag — For fiat/crypto payouts, create a beneficiary first. For internal transfers, the recipient must have a Sznd account with a valid tag.

Next Steps