Every Geldstuck account has two isolated environments: test mode and live mode. Data, keys, and webhooks never cross between them.

At a glance

Test modeLive mode
Base URLhttps://api.sandbox.geldstuck.com/v1https://api.geldstuck.com/v1
Key prefixpk_test_... / sk_test_...pk_live_... / sk_live_...
Webhook secretswhsec_test_...whsec_live_...
Verification and payment outcomesSynthetic / non-settlingReal user / live-settling
Data retention30 days rollingIndefinite (per contract)
Rate limits30 req/s per keySee rate limits
All features are identical between environments. The practical differences are credentials, whether side effects are synthetic or live, and data retention.

Switching environments

Toggle the Test mode switch in the top-right of the dashboard. Your sidebar, keys, logs, and events instantly reflect the selected environment.

Using test data

Test mode supports synthetic identity and payment outcomes so you can exercise end-to-end flows safely. Use the test profiles and instruments configured for your account, and keep all automated runs pointed at the sandbox base URL. See Testing for integration patterns and environment guidance.

Promoting to live

1

Complete account verification

Finish the business verification flow in the dashboard. Live keys stay disabled until your account is approved.
2

Create live keys

In live mode, go to Developers → API keys and create a new key pair. Label them by environment (prod-api, staging-api) for auditability.
3

Register live webhooks

Register your production webhook URL in live mode. Test-mode endpoints do not carry over.
4

Deploy with the live secret

Rotate your server’s GELDSTUCK_SECRET_KEY and GELDSTUCK_WEBHOOK_SECRET to live values, and deploy.
Keep a staging copy of your app pointed at test mode. Run end-to-end tests there before every production deploy.