Leaves
Each receipt becomes one leaf:SHA-256( 0x01 || left || right ). The 0x00 / 0x01 prefixes on leaves and interior nodes
follow RFC 6962, and stop a leaf hash from ever being reinterpreted as an interior node hash (or vice versa).
The log is append-only by construction — QED Proof’s storage refuses updates and deletes against receipts, leaves,
and roots.
The proof object
A receipt’s proof carries what you need to check inclusion:
leaf_hash from the receipt’s own body and signature, then run the RFC 6962
audit-path verification using leaf_index, tree_size, and the hashes in inclusion. It must produce exactly
root_hash.
anchor may be absent — that happens at trust level 1, or at trust level 2 before an anchor has landed yet for this
part of the tree. An absent anchor is a limitation of the proof, not an invalid receipt. See
anchoring for what it adds, and check a receipt for running this
verification yourself.
Read the log yourself
The log is free and public: no account, no API key, and any website may call it from a browser. Reads are rate-limited per IP address.POAW-TREE-HEAD-V0), so it can never be mistaken for a receipt.
Keep the heads you fetch: a later head that isn’t consistent with an earlier one is proof the log was rewritten.
To check a receipt against a head you hold, run check.py --head <file-or-url>. The full endpoint list is in the
API reference, and qedproof.site/log shows the same data.