How sandbox works
- Use
pk_test_...keys. Same base URL, same paths. - Orders are tagged
sandbox=1server-side. They never hit live providers and never appear in your payout calculations. - Provider responses are mocked deterministically. Network confirmations are simulated; nothing is ever broadcast.
Driving lifecycle with sandbox_scenario
Pass sandbox_scenario on /order/create (only honoured for pk_test_ keys):
Optional
sandbox_ttl=<seconds> shortens lifecycle for fast CI runs.
Webhook delivery in sandbox
Webhooks fire normally with"sandbox": true at the top level. Use a separate
sandbox webhook URL in the dashboard so you don’t pollute production logs.
Sandbox SSE concurrency
Same headers and resume semantics as production, but the per-partner cap is fixed at 50 concurrent regardless of tier.When to leave sandbox
Before you can flip topk_live_:
- KYB form submitted in the dashboard.
- Webhook URL whitelist passes our SSRF guard (HTTPS + public IP).
- At least one successful sandbox round-trip on each pair class you support.
- Payout address verified (we send a $1 test transaction; you confirm receipt).