P21 / OFFLINE DEMO v0.1.0
See what a
check can catch.
Four synthetic examples. Actual Ed25519 signature checks. A separate local instruction. No network or wallet.
Educational demo—not the P21 SDK or a live transaction verifier. Never use these fixtures to approve a real payment.
Download. Inspect. Run.
Use Node.js 22 or newer. Save the single file and review it in a text editor before running it. No npm installation is needed.
Download proof21-demo.mjs ↓node proof21-demo.mjsRun from the directory containing the downloaded file.
node proof21-demo.mjs --jsonInspect source as text · SHA-256 checksums · ZIP with README
What you should see.
| Example | Signature | Check |
|---|---|---|
| Matching sample | VALID | PASS |
| Wrong recipient | VALID | FAIL |
| Missing evidence | VALID | INDETERMINATE |
| Tampered report | INVALID | INDETERMINATE |
The wrong-recipient report has a valid signature. That is the point: authentic evidence can still describe the wrong action.
Even a matching sample stays REVIEW for acceptance. Synthetic evidence does not establish a real payment.
What actually runs?
The file verifies compact JWS fixtures with Node’s built-in cryptography. It compares their fields with a separately supplied local expectation and a fixed demonstration clock.
No private keys, dependencies, RPC calls, file writes, wallet access, analytics, or payments. Re-running the examples is safe but is not replay-protection testing.
What does not run?
Live chain verification, DMT/TAP state validation, Bitcoin sampling, hosted APIs, and production key/revocation policies remain future work.
The restricted JWS reader is not a general-purpose JOSE library or the final P21 receipt standard. A checksum from the same host is not independent proof of publisher identity.
Read the demo specificationAlready have the repository?
From a checkout that includes this change, this npm command also works. It runs a local script; it does not install a package:
npm run demoThere is no published P21 npm package yet. Do not install a similarly named package assuming it is ours.