Skip to main content
Sandbox Mode gives you test API keys and a sandbox where you can simulate deposits, payouts, and returns without moving real money.
Test data only. The sandbox is a test environment and does not carry the same data protections as production. Do not use production data or personal information (PII), such as real names, account numbers, addresses, or identity documents, for account holders, counterparties, references, or webhook payloads. Use fictitious values.

Use Sandbox Mode

1

Enable Sandbox Mode

Switch the selector at the top right of the Dashboard from Live to Sandbox.
2

Use test API keys

Generate your test API key under Developer → Secrets and use it against the sandbox base URL (see Introduction). Register your webhook endpoint under Developer → Webhooks.
3

Create accounts

If your sandbox has no accounts yet, create the ones you want to test with: under Accounts, choose Create for an operating account or an FBO program. See Create accounts in the Dashboard.
4

Simulate activity

Simulate a deposit with Initiate transactions → Simulate deposit at the top right of the Dashboard: pick the account, amount, reference, and rail (ACH, Fedwire, or SWIFT). The deposit settles within seconds and shows up under Transactions.
5

Go live

Once your account is activated, switch the selector back to Live and generate live API keys.
The Live / Sandbox selector only changes what the Dashboard shows; it does not affect your integration. Your API keys and base URL determine which mode you’re in.

What you can do from the Dashboard

Every sandbox action has a Dashboard control or an API endpoint. The API walkthrough is Simulations; this table maps each step to its Dashboard equivalent.

Create accounts in the Dashboard

In the sandbox, you can open the accounts you need for testing from the Dashboard instead of the API. The Create button at the top of Accounts is shown in Sandbox Mode only, to Owners, Admins, Editors, and Operators.
1

Open the form

Under Accounts, choose Create → Operating account.
2

Enter the details

Enter an Account label and pick the Currency: USD, EUR, or GBP.
3

Create the account

Choose Create account. The account appears in the accounts list with its own payment details, ready to receive a simulated deposit.
An FBO account belongs to an FBO program and an account holder, so you create those first. See FBO accounts for the model.
1

Create the FBO program

Under Accounts, choose Create → FBO program, enter a Program label, and choose Create program. This creates a USD FBO program at the sandbox bank.
2

Open the program

Open the program from the accounts list and go to its Virtual accounts tab.
3

Add an account holder

Choose Create account, then Add new holder. Pick the Holder type:
  • US individual: legal name, date of birth, SSN or ITIN, and residential address.
  • Non-US individual: legal name, date of birth, citizenship, government ID number, and residential address.
  • Business: two steps. First the business (legal name, EIN or SSN, year, state, and country of incorporation, and business address), then the person who controls and owns it.
The holder is screened after you add it and shows as In screening until screening passes.
4

Create the account

Once screening passes, choose Create account, pick the Account holder, and confirm. The account opens immediately with its own account details.
Use fictitious holder data only. Do not enter real names, identification numbers, or addresses.

Test a payout

1

Create a payout

Via the API against a saved counterparty (see Payouts), or in the Dashboard with Initiate transactions → Payout to a saved destination. The payout starts as initiated and moves to submitted once the sandbox rail acknowledges it.
2

Open Sandbox Tools

Open the payout in its detail view under Payments → Payouts.
3

Set the outcome

Choose Simulate payout → succeeded (the payout becomes sent), failed (the payout becomes failed with a failure reason), or returned (the payout becomes returned and the amount is credited back to your account). Verify status and webhooks.

Test a return

1

Initiate a return

Return a deposit you received with POST /v1/returns, or from the deposit’s detail view in the Dashboard. The deposit stays settled; the return is a linked resource with the same statuses as a payout (initiated, submitted, sent, failed, returned).
2

Follow the return

The deposits list shows the return’s status next to the deposit, and the detail view lists it with its ID. A new return stays initiated until you drive it, the same way as a payout. Sandbox Tools on the deposit (or the return simulation endpoints) make it sent, let it fail (failed), or play the sender’s bank sending it back, so it becomes returned with the funds credited to your account again.

Production

Switch to live API keys and start with small amounts.

What’s next

Bank and wallet destinations are saved as counterparties.