Skip to content

@quantzk/verify CLI

Offline-first verifier for portable QuantZK receipts (.qzk). Implements normative QZR-1 Minimal / Standard / Strict evaluation.

Package: protocol/packages/verify-cli (also in ayitsomar/quantzk-verify)
Bin: quantzk-verify

Usage

bash
# From the public extract (or protocol workspaces)
git clone https://github.com/ayitsomar/quantzk-verify.git
cd quantzk-verify && npm install --legacy-peer-deps

node packages/verify-cli/bin/quantzk-verify.js --trust-roots conformance/qzr-1/trust-roots.json \
  --level standard conformance/qzr-1/valid-standard.qzk

# Strict needs a fresh revocation snapshot
node packages/verify-cli/bin/quantzk-verify.js --trust-roots conformance/qzr-1/trust-roots.json \
  --revocation conformance/qzr-1/revocation-snapshot-clear.json \
  --level strict receipt.qzk

# Machine-readable
node packages/verify-cli/bin/quantzk-verify.js --json --level minimal receipt.qzk

Options

FlagMeaning
--offlineCrypto / QZR-1 verify only (default)
--onlineCall QuantZK /api/vdi/billing/verify
--bothOffline + online
--level <name>minimal | standard | strict
--trust-roots <file>Allow-lists (billing vkey hashes, issuer keys, …)
--revocation <file>Revocation snapshot JSON
--api <url>API base for --online
--jsonPrint JSON instead of text summary

Exit code 0 = requested level PASS; 2 = FAIL.

Example summary

text
QUANTZK VERIFIED — QZR-1 STANDARD

QZR-1 Minimal:         PASS
QZR-1 Standard:        PASS
QZR-1 Strict:          FAIL
Phase-2 binding:       PASS
Revocation:            NOT_CHECKED
Current status:        NOT_CHECKED

Blind validation

Give an engineer valid-standard.qzk, trust-roots.json, and QZR-1. Ask whether the receipt meets Standard — without QuantZK source. See QZR-1 §12.

See also

Verification keys are embedded in attestations. Verify offline. No QuantZK servers required.