A transfer takes a
destinationId, never a recipient. A recipient is a convenience that saves you re-entering routing details; a destination is the thing a transfer actually spends.
Recipient
A recipient is provider-neutral identity — who, not how.relationship, email, and a full address are required at creation — not because Sakawave wants them, but because payout providers ask for them. A recipient missing any of them cannot be turned into a destination, and the refusal comes later as 422 recipient_profile_incomplete.
Payment detail
Routing hangs off a recipient as one or more payment details — how, for one route.maskedIdentifier — the last four characters — is all you get back. If you need to show a customer what they entered, keep your own copy.
One recipient can hold several details: a bank account and a mobile-money number, or accounts in two currencies. Exactly one is the default.
Destination
A destination is the resolved, verified answer, and it is deliberately short-lived.displayName becomes the name the bank holds, not the name you sent.
Two ways in
Inline suits a one-off payout: everything in one call, nothing kept. Saved suits anyone you pay repeatedly: the routing fields are entered once and re-verified for you each time. Both produce the same object, and a transfer cannot tell them apart.What is stored, and what is not
Next
Introduction
Inline or saved, and how to choose.
Get started
A recipient, a payment detail, and a destination.
Setup and configuration
Limits, storage, and the 24-hour window.
Routing fields and verification
Building payloads from field descriptors.