Skip to main content
The AlgoVoi compliance receipt verifier decodes, cryptographically verifies, and structurally validates a compact JWS compliance receipt against AlgoVoi’s Ed25519 signing key. It is standalone — a recipient can verify any receipt without contacting AlgoVoi’s gateway, control plane, or JWKS endpoint (the public key can be fetched once and cached). Three deployment modes ship today, all from the same source code with the same byte-for-byte verification logic:

Hosted endpoint

POST api.algovoi.co.uk/v1/receipt/verify — submit any JWS receipt, get back a structured pass/fail report. Stateless. Rate-limited at 120 req/min.

Python (PyPI)

pip install algovoi-receipt-verifier. Exposes verify_compliance_receipt() and ReceiptVerificationError with nine typed error codes.

What the verifier checks

All nine error codes map 1:1 to the Phase 8 Agent Trust Bench threat surface (OWASP LLM09).

Hosted endpoint

Response on success (200 OK):
On failure (422 Unprocessable Entity):
Optional: pass jwks to verify a receipt signed by a third-party key rather than AlgoVoi’s platform key.

Programmatic use (Python)

Programmatic use (TypeScript)

Phase 8 ATB threat mapping

Each of the eight invalid cross-validation vectors maps directly to a Phase 8 Agent Trust Bench threat profile:

Cross-validation vectors

13 self-contained JSON fixtures (vectors/valid/ and vectors/invalid/) are run by both test suites. Each fixture embeds its own jwks — no external key store required. E2E tests install from the live registries (algovoi-receipt-verifier==0.1.1 from PyPI and @algovoi/[email protected] from npm) into a clean environment and run all 13 vectors. Source: e2e/test_registry_python.py and e2e/test_registry_npm.mjs. Regenerate vectors at any time:

JWKS endpoint

AlgoVoi’s public key is available at:
Pass the response body directly as jwks. The kid in the JWS header is used for key selection; falls back to the first key if no kid match.

See also

  • Compliance gate — the POST /compliance/screen endpoint that emits the JWS receipts this verifier checks
  • JCS canonicalisation substrate — the build_compliance_receipt() emitter and JCS substrate underlying the canon_version pin
  • Audit verifier — selective-disclosure audit bundle verifier; composes with receipt verification in the compliance audit chain
  • Composite trust query — sits above this verifier; aggregates receipt signals into a single TRUSTED / PROVISIONAL / UNTRUSTED verdict
  • Settlement attestation — multi-chain settlement record that pairs with the compliance receipt
  • Agent Trust Bench — Phase 8 receipt/substrate-integrity profiles (OWASP LLM09)