How it works
Your browser turns each file into a SHA-256 fingerprint. Only the fingerprint is sent to us — never the file. We combine many fingerprints into one Merkle tree (RFC 6962) and record a single root, every ten minutes. That root is anchored on two blockchains, so one transaction covers every fingerprint in the batch.
Two anchors
- MoonBite: the batch root goes into one OP_RETURN output — the 37 bytes "MBST" || 0x01 || root.
- Bitcoin: the same root is submitted to the OpenTimestamps calendars and, a few hours later, carries a Bitcoin block attestation.
Your receipt
Each file gets a .mbreceipt.json holding the fingerprint, the Merkle path, and the anchors with their proofs. It is self-contained: it verifies even if this site goes away.
Verify without trusting us
Use the Verify page, or the standalone verifier (standard library only):
mbverify file.pdf file.mbreceipt.json --node
--node checks the MoonBite anchor against your own node;
--bitcoin checks the OpenTimestamps proof.
Honest limits
- Only the fingerprint is sent. Do not stamp tiny, guessable files — a fingerprint can be reproduced from the original, so it reveals nothing, but a trivial file could be guessed.
- A stamp proves a file existed no later than a time. It does not prove who made it or that its contents are true.
- Block times can drift by up to about two hours; the receipt states the conservative time.
- The MoonBite chain is young, which is why every root is also anchored on Bitcoin.
MBITE is the native coin of the MoonBite blockchain; it is used to pay the tiny network fee for each anchoring transaction. That is the only place it appears in this product.