public.transfers

Create Transfer

Creates a merchant-initiated transfer to a saved recipient or an inline destination. Transfers debit the merchant balance by default. To pay from one customer's retained NGN balance, set currency=NGN, debit_currency=NGN, debit_scope=CUSTOMER, and on_behalf_of.customer_id; the recipient must belong to that customer. Transfers support NGN bank recipients, USD ACH, wire, RTP, or SWIFT recipients, USDC/USDT crypto addresses funded from the merchant USD balance, and native SOL/BNB addresses funded from the matching merchant native-asset balance. NGN payouts continue to debit USD by default; set debit_currency=NGN to debit retained NGN with no FX conversion. Omit debit_currency for native SOL/BNB transfers. NGN bank recipients must receive at least 100 NGN. Recipient amounts below 1,000 NGN incur a flat 20 NGN fee; recipient amounts of 1,000 NGN or more use the configured percentage fee and cap. Use /v1/supported-chains to discover currently enabled asset and chain combinations. Transfer webhooks use public transfer events: transfer.created, transfer.processing, transfer.requires_review, transfer.submitted, transfer.completed, transfer.failed, and transfer.reversed.

post/v1/transfers

Headers

X-Idempotency-Keystring required

Idempotency key for request deduplication

Request body

amountstring required
currency'NGN' | 'USD' | 'SOL' | 'BNB' required
debit_currency'USD' | 'NGN'

Optional funding currency. NGN payouts default to USD for backwards compatibility; set NGN to spend retained NGN balance.

debit_scope'MERCHANT' | 'CUSTOMER'

Optional balance owner. Defaults to MERCHANT. Set CUSTOMER with debit_currency=NGN and on_behalf_of.customer_id to spend that customer's retained NGN balance.

recipient_idstring
referencestring required

Example request

{
  "destination": {
    "crypto_address": {
      "chain": "SOLANA"
    }
  }
}

Response

Created

amountstring
created_atstring
currencystring
debit_amountstring
debit_currencystring
debit_scopestring
feestring
flag_reasonstring
idstring
railstring
referencestring
settled_atstring
statusstring

Changes

No recorded changes to this endpoint across all 1 revision of this API.