Skip to content
Verify

Check the math.

An Accords receipt states a digest of its own contents. This page recomputes that digest in your browser and compares.

Nothing leaves the page; there is no server to trust. View source if you like.

Verification

Load a specimen or paste a receipt. The digest is recomputed here, in your browser.

SIG — ed25519 · not verified. Venue keys are unpublished; this tool verifies content integrity (the bundle digest) only. It will never show a pass it didn’t compute.

What exactly gets hashed

The receipt’s fields are sorted by label in code-unit order (never locale collation, so the same receipt hashes identically everywhere), serialized as a JSON array of [label, value] pairs, encoded as UTF-8, and digested with SHA-256. The digest is written lowercase hex. Duplicate labels keep their input order.

The interchange shape this page accepts:

{
  "version": "accords.receipt/0",
  "fields": [ { "label": "ACTION", "value": "…" } ],
  "bundleHash": "sha256:<64 hex chars>",
  "signature": null
}

The verifier and every specimen on this site share the same canonicalization code — they can’t drift apart. Signed receipts add an ed25519 signature over the digest, checked against published venue keys; that check lands here when the keys do.