Overview
In sandbox environment, the Superbank API exposes additional endpoints under/v0/sandbox/ that allow you to:
- Transition payment statuses (e.g., simulate a payout completing)
- Transition settlement request statuses (e.g., force a settlement to complete)
- Trigger outbound webhooks and realtime updates for each transition
Available Endpoints
Get Sandbox Info
Check if sandbox mode is available in your environment.cURL
Response
Transition Payment Status
Simulate a payment status change. This triggers the full webhook pipeline, including outbound webhooks to your registered endpoints and realtime updates.cURL
Response
Transition Settlement Request Status
Simulate a settlement request status change. This triggers outbound webhooks and realtime updates.cURL
Response
Payment Status Values
Settlement Request Status Values
Testing a Full On-Ramp Flow
Here is a complete example testing theSTABLECOIN_TO_STABLECOIN flow end-to-end.
Step 1: Create a Settlement Request
cURL
id from the response - you’ll need it for subsequent steps.
Step 2: Transition to FUNDS_SENT
Notify that you have collected the funds externally.cURL
outbound_payment.id field in the response.
Step 3: Complete the Payout Payment
Use the sandbox endpoint to simulate the payout completing. Transition throughPROCESSING first, then COMPLETED.
cURL
SETTLEMENT_COMPLETED.
Step 4: Complete Reconciliation
Finalize the settlement by providing the inbound transaction hash.cURL
Step 5: Verify Final Status
cURL
status: "REQUEST_COMPLETED".
If you see
AWAITING_PAYIN_RECONCILIATION in Step 4’s response, your
transaction_hash was accepted but the matching inbound PAYIN had not
been indexed yet. Don’t retry the call — the request will resolve to
REQUEST_COMPLETED (or PAYIN_AMOUNT_MISMATCH) automatically and emit a
settlement_request.updated webhook once the PAYIN lands. See Real
Time On-Ramping → Step 6
for the full explanation.Testing Failure Scenarios
You can also test error handling by transitioning to failure states.Simulate a Payment Failure
cURL
Simulate a Payout Under Review
cURL
Simulating a Payin
For settlement flows that require an inbound payment (e.g., stablecoin-to-stablecoin), you need to send real test tokens on a blockchain devnet. The sandbox environment uses Solana Devnet for USDC testing.Devnet tokens have no monetary value. They are free test tokens used exclusively for development
and testing.
Prerequisites
- Install Solana CLI
- Create a devnet wallet
- Get SOL for gas fees
- Get USDC from Circle Faucet
- Go to faucet.circle.com
- Select Solana and Devnet
- Paste your wallet address
- You’ll receive 20 USDC (can request every 2 hours)
4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
Sending a Test PAYIN
Once you have devnet USDC, send tokens to the prefunded wallet address returned in your settlement request’spayment_instructions.wallet_address field.
Node.js
Python
transaction_hash field in the reconciliation step (REQUEST_COMPLETED).
Webhook Events
Each sandbox transition triggers the same webhook events as production, with the same payload shape. Test handlers wired to sandbox transitions will receive the same fields they will see in production.
Payload shape mirrors the production trigger path (
type, status, amount, external_id, metadata, source, destination, updated_at). See the Webhooks guide for the canonical envelope and per-event field list.
Make sure you have a webhook endpoint configured to receive these events.
Environment Availability
Webhooks
Learn how to set up, verify, and debug webhook endpoints.
Real Time On-Ramping
Complete guide to the on-ramping settlement flow.