Internal Transfer
Moves balance from one of your customers to another. No bank rails — settles synchronously and atomically. Supports splitting across wallets when no single wallet covers the amount.
Body
fromCustomerId
*StringCustomer to debit (must belong to your builder account).
toCustomerId
*StringCustomer to credit (must belong to your builder account).
channel
*StringChannel — use "WALLET".
currency
*String3-letter ISO currency code.
amount
*NumberAmount to move in major units.
narration
StringOptional description recorded on both sides.
fromProvider
StringProvider backing the sender's wallet. Omit to auto-use their richest wallet that covers the amount.
toProvider
StringProvider backing the recipient's wallet. Omit to use the sender's provider, falling back to any of their active wallets.
requestReference
StringIdempotency key.
POST
/ v2/wallet/transfer/internal
Endpoint URL(TEXT)
Request Body
Response(JSON)
// Click 'Try now' to see the response