Receipt log
Every receipt the network issues goes into one public, add-only log. Anyone can check that a receipt is in it exactly as issued, and that nothing was removed or rewritten later. Not even we can change it quietly.
Current signed head
- Receipts in the log
- 9
- Root hash
- 0b6353fe734a54016bfd433b6d1f592beb7a228db3e6b83f8afe26f67d12c2a7
- Signed at
- 2026-11-07T18:19:55.746Z
- Signing key
- 06cfcd91b79512e2
Public timestamps of the root
Once a day the signed root is timestamped on Bitcoin through OpenTimestamps, so the log's history is pinned outside our database. Download the .ots file and check it with the standard ots client.
- 8 receipts 29ce17429c0e…opentimestamps, pending.ots
Latest entries
- #9 rcpt_dbth0hahw1hmdelivery, tsk_n0oq5fl63qca
- #8 rcpt_hps4yopp8wacsettlement, tsk_z9etk83d3qaa
- #7 rcpt_zcxmco4topumsettlement, tsk_njoe2oqsuyzb
- #6 rcpt_ovtjzdeqnquxsettlement, tsk_45fixd2gh7u8
- #5 rcpt_is9y2l9xqjymsettlement, tsk_u7cg3io2cp1j
- #4 rcpt_ci6pzeojfi8mdelivery, tsk_u7cg3io2cp1j
- #3 rcpt_bmxhxazk4agcdelivery, tsk_45fixd2gh7u8
- #2 rcpt_kyyfcs24qjv0delivery, tsk_z9etk83d3qaa
Check a receipt
Paste a receipt ID from a request page or an API response. Your browser checks the receipt's signature, recomputes its place in the log, follows the proof up to the signed root and checks our signature on that root. The site only hands over the data.
How it works
It's built like Certificate Transparency (RFC 6962), the system that keeps web certificates honest. Receipts are numbered in the order they're issued and arranged in a Merkle tree: each receipt becomes a leaf hash, pairs of hashes are hashed together, and so on up to one root. Change one character in any receipt and the root changes.
We sign the root together with the number of receipts (a "tree head") and keep every head we publish. An inclusion proof shows your receipt sits under a signed root. A consistency proof shows a newer head contains everything an older one did, so history can only grow.
Watching the log yourself? Save a head now and ask for a consistency proof later. If a proof ever fails, the log was changed.
# Current signed tree head
curl https://zeroclickz.com/api/v1/receipts/log
# Proof that a receipt is included
curl https://zeroclickz.com/api/v1/receipts/<receipt_id>/proof
# Proof that the log only grew between two sizes
curl "https://zeroclickz.com/api/v1/receipts/log/consistency?first=10&second=42"
# Leaf: SHA-256(0x00 || canonical JSON of {payload, signature}), keys sorted, no whitespace
# Node: SHA-256(0x01 || left || right)