A receipt anyone can verify offline against Manav's public key.
A receipt is shared with the receiving bank, the counterparty's counsel, or a regulator. They verify it against Manav's published Ed25519 key, no Manav account, no live connection, no contract. The math holds against the published key forever, even if Manav goes offline, gets breached, or shuts down.
- Verifier fetches Manav's public key once from /.well-known/manav-keys and caches it.
- Verification is a single Ed25519 check against canonical JSON, no network required after the cache.
- A Manav outage breaks issuance, never verification. A Manav exit does not orphan its receipts.
Verified human signature
Receipt mnav_proof_a83f9c2b
What this receipt attests
Verify it yourself
Fetch Manav's published Ed25519 key once. Canonicalise this receipt with manavSig removed. Check the signature. No callback to Manav required.
curl "https://manav.id/.well-known/manav-keys" > manav-jwks.json node -e " const { verifyReceipt } = require('@manav/verify'); const r = require('./receipt.json'); const j = require('./manav-jwks.json'); verifyReceipt(r, j).then(console.log); // { ok: true, actor: 'pk_acme_4f81...', // action: 'approve_wire_transfer' } "
This page is the canonical proof URL. Share it with the bank, the auditor, the counterparty, or future-you. The math holds against the published key forever, even if Manav goes offline, gets breached, or shuts down.
Want to ship this in your own app?
Three lines of JavaScript. Demo key mnav_test_demo works on localhost.
Manav