Guides
Test in the sandbox
Use the sandbox endpoints to drive every path your integration has to handle, including the unhappy ones. They fire exactly the events production would, signed the same way.
What to simulate
| To test | Call |
|---|---|
| An approved, incomplete or rejected user | POST /sandbox/users/{user_id}/kyc with kyc_status and optional rejection_reasons |
| A deposit arriving | POST /sandbox/deposits with a deposit_account_id or a one-off transfer_id |
| Over- or under-payment | The same call with an amount that differs from what was expected |
| A deposit held for review, or returned | The same call with "outcome": "in_review" or "returned" |
| A payout landing, bouncing or failing | POST /sandbox/transfers/{transfer_id}/payout_outcome with completed, returned or undeliverable |
Before you go live
Run your integration through this list end to end:
- Two users onboarded, with your app handling each KYC status.
- A transfer refused while a user isn't approved yet.
- A deposit credited, with its webhook received and its signature verified.
- A send retried with the same idempotency key that moved money only once.
- A payout returned by the bank and refunded to the wallet.
- Every wallet's history summing to its balance.