Proof Anchored on chain

Standard proofBSV mainnet
Anchored at
2026-05-02T00:27:00Z UTC
Proof
Standard proof — file never left your device
Submitter’s label
sample.txt
Provided by the submitter; not checked by Satsignal.
Proof ID
0c4c5a82fd2b41e3

View on Bitcoin SV chain →

Includes the bundle, a printable PDF proof, and a verify guide. Keep alongside the original file.

Include the original file in this package (optional)

Pick the file you anchored. Your browser will re-hash it locally and compare against the anchored fingerprint; the file’s bytes never leave this page. If it matches, it will be bundled into original/ inside the ZIP so recipients have everything in one place.

Keep these two together

your original fileYou keep this — re-hashed at verify time
satsignal-proof.mbntbundle — the portable proof file a verifier uses to re-check the proof

Verifying later needs both: your original file and the bundle. The proof commits to the file’s fingerprint, not its bytes — we never had them.

In plain terms. This is tamper-evident proof that whoever anchored it held this file’s fingerprint (its SHA-256) by 2026-05-02T00:27:00Z UTC, recorded on the public BSV chain. Anyone can re-check it without trusting Satsignal — it does not establish authorship, or that the event the file describes actually happened. The full breakdown is below.

Standard proof — file never left your device. Your file was NOT uploaded. Only its SHA-256 hash, file size, and any label you typed were transmitted.

What this proof establishes — and what it does not.
A valid proof establishes the file existed in this exact form at the time of the on-chain transaction. It does not prove:
Technical proof detail — hashes, on-chain commitment, size
File SHA-256 file fingerprint
f7b36d6f8caf0724763b170e20eb430eedbc560dad3b34e50d84a4b091bec2e5
File size
92bytes
Filename label
sample.txt
Anchored at (UTC)
2026-05-02T00:27:00ZUTC
Transaction on-chain record
ec339fda9793379b5a10cb3db55f8f3449cd5200cca191d338c8e80769f592d3
On-chain commitment cryptographic anchor
fe0b39be185d7d64cc24982168108bcd6b34137a (sha256 of canonical proof doc, first 20 bytes)

Proofs anchored

Three orthogonal proofs about your file are committed in a single on-chain anchor. Use whichever the situation calls for.

Byte-exact
f7b36d6f8caf0724763b170e20eb430eedbc560dad3b34e50d84a4b091bec2e5
SHA-256 of the file as uploaded. A single-byte change anywhere produces a different hash.
Content-canonical
d9199e0a52f985a06a38acd018e4a2e11595791cc2f8623d582c7bb41f30e19c
Scheme: text (NFC + line-ending normalized). Resilient to non-meaningful changes (resave, metadata churn, line-ending drift).
Per-section commitment
7a7878242812ddcd3dc2ae6846d1fdba9ca2eafde2d8b090a53494ee172c6759
Scheme: per-line · 3 leaves. Lets a holder later prove a single chunk was part of this file without revealing the rest.
Other download options
Bundle only (.mbnt)

Create another proof →

How to verify this proof yourself (manual recipe)
In one sentence: re-fetch the transaction from any BSV block explorer, recompute the canonical proof's hash, and check that your file's SHA-256 matches the one inside — if all three match, the proof is intact and the original file is the one anchored. The verifier at /verify does this for you in your browser in one click.

For an audit trail or scripting, here are the manual steps anyone can run with sha256sum:

  1. Re-fetch the on-chain transaction: https://whatsonchain.com/tx/ec339fda9793379b5a10cb3db55f8f3449cd5200cca191d338c8e80769f592d3 — confirm an OP_RETURN output starting with the bytes MBNT.
  2. Decode the OP_RETURN payload: bytes 8–27 are the doc_hash (sha256 of the canonical proof doc, truncated to 20 bytes; bytes 0–3 are MBNT, 4 the version, 5 the subtype, 6–7 the TLV length). It must match fe0b39be185d7d64cc24982168108bcd6b34137a.
  3. Hash the included canonical.json from the .mbnt bundle directly — the bundle stores the exact bytes that were hashed on-chain, so do not re-canonicalize: sha256sum canonical.json | cut -c1-40. The first 40 hex chars must equal fe0b39be185d7d64cc24982168108bcd6b34137a. (If you instead re-canonicalize to defend against a tampered stored copy, you MUST use SCJ-v1 — code-point key sort, NFC, floats forbidden — not RFC 8785 / a generic JCS library: the product uses three non-interchangeable JSON canonicalizers. See the MBNT spec §5.)
  4. Sha256 the original file — must equal the File SHA-256 above. The bundle does not contain the bytes; you kept them.
What we kept: this bundle (downloadable above) and one access-log line for this request. What we did NOT keep: the original file — the bytes never reached us. The on-chain anchor is permanent.

Terms · Report this proof page