Skip to main content
Before money can move, Sakawave has to know where it is going and be satisfied it can get there. Two objects do that, and confusing them is the most common mistake in this part of the API. 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.
The routing values you send are validated against the route’s own field descriptors, encrypted at rest, and never returned. 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.
Creating one is what performs the checks: the currency permits this kind of transfer, the route serves the country, the required fields are present, and — where the route supports it — the account is looked up with the provider and displayName becomes the name the bank holds, not the name you sent.
A destination expires after 24 hours and is consumed by the transfer that spends it. Both cases return 409 transfer_destination_expired, so an unused destination and a reused one look identical. Create one per intended payment, immediately before the transfer.

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.