2026 Blockchain OpenTimestamps

How to Verify OpenTimestamps (.ots) Files: 3 Methods

Got an .ots file and need to check it? This guide shows you how to verify it in under a minute — no software to install, no account needed, completely free.

6 min read

Quick Answer

Go to opentimestamps.org. Drop your .ots file. Drop the original document. If you see Bitcoin block 925847 attests existence as of 2025-03-15 — it is verified. Your document existed at that date and has not been changed since. Free, runs in your browser, nothing is uploaded.

What is an .ots file and how do you open it?

An .ots file is a digital timestamp receipt created by the OpenTimestamps protocol. It proves that a specific document existed before a certain date — like a notary stamp, but using the Bitcoin blockchain instead of a person. The file is tiny (under 1 KB), free to create, and anyone can verify it independently. You do not need special software to open an .ots file — just use the online verification tool below.

You do not need to understand Bitcoin or cryptography to verify an .ots file. Just follow Method 1 below.

Got a ZIP file with an .ots inside? If you received a ProofSnap evidence package (ZIP with screenshot, HTML, metadata, and .ots), skip to Method 2: Trust Verifier — it verifies the .ots timestamp, hashes, and digital signature in one step. No need to extract files.

See exactly what a court receives

Download a real evidence package — the same ZIP that gets submitted as proof. Or send any URL to support@getproofsnap.com and we'll capture it for you free.

Download Sample Package

How to verify an OpenTimestamps file online (30 seconds, free)

  1. 1. Go to opentimestamps.org (or dgi.io/ots)
  2. 2. Drag and drop your .ots file into the page
  3. 3. Drag and drop the original document — the file that was timestamped. If you have a ProofSnap evidence package, extract the ZIP first and drop manifest.json.ots (step 2) and manifest.json (step 3).
  4. 4. Read the result:

Success! Bitcoin block 925847 attests existence as of 2025-03-15

What this means: Your document existed on or before March 15, 2025, and has not been modified since. The Bitcoin blockchain — a global network of thousands of independent computers — confirms this. No one can fake or alter this proof.

Privacy: Everything runs in your browser. No files are uploaded to any server. Your documents stay on your computer.

Method 2: Verify a ProofSnap evidence package (one step)

If you received a ProofSnap evidence package (ZIP file containing screenshot, HTML, metadata, and an .ots file), use the all-in-one verifier:

  1. 1. Go to getproofsnap.com/verify
  2. 2. Upload the ZIP file
  3. 3. The verifier checks everything automatically:
    • • SHA-256 hashes of all files (integrity)
    • • RSA-4096 digital signature (authenticity)
    • • OpenTimestamps blockchain proof (timestamp)
    • • EU eIDAS qualified timestamp (if present)

100% client-side. No data leaves your browser. No account needed. Free. Lawyers, judges, and opposing counsel can independently verify evidence without installing anything.

Method 3: Command-line verification (for developers)

# Install

$ pip install opentimestamps-client

# Verify

$ ots verify manifest.json.ots

Success! Bitcoin block 925847 attests existence as of 2025-03-15

# Verify against your own Bitcoin node (maximum security)

$ ots --bitcoin-node http://localhost:8332 verify manifest.json.ots

# Bulk verify (OSINT investigators: 200+ files at once)

$ for f in evidence_*/manifest.json.ots; do echo "--- $f ---"; ots verify "$f"; done

Requires Python 3.x. For fully trustless verification (no block explorer), use a local Bitcoin Core node (pruned node ~10 GB is sufficient). Alternative: fiatjaf/ots (Go, no Bitcoin node needed).

OpenTimestamps pending: how long does confirmation take?

A pending timestamp means the hash has been submitted but not yet anchored in a Bitcoin block. This is normal — it takes a few hours. Your options:

  • Wait a few hours and re-upload the .ots file to opentimestamps.org — it will attempt to upgrade the proof
  • CLI users: run ots upgrade yourfile.ots to download the Bitcoin block proof

