Playground
A fully-wired Veridex sandbox that runs in your browser. Open it in a new tab, register a passkey, mint a session key, and ship a governed testnet transfer — all without leaving your laptop.
Why a new tab? Browser passkey prompts (navigator.credentials.create) misbehave inside cross-origin iframes — Safari and some Chrome profiles refuse to surface the FaceID/TouchID dialog. The playground opens in a top-level Stackblitz tab so passkey registration works the first time.
What's in the playground
| File | What it does |
|---|---|
src/main.ts | End-to-end script: register passkey → confirm policy → ship a gasless transfer via the public relayer → render the trace. |
src/policies.ts | Example policy: per-tx max value with a label. Edit and re-run to see the transfer get rejected. |
src/trace-view.ts | Renders a signed-trace stub inline so you can see exactly what got recorded. |
README.md | Step-by-step walkthrough mirroring the Developer Quickstart. |
Five-minute path
- Click Open the playground ↗ above.
- When Stackblitz finishes booting, hit the Run button (or wait for autorun).
- In the preview pane, click 1. Register passkey — your browser prompts for FaceID/TouchID.
- Click 2. Confirm policy — confirms the per-tx max value the playground will enforce.
- Click 3. Send transfer — the SDK signs with your passkey, the public relayer submits the transaction, and the preview renders both the on-chain tx hash and the local trace.
When you're ready to leave the sandbox
- Wire it into your own project: Developer Quickstart
- Understand what just happened: Core Concepts
- Build an agent on top of it: Agent Payments guide
- Tune the policies: Spending Limits · Governance / Approvals
Limits of the shared playground
The playground talks to the public Veridex relayer at https://relayer.veridex.network — no API key, no signup, rate-limited to 5 transactions per hour per IP on Base Sepolia. If you hit the limit, either wait or provision your own key from the Developer Portal (opens in a new tab) (still free during beta).
The shared playground also signs against a pre-seeded testnet vault — funds are not real and reset periodically. For persistent testnet funds, generate your own vault by following the Developer Quickstart.