live demo

Watch a deed
get verified.

This page runs the whole sovereign-tier login itself: a real WebAuthn passkey ceremony mints a deed, and the real, published grantor-verify wasm checks it against a real on-chain read — the same code your own app would run, not a mock of it.

The one thing this page fakes

There's no server here, so this page mints the anti-replay challenge itself. In your app, your own challenge store issues and burns it — that's the only part of this demo standing in for infrastructure you'd actually run.

Loading…

Verify a real deed

Tenant 1 has funded a period, so the registry reports it Active. Register a passkey, sign an assertion, mint the deed, verify it — all four in your browser.

See the billing gate reject an unpaid tenant

Tenant 2 was created but never funded, so it's Inactive. The same ceremony, against the same verifier logic — this one is supposed to fail.

Holder and verifier are the same browser here

That's a real limitation of a single-page demo — in production the holder (an app or agent) and the verifier (an RP's own backend) are different machines. What makes this page verifiable anyway: the verifier is the real published grantor-verify wasm, unmodified, and the on-chain read it makes is real. Open the registry on a block explorer and call status() yourself — the two buttons above will show you exactly which address and which tenant id to check.

What actually happened

A live log of every step this page ran, in order — nothing summarized after the fact.

Base Sepolia testnet, developer preview — not mainnet. The registry this page reads is a real deployed contract, but it is not the production instance and holds no real funds.