Once confirmed, the proof is permanent. No one can alter a Bitcoin block after it has been mined.

What does the Bitcoin timestamp verification result mean?

When you see Bitcoin block 925847 attests existence as of 2025-03-15, it means:

  • The document existed on or before that date. It was mathematically linked to a Bitcoin block mined at that time.
  • The document has not been changed. Even a single changed character would produce a completely different result — verification would fail.
  • No one can fake this. The Bitcoin network (thousands of independent computers worldwide) would all need to be compromised simultaneously. This is computationally impossible.
  • Anyone can verify it independently. No trust in any company or person is required — only the Bitcoin blockchain.

Important: The timestamp proves the document existed at that date. It does not prove the document is true or accurate — only that it was not changed after that point.

How OpenTimestamps works technically
  1. 1. Hash: A SHA-256 hash (unique digital fingerprint) is computed from your document.
  2. 2. Aggregate: The hash is submitted to OpenTimestamps calendar servers, which combine multiple hashes into a Merkle tree.
  3. 3. Anchor: The Merkle tree root is embedded in a Bitcoin transaction (OP_RETURN) and included in a block.
  4. 4. Proof: The .ots file stores the path from your hash to the Bitcoin block header.
  5. 5. Verify: Anyone follows the path and checks it against the Bitcoin blockchain. If it matches — the timestamp is valid.

Why Bitcoin? It is the most secure decentralized network in existence (800+ EH/s hashrate, 16+ years of unbroken operation). A confirmed Bitcoin block cannot be altered.

Legal admissibility of blockchain timestamps
  • EU — eIDAS 2 (Regulation 2024/1183): Article 45l recognizes qualified electronic ledgers (including blockchain) with legal presumption of authenticity. ProofSnap Enterprise adds qualified eIDAS timestamps from Disig (EU Trusted List).
  • US — FRE 901/902(14): Blockchain timestamps satisfy Daubert reliability factors. Certified hash values are self-authenticating under FRE 902(14). Vermont (12 V.S.A. § 1913) and Arizona (A.R.S. § 44-7061) have specific blockchain evidence statutes.
  • China (2018): Hangzhou Internet Court accepted blockchain timestamps in a copyright case.
  • Italy (2019): D.L. 135/2018 recognized blockchain timestamps with eIDAS legal effect.

Full legal guide: Are Screenshots Admissible in Court? →

OpenTimestamps vs. qualified eIDAS timestamp
Aspect OpenTimestamps (Bitcoin) Qualified eIDAS Timestamp
CostFreePaid (accredited provider)
Trust modelDecentralized (Bitcoin)Centralized (EU provider, e.g. Disig)
EU legal presumptionAdmissible, no automatic presumptionLegal presumption of accuracy (Art. 41(2))
VerificationAnyone, anywhere, with Bitcoin blockchainRequires EU Trusted List check
ProofSnapAll plansEnterprise plan

Best practice: use both. OpenTimestamps for decentralized permanence, eIDAS for EU legal presumption.

For OSINT investigators: evidence chain, workflow, privacy

Why it matters

An OSINT investigator documents a disinformation network on Telegram — 47 channels, 200+ posts. Three weeks later, all channels are deleted. The defense challenges: “How do we know these were not fabricated after deletion?” The .ots file in each evidence package proves the captures existed before deletion — verifiable by the court, the defense, and any expert.

The .ots file in the evidence chain

A timestamp alone is not enough. Courts also need:

  • Content integrity: manifest.json (SHA-256 hashes)
  • Authenticity: manifest.sig (RSA-4096 signature)
  • Temporal fixation: manifest.json.ots (Bitcoin timestamp)
  • Chain of custody: chain_of_custody.json (ISO 27037)
  • Source content: screenshot + HTML + metadata

