ZCG / maintainer path

10-minute reviewer path

Browser-only checks on the live desk. CLI and clone path: REVIEWER.md on GitHub. Live demo: zcash-invoice-preflight.vercel.app.

What this is

Compose-time ZIP-321 preflight for Zcash invoices — a BTCPay companion, not a plugin rewrite, not live chain detection, not an indexer observatory.

  1. Confirm engine + detection

    On the desk mast: Address engine · zaddr-wasm and Detection · mock · chainWatch=false.

  2. Good UA → PASS

    Click Good UA → green PASS ticket, QR, and valid zcash: URI.

  3. Bad t+memo → FAIL

    Click Bad t+memo → red FAIL with memo check (transparent + memo is invalid ZIP-321).

  4. Export BTCPay handoff

    On a PASS ticket, click Export BTCPay handoff → JSON with schema: btcpay-zec-helper.handoff/v1, source.chainWatch: false, and ownership fields. npm package: zcash-invoice-preflight.

  5. Advance (mock)

    Click Advance (mock) — status lane stays labeled MOCK — NOT CHAIN. This does not detect on-chain payment.

  6. Session telemetry

    After a few runs, scroll to Session telemetry on the desk — pass rate, fail-code bars, and a recent trend sparkline from the local roll (not chain data).

Acceptance questions (LOI)

CLI path (optional)

git clone https://github.com/panagot/ZCASH-INVOICE-preflight.git
cd ZCASH-INVOICE-preflight
npm ci && npm test
node bin/doctor.js --file fixtures/good-ua.json
node bin/doctor.js --file fixtures/bad-transparent-memo.json

Open merchant desk Check reference