Verify a transparency receipt
ledgerproof_verify_receiptVerify a LedgerProof receipt using a sequence number or a SCITT transparent statement. Checks issuer signature, inclusion proof, receipt signature, and Bitcoin anchoring.
Instructions
Verify a LedgerProof receipt. Provide EITHER {sequence} (looks up the chain entry from the public verifier) OR {transparent_statement} (a SCITT Transparent Statement bundle, verified with the trust-minimized §7 algorithm: issuer COSE_Sign1 signature, RFC 9162 inclusion proof, Transparency-Service receipt signature, and an independent Bitcoin OP_RETURN check). For a Transparent Statement, returns {issuerSignatureValid, inclusionProofValid, receiptSignatureValid, bitcoinConfirmed, valid, recomputedRoot}. The Transparency-Service PUBLIC key (for the receipt signature) is loaded from LEDGERPROOF_TS_PUBLIC_KEY_HEX or fetched from {apiBase}/v1/scitt/ts-key; the Bitcoin txid is taken from the statement wrapper, the txid arg, or a /v1/scitt anchor lookup. SCITT verification requires the SDK's scitt module to be present in the installed build.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sequence | No | Sequence number of a receipt to verify via the API. | |
| transparent_statement | No | A SCITT Transparent Statement (COSE_Sign1 with attached COSE Receipts) in SERIALIZED form: a base64/base64url or hex string, or a wrapper object { transparent_statement: <string>, txid? }. Verified locally (a fully decoded COSE object is not accepted). | |
| txid | No | Bitcoin transaction id holding the daily-root OP_RETURN, if known. Used for the §7 step-5 witness when not embedded in the statement. | |
| issuer_public_key_hex | No | Issuer (publisher) Ed25519 PUBLIC key as 64 hex chars, to verify the Signed Statement signature (step 1). If omitted, the issuer key embedded/kid-resolved in the statement is used if available. | |
| bitcoin_check | No | For a Transparent Statement, also confirm the daily root in a Bitcoin OP_RETURN via a public source. |