How it works
The sandbox and live share one base URL:
https://api.stridge.com/v1The API key you send decides where a request runs. A key that starts with sk_sbx_ acts in your workspace's sandbox. A key that starts with sk_live_ (or an older key with no prefix) acts in live. No host, header, or query parameter switches environment.
curl 'https://api.stridge.com/v1/uda' \
-H 'X-API-Key: sk_sbx_...'Send the key unchanged in the X-API-Key header. A key sent as Authorization: Bearer is refused with 401, and a keyed request that also sends an X-Stridge-Environment header is refused with 400 (environment header not accepted).
The endpoints, request bodies, and response shapes are the same in both environments, so code you write against the sandbox runs unchanged in live once you swap the key.
Simulated chains
Deposits, settlements, and payouts in the sandbox run on Stridge's simulated chains. They follow the same pipeline as live: a transfer lands in a block, Stridge observes and confirms it, settles it, and sends webhooks. The difference is that no real value moves and every simulated chain seals a block every 1 second, so a flow that takes minutes in live finishes in seconds.
The sandbox simulates nine networks:
| Network | network_id |
|---|---|
| Ethereum | 60 |
| Arbitrum One | 9001 |
| Base | 8453 |
| Optimism | 614 |
| BNB Smart Chain | 9006 |
| Polygon | 966 |
| Tron | 195 |
| Solana | 501 |
| Bitcoin | 0 |
Tempo is not simulated. A UDA you create in the sandbox lists deposit addresses only on the simulated networks. See Supported networks for the full live list.
Sandbox transactions exist only on the simulated chains, so public block explorers know nothing about them. Open them in the sandbox explorer.
What you can do in the sandbox
- Every keyed
/v1API — UDAs, settlements, vaults, payouts, routing policies, and treasuries behave as they do in live. - Test helpers — the
/v1/test_helpers/*endpoints make things happen on the simulated chains: a deposit to a UDA, a deposit to a vault, a payout that succeeds, fails, or waits for you. See Test helpers. - Webhooks — register an endpoint in the sandbox and it receives the same events live sends.
- Vaults — every sandbox comes with vaults, so you can test payouts without asking for vault access first.
What is live only
- Gateway, Gateway Kit, Gateway SDK, and onramp. These use a gateway key (
X-Gateway-Key) and run in live only. A sandbox key is refused with403(Sandbox API keys cannot be used with the gateway). - Network configuration.
GET /v1/networksand the network status endpoints are not served to sandbox keys and answer404. - Real money and real email. Nothing in the sandbox reaches a real chain, and sandbox events send no real email.
Telling the environments apart
Every object an API-key request returns carries livemode: false in the sandbox, true in live. Objects inside lists are marked too.
{
"livemode": false,
"id": "31d32b68-e455-42b7-9d39-d2904adbe1b8",
"status": "active",
"owner": "user_8a7f3c"
}Webhook deliveries carry the same flag, plus the environment they belong to:
{
"id": "7401d9c7-e29d-4374-8952-af40f05168b7",
"version": "v1",
"type": "deposit.confirmed",
"time": "2026-10-25T09:46:54Z",
"livemode": false,
"environment_id": "3f2c1d9e-8a47-4b6e-9c11-2d5e7f8a9b04",
"reset_epoch": 2,
"payload": { "...": "..." }
}reset_epoch appears on sandbox deliveries only. It counts how many times the sandbox has been reset. When code needs to know which environment a response or payload came from, read livemode rather than inferring it from the key.
The signature covers the whole body, these fields included. If your receiver validates the envelope against a strict schema, allow livemode, environment_id, and reset_epoch.
Differences to plan for
- Webhook retries. A failed sandbox delivery is retried up to 3 times; live retries up to 6 times. Both back off exponentially, starting at 10 seconds, so a failing sandbox delivery gives up within a couple of minutes.
- Rate limits. The sandbox applies its own per-minute rate limits, and the test helpers have a separate budget of 600 simulations an hour. See Test helpers.
- Resets. A sandbox can be emptied from the dashboard, and an unused one is reset after 30 days. See Reset.