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 →