Elara — verify it yourself
Paste a validation record below and check it in your browser —
no server, no network, no account, and no trust in us. The same code the
elara-verify CLI runs, compiled to WebAssembly. It confirms the
post-quantum signature and identity binding, and it
never prints a green it can't prove: an unproven bound shows
⚠ PARTIAL, a forged one shows
✗ FAILED.
Need a verdict someone else will accept? The same verifier also runs as a paid x402 API for agents (USDC on Algorand): a paid call returns this verdict plus a countersignature bound to the call's own payment transaction. Checking here stays free.
Holding a proof file someone sent you? Drop it anywhere on
this page — a record, an .elara-receipt, trust pins, or a
mandate bundle (or choose a file).
The page reads its shape, puts it in the right box below, and verifies it
automatically. Drop a proof and its pins file together and both land.
This box checks the record's own integrity — structure, identity binding, and
the post-quantum signature. To check a record against the chain —
epoch seal, inclusion, a drand time beacon — paste a
proof in the next section, or use the
elara-verify CLI (--inclusion / --seal /
--anchor; external anchor proofs are CLI-only).
Paste the raw JSON text exactly as read — don't re-serialize it from JSON.parse (u64 fields exceed JavaScript's 2^53 precision and round silently).
…the whole chain, one file
A proof (.elara-receipt) bundles the evidence
for one verification — the signed record, the epoch seal, inclusion and
account proofs — so "check it yourself" is one file. Paste
it and the same shared core grades every leg and the cryptographic links
between them, offline: post-quantum signatures, seal commitments, and a
drand not-before beacon whose BLS signature is verified in your
browser against the pinned League-of-Entropy key. (External
existed-by anchor proofs don't ride in proofs — that leg is
graded by the CLI, and shows here as an honest
⚠.)
Trust pins come from you, never from the proof. A proof that vouched for its own trust root would prove nothing, so without a pinned anchor key the seal grades ⚠ PARTIAL — honestly. The sample button — and the "verify this" links on the proof log — fill the pin with the repo's zone-0 anchor key for the demo; in real use you obtain that key from a source you already trust. Try "Drop the pins" to watch the verdict downgrade rather than lie.
…and who was authorized
A timestamp proves these bytes existed. A signature proves
this key signed them. Neither can answer the question that matters
for an autonomous agent: was this agent authorized to act — by whom,
for what, and was that authority still valid when it signed? Paste a
mandate bundle and check that chain offline, in your
browser — the same verdict the node's /mandate/status
endpoint computes.
A ✓ CONSISTENT result proves the
signatures and that authority held at the act's signed time
given the records in this bundle. It is deliberately
not labelled "authorized": offline it cannot prove the
records are on-chain or that a revocation wasn't withheld — that is the live
node's answer. It also does not check the mandate's
op/zone/amount scope — v0 records scope but defers
enforcement, and the verdict says so per-bundle via
scope_deferred (try the "Scoped mandate" sample). The named
principal is shown
only when the verdict attributes to them (an impostor's act
exonerates them).
Paste the raw JSON text exactly as read — don't re-serialize it from JSON.parse (u64 fields exceed JavaScript's 2^53 precision and round silently).