Initiate Payout

This page shows how to send a stablecoin / crypto payout using the Initiate Payout endpoint. To run it interactively, use the Initiate Payout endpoint and select the "Stablecoin Payout" example.

POST https://sandboxapi.fincra.com/disbursements/payouts

Headers

HeaderRequiredDescription
api-keyYesYour Fincra secret API key.
acceptYesapplication/json
content-typeYesapplication/json

Body params

FieldTypeRequiredDescription
sourceCurrencystring (enum)YesCurrency used to fund the payout. One of USDT, GHS, KES, UGX, TZS, USD, EUR, GBP, ZMW, ZAR, USDC, CNGN, NGN, XAF, XOF.
destinationCurrencystring (enum)YesCurrency the recipient receives. For stablecoin payouts use USDT, USDC, or CNGN.
amountstringYesThe value to transfer from the source wallet.
businessstringYesThe unique identifier of the parent business.
descriptionstringYesThe description of the payout.
customerReferencestringYesYour unique reference for this transaction. Prevents duplicate transactions.
paymentDestinationstring (enum)YesUse crypto_wallet for stablecoin/crypto payouts.
paymentSchemestring (enum)YesThe blockchain network/scheme. One of usdt_trc20, usdt_erc20, usdt_solana, usdt_bep20, usdc_erc20, usdc_solana, usdc_bep20, cngn_bep20, erc20, btc_mainnet, eth. Must match the destination currency network.
quoteReferencestringConditionalRequired only for cross-currency payouts. Generate it via Generate Quote.
beneficiaryobjectYesThe recipient details (see below).

beneficiary (stablecoin / crypto)

FieldTypeRequiredDescription
walletAddressstringYesThe recipient's crypto wallet address. Must correspond to the selected paymentScheme and blockchain network.
destinationTagstringNoExtra identifier required by some wallet providers/exchanges (e.g. memo/tag). Provide only when the destination platform requires it.

Example request

{
  "business": "xxxxxxxxxxxxxxxxxxxxxxxx",
  "sourceCurrency": "USDT",
  "destinationCurrency": "USDT",
  "amount": "10",
  "description": "Payment",
  "paymentDestination": "crypto_wallet",
  "customerReference": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "paymentScheme": "usdt_trc20",
  "beneficiary": {
    "walletAddress": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "destinationTag": "test-memo"
  }
}
curl --request POST \
  --url https://sandboxapi.fincra.com/disbursements/payouts \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'api-key: YOUR_API_KEY' \
  --data '{
    "business": "xxxxxxxxxxxxxxxxxxxxxxxx",
    "sourceCurrency": "USDT",
    "destinationCurrency": "USDT",
    "amount": "10",
    "description": "Payment",
    "paymentDestination": "crypto_wallet",
    "customerReference": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "paymentScheme": "usdt_trc20",
    "beneficiary": {
      "walletAddress": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "destinationTag": "test-memo"
    }
  }'

Success response (200)

{
  "success": true,
  "message": "Payout processed successfully",
  "data": {
    "id": 1254,
    "reference": "5dcf24700a9a4f67",
    "customerReference": "TXT-001",
    "status": "processing",
    "documentsRequired": []
  }
}

Error response (422)

{
  "success": false,
  "error": "Cannot continue, Duplicate Customer Reference Passed",
  "errorType": "DUPLICATE_CUSTOMER_REFERENCE"
}