Active relays
Local · No server
1
Select your content

Drop any file here

Any format, any size

File never leaves your browser
Computing SHA-256... 0%
SHA-256
Source
Size
Type
Hashed at
2
Timestamp via OpenTimestamps

OpenTimestamps batches your hash with thousands of others into a Merkle tree and commits the root to the Bitcoin blockchain. Your .ots file proves your content existed at this moment — verifiable by anyone, forever.

Submitting to OpenTimestamps calendar...
Awaiting calendar response...
Building proof file...
TIMESTAMP SUBMITTED

Your hash is pending Bitcoin block confirmation — typically 1–2 hours. The .ots proof file is your receipt. Keep it with your original file permanently. Verify anytime at opentimestamps.org.

Coming in next phases

Phase 3

Arweave archival

Archive your content and confirmed .ots proof to the Arweave permaweb. One-time fee, stored forever. Transaction ID recorded in your Nostr event for a complete, permanent chain of custody.

1
Original content or hash

Drop original file

Hash will be recomputed and compared to the proof

2
OpenTimestamps proof file (.ots)

Drop .ots proof file

Generated when the content was originally stamped

OTS
Your password is your only key

If you lose your password, the file cannot be recovered by anyone — including us. There is no reset. Write it down and store it somewhere safe before you proceed.

1
Select file to encrypt

Drop file to encrypt

Any format · Encrypted entirely in your browser

2
Set a password
age encryption format · scrypt key derivation · ChaCha20-Poly1305 · 100% browser-native · age-encryption.org
The filename will be visible to anyone who receives this file. Rename it before encrypting if that's a concern.
File encrypted

Share the .age file freely. Send the password separately — never in the same message.

The recipient can decrypt it here, or with any age-compatible tool — no Cypher Keep required.

Not connected