Proof of existence
Timestamp any file with @beat — free and public. Your file never leaves your device; only its SHA-256 is recorded. Later, prove the document existed at that moment.
Verifiable without trusting anyone — including us
Your entry does not rest on our word. It is sealed by independent witnesses — Bitcoin, a bank and public archives — each with a different owner, country and motive. The figures are live, and every card leads to the evidence.
Public log
Every fingerprint is chained to the one before it, and the whole log can be downloaded and recomputed by anyone.
Browse the checkpointsSigned checkpoints
Every day and after every closed week, the state of the whole log is signed and chained to the previous one.
Open the latest checkpointBitcoin
Weekly roots and checkpoints are committed to Bitcoin through OpenTimestamps, and each checkpoint names a recent block — so the time is bounded from both sides.
How the time is boundedBank transfers
Each weekly root is written into the title of a transfer at a regulated bank — a dated record we do not control.
See the bank anchorsGitHub
The week's checkpoints, log and page as an immutable release that cannot be changed afterwards.
See the releasesInternet Archive
A snapshot of each week's page and checkpoint, kept by an independent non-profit archive.
See the snapshotsZenodo
The complete log deposited in CERN's open research repository, with a permanent DOI.
Why we built it this way — read the manifesto
Your timestamp is recorded instantly — the extra seals are added later
Right away, when you stamp: your hash, its @beat and UTC time, and its position in the append-only hash-chain. That alone already proves the document existed at that moment.
Within a day, the next daily checkpoint (after 00:00 UTC) signs the whole log — your entry included — and commits it to Bitcoin a few hours later.
After the week ends — once the current week closes (the following Monday, 00:00 UTC) its weekly Merkle root is frozen, and three independent layers are added on top:
- Ed25519 signature — added the moment the week is sealed.
- Bitcoin (OpenTimestamps) — submitted within the hour; confirmed in a Bitcoin block a few hours later.
- Bank anchoring — the root is recorded against an independent bank reference and published, usually within a few days.
So a fresh certificate that shows “pending — week still open” is completely normal. Come back after your week has ended and been sealed, then verify again or download the certificate once more (or scan its QR code) — the signature, Bitcoin attestation and bank anchor will then appear. The timestamp itself never changes.
Weekly Hash Anchoring
Each week's Merkle root is anchored against an independent bank reference — a separate, timestamped record that the week's log existed by that date.
How it works
1. Your browser computes the file's SHA-256 — the file stays on your device.
2. The hash is recorded in an append-only, hash-chained log with its @beat and UTC time.
3. Each week all hashes are combined into a Merkle root, signed with our Ed25519 key and anchored externally — against an independent bank reference and in Bitcoin via OpenTimestamps.
4. Anyone can later verify a file's hash, its timestamp, its inclusion proof up to the anchored root, the signature, and the Bitcoin attestation (downloadable .ots).
This attests existence at a point in time and integrity — not authorship or authenticity of the content.
Sharing a stamped photo through a messenger? Send it as a document/file — apps that recompress images change the bytes, and the hash of what arrives no longer matches the stamped original.
Want the exact algorithm — leaf and node hashing, the signed message, how to recompute an inclusion proof? Read the full proof specification.
Proof answers “this existed before then”. Its mirror image answers “this cannot be read until then”: a sealed capsule opens only after a chosen @beat, and only when independent key holders come together — so nobody can open it early, ourselves included. The format is open: read the capsule specification.
Weekly Merkle roots are signed with our Ed25519 key. Public key:
e7y9THJIUKvNKOZHmdBjJ8E0bOKyBFVxxMpAJ8w574Y=
Key history and rotation