Verify a receipt or change entry offline
verify_receiptCheck a QED Proof receipt or change entry independently of QED Proof servers by validating schema, signing-key window, Ed25519 signature, claim digest, Merkle inclusion proof, and optional policy.
Instructions
Checks a receipt or a change entry independently of QED Proof's servers, as the reference checker in the QED Proof spec does: the JSON Schema, integer-only encoding, the signing key's validity window, the Ed25519 signature, the claim digest (receipts only; a change entry has no claim) and the Merkle log inclusion proof. A change entry is signed under its own domain and the report carries entry_kind "change" with a null verdict. If the body carries a policy, pass the pipeline document to check it (its digest, id and version); without it the policy check is reported as not_checked. It does not read the blockchain, so the on-chain anchor is reported as not checked and the achieved trust level is at most 1. Pass receipt_json (a receipt or a change entry) for a fully offline check, or receipt_id to fetch the receipt first. The public keys come from keys_json or, when omitted, from the issuer's published poaw-keys.json.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pipeline | No | The pipeline document, to check the receipt's policy against (its id, version and digest). Omit it and the policy check is reported as not_checked. | |
| keys_json | No | The issuer's poaw-keys.json as raw JSON text. | |
| receipt_id | No | A receipt_id to fetch, when receipt_json isn't given. | |
| receipt_json | No | The receipt as raw JSON text. |