Developers · Sandbox & test data

A sandbox that behaves like production.

You shouldn't have to point at a different hostname or a throwaway cluster to test. The sandbox is the same API, the same deployment — the difference is your key's mode. A test key routes every rail to a simulator that settles, fails and returns just like the real thing, against test data that never touches your live ledger.

Test keys vs live keys

Test mode

X-API-Key: dt_test_...

Pins every rail to the simulated providers regardless of environment. Payments settle on an accelerated clock, and you can force declines, returns and approvals on demand. Writes to an isolated test ledger.

Live mode

X-API-Key: dt_live_...

Routes to the real bank rails and moves real money. Same request shapes, same webhooks, same ledger semantics — the only difference from test is that it's real. Live data is fully isolated from test data.

The key's prefix is the switch — dt_test_ or dt_live_. Nothing else in your integration changes, so the same code path you tested is the one that goes live.

Forcing outcomes with test data

In test mode, specific amounts and counterparty values trigger deterministic outcomes, so you can exercise every branch of your integration — including the unhappy paths that are hard to reproduce against a real bank.

To getDo this in test modeYou'll see
A clean settlementAny ordinary amountpayment_order.pendingpayment_order.completed
An approval holdA large amount over the risk thresholdPendingApproval until approved
A risk declineAn amount past the hard-decline ceilingpayment_order.failed · risk_declined
An ACH returnA test routing/account flagged for returnpayment_order.returned · return code
A card declineAn authorization over the funded balanceDeclined · insufficient_funds

Confirm your webhooks before you go live

Send a real signed test event

Trigger a webhook.test delivery to your endpoint — a real, HMAC-signed delivery from the outbox, so you can prove your signature verification and your 2xx acknowledgement work end-to-end.

Inspect deliveries

Every attempt — status, response code, retries and dead-letters — is visible so you can debug without guessing. Replay any event once your endpoint is healthy. See Events & webhooks →

Sandbox opens with your developer access.

Test keys are issued with an approved developer account rather than self-serve. Apply for access to get test keys for your account.