ethkey-lite — signed receipt verifier

Paste any ethkey-lite-proof v1 markdown receipt (produced by ethkey.py proof) and verify it entirely in your browser: the payload is re-hashed (SHA-256 via WebCrypto) and the signature is recovered with ethers.verifyMessage (EIP-191). Nothing is uploaded anywhere and nothing is signed here — verify-only. Matches ethkey.py verify and GitHub Actions.

What each check means

payload — base64 body decoded, SHA-256 recomputed, compared to the sha256: header. Detects any edit to the attached artifact.
signatureethers.verifyMessage over the canonical string ethkey-lite-proof v1\ncreated:<created>\nsha256:<sha256> (hashed scope only; the note: field is not signed).
signer — recovered address equals the signer: header, and if supplied, the required address. A tampered payload breaks payload AND signature.

CLI equivalent: python3 ethkey.py verify proof.md --require 0x… — exit 0 only when all three pass. Source: github.com/tianzhicdev/ethkey-lite