Drop here a file to stamp it or a (.ots) receipt/proof to verify it.

When a file is dropped in the above box, its hash value is calculated locally inside the browser (the file is not shared with anyone, preserving privacy); then, this hash is submitted to the public OpenTimestamps calendar servers for attestation of its existence (timestamp); a submission (.ots) receipt is locally downloaded. In time, the hash will be attested in a Bitcoin block header and the receipt will become upgradable to attestation proof.
Alternatively, if the file dropped in the above box is a (.ots) receipt/proof, first an upgraded proof is obtained from the calendar servers if available, then the most recent receipt/proof status is displayed below.

How It Works

A timestamp proves that a document existed in a specific status prior to a given point in time. Digital data can be timestamped attesting its 'hash' in a blockchain transaction: the hash acts as a digital fingerprint, 'uniquely' identifying the unmodified original document; the transaction content and timestamping is secured by the computational effort performed after its blockchain inclusion. Tampering with the transaction is computationally intensive, to the limit of being economically prohibitive in the Bitcoin case.

OpenTimestamps is a vendor-independent open protocol that defines a set of operations for creating provable blockchain timestamps and later independently verifying them; as such, it allows for third party auditability and is suitable for regulatory prescriptions.

While anyone could realize a timestamp with the permissionless blockchain(s) by paying the appropriate transaction fees, there are public OpenTimestamps calendar servers, free to use without any registration or API key. To avoid the inefficiency of one blockchain transaction for every timestamp, a calendar server provides aggregation of multiple documents (in a Merkle tree data structure) and performs their attestation in a single transaction (attesting the tree root).

This webpage is an interface to create timestamp proofs using the OpenTimestamps public calendar servers (e.g. Bitcoin's blockchain is used as a timestamp notary, i.e. the proof is attested in a Bitcoin block header. OpenTimestamps proofs can be verified independently from any server or facility, using a local Bitcoin Core node; anyway, since a web-page cannot access the local filesystem, this page relies on public block-explorers for verification.

While the OpenTimestamps protocol is blockchain agnostic, a timestamp is as reliable as the used blockchain:

  • very reliable when using Bitcoin because that blockchain is secured by huge computational power (proof-of-work);
  • much less reliable with other public permissionless blockchains;
  • when used with private permissioned blockchain its reliability depends on the trustworthiness of the chain governance: in this case traditional certification authorities are probably better.

It should be obvious, but it is worth mentioning that timestamping (using the OpenTimestamps protocol or any alternative approach):

  • does not prove authorship (that should be proved using a digital signature);
  • does not ensure veracity of the timestamped document.