API key prefixes
Every response carries
X-Ovra-Mode: test or X-Ovra-Mode: live derived from the token prefix. Inspect this header in CI to refuse to run live tests against sandbox keys (and vice versa).
What’s real in sandbox
- Hono API, every endpoint, every error code
- Policy engine + risk engine evaluations (real signals, real decisions)
- Webhook delivery, signing, retries
- Audit log writes (append-only, PG RULES enforced)
- Idempotency-key behavior
- Rate limits
- Card encryption (AES-256-GCM at rest)
- Multi-card per agent, freeze/rotate/close
What’s simulated in sandbox
- IBAN issuance (deterministic
DE89370400440{N}) - Wallet balance funding (
POST /fundwithsimulate: true) - Card authorization + settlement (no real card network)
- SEPA-out (no real SEPA provider)
- SEPA-in (no inbound reconciliation)
- KYC (
kycStatus: sandboxskips IDNOW)
Test cards
For card-rail sandbox flows you can use:
Default test expiry
12/28, CVV 123.
Auto-provisioning flow
1
Clerk webhook fires
organization.created arrives.2
Atomic provisioning
A single transaction:
- Pulls next index from
sandbox_test_counter - Creates
customersrow withkycStatus: sandbox,companyName: "Sandbox Test #N" - Provisions deterministic sandbox identity (
iban DE89370400440{N}) - Hashes and stores
sk_sandbox_*key - Creates billing account (Free tier)
- Writes default policy
- Marks
provisioning_jobsprovisioned
3
Welcome page polls
/dashboard/welcome polls every 250ms (max 2s) for the provisioning job.4
Reveal modal
Once provisioned, the dashboard shows your
sk_sandbox_* key plus a pre-filled mcp.json snippet. One-shot reveal — copy it now.Going live (v1.3+ — not yet available)
When live mode opens, the path will be:- Complete KYC via Dashboard → Go Live (IDNOW or partner-native).
kycStatusflipspending → submitted → verified.- Real EMI onboarding via the issuer adapter’s onboarding hook.
- Real funding IBAN issued.
- Create
sk_live_*keys.
Sandbox indicator
The dashboard shows a small Sandbox pill in the sidebar at all times. There is intentionally no page-wide banner — the pill is the canonical placement.Next
Funding
How to add simulated balance.
Compliance
Why we won’t unlock live until post-raise.
Quickstart
Five-minute sandbox walk-through.
