Environments & mode
Helium MVNE mirrors Stripe's environment model. Every operator owns one or
more environments — always a sandbox, plus a live once
graduated. API keys, webhook endpoints, carrier connections, and
every tenant-scoped record are environment-scoped.
Sandbox vs live
| Sandbox | Live | |
|---|---|---|
| Key prefix | …_sandbox_… | …_live_… |
| Carrier | Simulated backend — no real SIMs are provisioned | Your operator's carrier wholesale contract |
| Tax / payments | Stubbed adapters | Real adapters (Avalara, Stripe Connect, …) |
| Data | Fully isolated | Fully isolated |
| Dashboard toggle | Default | Revealed once your live environment is provisioned |
Key scoping
A key is bound to exactly one environment at mint time. The prefix tells you which — you can't accidentally cross the streams. Sandbox webhooks are never delivered to live endpoints.
Graduation
Going live is additive, not a swap. A Helium MVNE super-admin
provisions a live environment next to your existing sandbox.
Your sandbox keys, webhook endpoints, and scenarios keep working
unchanged for ongoing integration work.
Dashboard mode toggle
The Helium MVNE dashboard has a Stripe-style mode pill in the top
bar. It drives which environment the dashboard's /v1/* calls
target — the URL stays the same, the admin-sudo claim carries the
mode.