OSINT workflow

  1. 1. Capture immediately — content disappears in minutes
  2. 2. Verify each capture — confirm .ots is present, check status
  3. 3. Store securely — encrypted storage, naming convention: YYYY-MM-DD_platform_target.zip
  4. 4. Present — share ZIPs; recipients verify via Trust Verifier (free, client-side, no install)

ProofSnap vs. Hunchly vs. Wayback Machine

FeatureProofSnapHunchlyWayback Machine
Blockchain timestampYesNoNo
Digital signatureRSA-4096NoNo
Chain of custody (ISO 27037)YesNoNo
Independent verificationTrust Verifier (free)Requires HunchlyPublic
eIDAS qualified timestampEnterpriseNoNo
Price$8.99/mo$129/yrFree

Privacy and GDPR

  • • ProofSnap runs locally in your browser. No page content, screenshots, or metadata are sent to ProofSnap servers. Only the SHA-256 hash (not your content) goes to OpenTimestamps calendar servers.
  • • Trust Verifier is 100% client-side — no data leaves the verifier's browser.
  • • GDPR basis for OSINT: Article 6(1)(f) (legitimate interest) or 9(2)(f) (legal claims). Consult your DPO.

Summary

  • An .ots file is a blockchain timestamp receipt — it proves a document existed before a specific date. Free, verifiable by anyone.
  • Easiest verification: drag and drop at opentimestamps.org. For ProofSnap ZIPs: getproofsnap.com/verify.
  • “Pending” is normal. Wait a few hours and re-upload.
  • Legally recognized in EU (eIDAS 2), US (FRE 902(14)), China, Italy, and more.

Create blockchain-timestamped evidence in one click

ProofSnap automatically captures any webpage with SHA-256 hash, RSA-4096 digital signature, Bitcoin blockchain timestamp (OpenTimestamps), and ISO 27037 chain of custody. Every evidence package includes an .ots file that anyone can verify.

Plans from $8.99/month. 7-day free trial. All evidence stays locally on your computer.

Frequently asked questions

How do I verify an .ots file?

Upload the .ots file and the original document to opentimestamps.org or dgi.io/ots. The tool checks the Merkle path against the Bitcoin blockchain. For ProofSnap evidence packages: use getproofsnap.com/verify.

What is an .ots file?

A compact proof file (under 1 KB) containing the Merkle path from your document's SHA-256 hash to a Bitcoin block. Proves the document existed at a specific date. Platform-independent, independently verifiable.

Can I verify without a Bitcoin node?

Yes. The online tools use public block explorers. For maximum security (no trust in any third party), use a local Bitcoin Core node (a pruned node at ~10 GB is sufficient).

My .ots file says "pending" — what now?

The timestamp has been submitted but not yet anchored in a Bitcoin block. Wait a few hours, then run ots upgrade yourfile.ots or re-upload to opentimestamps.org.

Is a blockchain timestamp legally admissible?

Yes, increasingly. EU eIDAS 2 recognizes blockchain ledgers (Art. 45l). US: satisfies Daubert + FRE 902(14). Vermont and Arizona have specific blockchain evidence statutes. China: accepted by Hangzhou Internet Court (2018). Italy: D.L. 135/2018.

OpenTimestamps vs. qualified eIDAS timestamp?

OpenTimestamps = free, decentralized, no legal presumption in EU. Qualified eIDAS = paid, from accredited provider, legal presumption of accuracy in 27 EU states. Best practice: use both. ProofSnap Enterprise includes both.

How do I verify a ProofSnap evidence package?

Upload the ZIP to getproofsnap.com/verify. It checks SHA-256 hashes, RSA-4096 signature, OpenTimestamps proof, and eIDAS timestamp (if present). 100% client-side, no data uploaded. Free.

Sources & references

Disclaimer: This article is for informational purposes only. OpenTimestamps is an open-source protocol maintained by the community. ProofSnap is not affiliated with the OpenTimestamps project. Legal admissibility of blockchain timestamps varies by jurisdiction — consult a licensed attorney for legal advice specific to your situation.