POST /v1/merchant/sandbox/reset— wipe and optionally reseedPOST /v1/merchant/sandbox/seed-beneficiaries— generate sample beneficiaries across multiple countries and methodsPOST /v1/merchant/sandbox/seed-payouts— generate sample payouts in mixed states for UI and webhook testing
403 sandbox_only. They’re scoped to your merchant — you can’t affect another merchant’s data.
Reset
Four reset scopes:?scope= | What it does |
|---|---|
balances (default) | Wipe merchant_accounts + sandbox transactions, re-seed fresh balances. Beneficiaries, instruments, and payouts stay. |
all | Wipe payouts, instruments, beneficiaries, and sandbox transactions. Re-seed currency balances only. |
delete-all | Wipe everything. No reseed. You land at zero state. |
full-reset | Wipe everything. Re-seed balances + sample beneficiaries + sample payouts. Equivalent to a fresh merchant with demo data. |
delete-all responds with "status": "deleted".
Seed sample beneficiaries
Creates a curated set of realistic beneficiaries across multiple countries and payment methods — useful for populating your UI or testing country-specific edge cases:individual and business types, spanning several corridors — enough variety to exercise most payout flows without you having to construct PII by hand.
Seed sample payouts
Creates payouts in a mix of states —completed, failed, cancelled, manual_review, and in-flight — so you can validate your UI and webhook handling against every outcome:
422 no_beneficiaries. Call seed-beneficiaries first, or use ?scope=full-reset on the reset endpoint which seeds both.
Using these in CI
A recommended CI pattern:Before each test run, reset
POST /v1/merchant/sandbox/reset?scope=delete-all to guarantee a clean slate.Seed any baseline data your tests assume
If your tests need a starting population (e.g., dashboard snapshot tests), call
seed-beneficiaries and seed-payouts.Triggering specific scenarios (future)
Sandbox seeders produce a curated distribution — payouts in mixed states, beneficiaries across corridors. For deterministic triggering of specific engine verdicts, screening hits, or rail failures, that’s forthcoming functionality — when it lands it’ll use the?simulate= query parameter on POST /v1/payouts (sandbox-only). Watch the changelog for when it ships.
What’s different from production
See Sandbox Overview for the full list. Key points:- Rail submission is mocked — no real banks are contacted
- Timing is compressed — sandbox payouts transition to
completedin seconds - Real OFAC screening runs, but you can trigger deterministic outcomes using specific test beneficiaries
- All authentication, authorization, webhook signing, and state-machine behavior is identical to production
Next steps
Sandbox overview
What sandbox is, and how it differs from production.
Going live
Checklist for promoting from sandbox to production.