free · no account · no log
Verify a claim.
Paste a claim ID, drop a signed envelope, or paste raw JSONL. The verifier runs locally in your browser — your input never leaves this page. Result is one of three outcomes: matches, drifted, or unverifiable.
verifier · browser-resident
try an example →
one click · fills envelope · runs verifier
— · —
Zero-trust by construction. The substrate operator cannot tell you a claim is true. The verifier compares cryptographic primitives (keccak256 + secp256k1) against the public records root — nothing else. Read I-5 →
Three outcomes only
matches — signature + records root verify. drifted — signature valid, root mismatch. unverifiable — bad signature, missing key, or malformed envelope.
No interpretation
The verifier never tells you whether a claim is "true." It tells you whether the bytes were signed by the attester they say they were. Truth is the reader's call. (I-2, I-3)
Runs everywhere
Same result in browser, CLI, Go module, or your own implementation. Frozen schema, frozen primitives. Parity fixture →
need to verify at volume?
For programmatic verification, batch checks, or embedding in your product — call the reference API.
See API reference →