1
Create a sub-client
Create a userThe body carries the registration documents as base64 data URIs, so this is the one call you cannot make from a copied snippet. The endpoint page lists every field it takes.Keep:
id. It is the user_id every later call takes.2
Wait for verification
Get a userThe sub-client cannot hold money until it is verified. Read
status and verification_status, or wait for the webhook rather than polling for it.Watch for: missing_fields names anything still outstanding, grouped by product. It is what you show your own customer, not your engineers.3
Open a virtual account
Create a virtual accountKeep:
id, as the virtual_account_id.Watch for: the account comes back nearly empty. The bank details arrive when the bank assigns them and are null until then, so do not gate your flow on the account being usable immediately. The virtual account object lists everything it carries.4
Put money in it
Simulate a deposit — sandbox only.This is not a notification: it credits the account for real, so a payout can then draw on it. It also fires the deposit webhook, which is how a real deposit announces itself.Then check the balance before paying out. The balance includes any opening sandbox float, so a payout can succeed without a deposit — confirm the figure rather than assuming your deposit is all of it.
5
Create and save the counterparty you will send money to
Create a recipientKeep:
recipient_id.Watch for: the account_type you choose here decides the rail every payment to them travels on, and every payment after that — see Rail.6
Pay them
Execute a payoutWatch for: the payout comes back with a
status and an events list that grows as it moves. Which tracing identifiers arrive depends on the rail — a bank payout has no transaction hash, a crypto one has no wire reference. The payout object has all of them.You are done
You have moved money end to end. What is worth doing next, in this order:- Handle the webhooks. Everything above was read by asking; in production the states announce themselves. See the Webhooks guide.
- Price before you pay, when the amount matters to your customer — see Quotation.
Go-live checklist
What has to be true before you point this at production.