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).