Skip to main content
Veil runs two parallel environments behind a single URL. Production handles real KYC, real bank accounts, and real money. Sandbox is wired to a test environment — same surface, no real funds. The mode you’re in decides which environment every read and write touches.

How it shows up in Veil

When you log in to the dashboard, a header toggle switches you between Sandbox and Production. The choice is sticky. Every read and write is scoped to your active mode. Wallets, transactions, bank accounts, KYC status, API keys, and webhooks in sandbox are never the same rows you see in production. An API key minted in sandbox only works in sandbox; a production key only works in production. The same @handle can exist in both modes, owned by different users.

Who can use which mode

  • Individuals live in production only. Sandbox mode is not available to individual accounts — there’s no meaningful sandbox flow when you’re just moving your own funds.
  • Developers sign up in sandbox by default. The sandbox lets you build and test without KYC friction or real money. When you’re ready to launch, you “go live”: complete production KYC, add a production bank account, and switch the mode toggle to Production. See the Production guide.

Switching modes

Only the dashboard can switch modes — API keys are pinned to the mode they were minted in. To switch sandbox → production, you must first complete production KYC; the switch is blocked otherwise.

Common pitfalls

See also