Overview
Every ZBD project includes a sandbox environment for testing the ZBD Widget integration end-to-end. Sandbox mode simulates the entire flow — funding users, initiating cashouts, and receiving webhooks — without moving real money through ACH or requiring real identity verification.Sandbox API keys are separate from production keys. Make sure you’re using the right key for the right environment.
What Sandbox Does
| Feature | Sandbox | Production |
|---|---|---|
| User creation | Creates real user records | Same |
| Balance funding | Credits test balance (no real money) | Debits partner’s CRB pool |
| KYC / Identity | Skipped — users can cashout without Onfido | Required for bank cashouts |
| Bank linking (Plaid) | Full Plaid sandbox flow | Real bank connections |
| ACH payout | Simulated — completes instantly, no real transfer | Real ACH via banking partner |
| Webhooks | Fires normally to your webhook_url | Same |
| Widget UI | Identical to production | Same |
Getting Started
1. Get Your Sandbox API Key
In the ZBD Developer Dashboard, navigate to your project’s API tab and copy the Sandbox key.2. Create a Test User
3. Fund the Test User
In sandbox, funding transfers don’t debit a real pool. The balance is credited for testing purposes.
4. Create a Widget Session
5. Open the Widget
Embed the returnedwidget_url in an iframe. The widget behaves identically to production — same UI, same flows — but cashouts complete without real bank transfers.
Sandbox Webhooks
Sandbox webhooks fire to yourwebhook_url with the same payload structure as production:
COMPLETED webhook fires shortly after INITIATED since there’s no real ACH settlement delay.
Sandbox Limitations
- No real ACH transfers — cashouts are simulated and settle instantly
- No real KYC — identity verification is bypassed
- Plaid sandbox banks — use Plaid’s sandbox credentials for bank linking
- Sandbox balance is not real money — cannot be withdrawn to a real bank account