MIZAN / Developers / The verdict / Conformance
Run the vectors. Here, in your browser, now.
This page fetches the published vectors and verifies every token in this tab, with no call to MIZAN. Each must return exactly its expected result: a valid token passes; a tampered, expired, wrong-payee, wrong-rule, unknown-key or revoked one fails with its code.
Every vector, verified in this tab.
Once with your browser's WebCrypto Ed25519, once with a pure-JavaScript verifier (tweetnacl 1.0.3, inlined). The vectors in vectors.json are signed with a published test key that is never in MIZAN's key set, so a vector token can never pass against production keys.
Running…
| Vector | Expected | WebCrypto | Pure JS |
|---|
A real verdict, verified here.
Ask MIZAN for a verdict on the sandbox subject and verify its token in this tab against the production key set. Two calls: the check and the key set. The verification itself is offline.
One command. Exit 0 only when every vector passes.
Point it at your own verifier. It is called as fn(token, keys, payee?, rule?, now?, status?) and returns {ok, code}.
# Python, no SDK needed: the standalone file (stdlib only) curl -sO https://mizan.market/verdict/conformance.py python3 conformance.py --verifier yourpkg.verdict:verify_token # Node 20+, no package needed curl -sO https://mizan.market/verdict/conformance.mjs node conformance.mjs --verifier ./your-verifier.mjs # inside the SDKs python -m mizan.conformance --verifier yourpkg.verdict:verify_token npm run conformance -- --verifier ./your-verifier.mjs
Payment-side verifiers (x402, AP2, the Agentic Commerce Protocol, the HTTP header) have their own cases in carriage.json. Every code is defined in the code registry.
Pure-JS engine: tweetnacl 1.0.3 (public domain; audited by Cure53, 2017), nacl.min.js from npm, sha256 973cc5733cc7432e…, inlined unchanged. This page loads no third-party script.