Reference
Exit codes
What tally verify and the secret guard return, so scripts can rely on them.
tally verify
| Code | Meaning | Examples | Source |
|---|---|---|---|
0 | Verified. The total printed is the round's total from the declared lanes in the window | A valid bundle | cli/tally.ts: cmdVerify returns normally after a verified result from verifyRound |
1 | Could not verify | A missing argument; no round with that id under that funder; fewer than 5 transfers; a derived verification key that differs from the pinned vk.zk.bin; a network error | VerifyError (code 1) in verify/core.ts; die in cli/tally.ts |
2 | The proof was rejected (PROOF FAILED) | The sealed total altered by one; a bundle replayed against a different challenge | cli/tally.ts: a rejected result from verifyRound |
3 | The round has aged out of the RPC's event window. This is not a proof failure | A round older than about seven days | cli/tally.ts: an expired result from verifyRound |
A verification-key mismatch exits with 1, not 2: the tool refuses to check the proof at all rather than reporting it as rejected.
Both tampering cases in evidence/README.md were re-run against round-004 on 2026-10-05 and exited with 2.
tally run with no command prints the usage and exits 0; with an unknown command it exits 1.
pnpm check:secrets
| Code | Meaning |
|---|---|
0 | No tracked file contains a secret it detects |
1 | At least one finding; each is printed with file and line |
See The secret guard.
pnpm demo
Exits 0 when the round is verified and the donor's total matches the expected total. Exits 1 if any step fails, if the window does not contain exactly 16 transfers, if the proof does not verify, or if the total does not match.