Check a file
- Hash on your device. Only the hash is sent.
- Pending until a real Bitcoin height.
- A receipt proves those bytes existed by that height. It does not prove the contents are true.
- Anyone can check at /verify with no account.
- For a composed object, keep the object file; without it the parts cannot be displayed.
Paste a hash or a moment URL, drop a file, or type the exact words. No account.
Drop the original file or its .ots. Checking does not need this site.
You need the original file or the .ots.
It is read on this device and never uploaded.
A confirmed receipt has a proof file. Download it and verify with any OpenTimestamps client. No account required.
Dated a line instead of a file? Type the exact words. One changed character is a different hash.
d3871457c0fd628a796f1a61437d9e56ed8c0dcb886c7dca154a00e9602e16aa
In block 975352 · 2026-11-10 22:28 UTC
In block 975352 · 2026-11-10 22:28 UTC. Not a claim that the words are true.
We keep the hash and the proof file. We do not keep the original.
Check without us
curl -L -o proof.ots "https://soulintime.com/functions/v1Proof?id=moment-ao91b5a0&ots=1" pip install opentimestamps-client || pipx install opentimestamps-client ots verify -d d3871457c0fd628a796f1a61437d9e56ed8c0dcb886c7dca154a00e9602e16aa proof.ots
Without a node, run ots info proof.ots and compare the merkle root it prints for that block with the same block on any block explorer.
Download the proof file now and keep it with your file. With both, ots verify works even if soulintime.com is gone.
Checked 2026-11-11 21:13 UTC at soulintime.com
Repeat this check
shasum -a 256 <your file> ots verify -d d3871457c0fd628a796f1a61437d9e56ed8c0dcb886c7dca154a00e9602e16aa proof.ots ots info proof.ots
The first line must print d3871457c0fd628a796f1a61437d9e56ed8c0dcb886c7dca154a00e9602e16aa. ots verify needs the proof file next to it. Compare the merkle root that ots info prints for block 975352 with the same block on any block explorer.