# The free OpenTimestamps tool, or a paid API?

Same protocol, same public calendars, same `.ots` file. The free tool is enough for a person stamping a document; an API is for software stamping at volume. Neither choice is a trap, and you can move between them.

## The short answer

OpenTimestamps ([opentimestamps.org](https://opentimestamps.org)) is the open protocol this service is built on. Its website stamps and verifies files in your browser, for free, with no account. The command-line clients do the same for scripts. What it does not provide is a batch API, a callback, a receipt, or anyone to call when something breaks — and that operational layer is what $0.05 a hash buys here.

If you stamp one document a month, use the free tool. We would rather you did than pay us for something you do not need.

## What the free tool does well

- **It is free**, and the public calendars (Alice, Bob, Finney, Catallaxy) run on donations with no registration or API key.
- **It hashes in your browser**: the file never leaves your machine, same as here.
- **It is the reference implementation** of the standard, in Python, JavaScript and Java, so `ots stamp` and `ots verify` work on any `.ots` file.
- **It verifies without trusting anyone**, given a Bitcoin node: the proof is replayed from your hash to a block header you check yourself.
- **It is honest about the format**: the `.ots` file is the product, and no service can withhold it from you.

## Where the free tool stops

- **One file at a time** in the browser, with a download per file. A pipeline with a thousand outputs needs a loop, a store and a retry policy, which is exactly the code you would be writing.
- **Installing software** for the CLI: Python, Node or Java, plus a cron or a worker to run it. On a locked-down build agent, that is a ticket.
- **`ots verify` needs a Bitcoin node** to check a complete proof locally. Without one, you are back to uploading files to a website, by hand.
- **No batching, no webhook, no receipt.** Nothing tells you when a proof completes, and nothing signs the fact that you submitted that hash at that time.
- **No support.** The calendars are volunteer-run; the maintainers owe you nothing, and that is fine until a production pipeline depends on it.
- **No way to pay from software.** Free is free, but an agent still needs someone to install and run the client, and that someone is a human.

## Side by side

|  | opentimestamps.org | stampthisfile |
| --- | --- | --- |
| Price | Free | $0.05 per hash |
| Account | None | None |
| How you use it | Browser, or CLI in Python/JS/Java | HTTP, MCP, or the browser on the home page |
| Batch | One file at a time in the browser | 1–100 hashes per request |
| Completion notice | None; check back yourself | Webhook, status URL, or `/v1/verify` upgrades it |
| Receipt | None | Ed25519-signed receipt for the batch and payment |
| Calendars | The public ones | The same public ones, four submitted per batch, at least two required |
| Proof | `.ots` | `.ots`, identical format |
| Verify without us | Yes, with a node | Yes, with a node, or at opentimestamps.org |
| When something breaks | Community | Write to us; failed stamps are refunded to the paying address |

## Why pay for something that is free?

You are not paying for the timestamp; you are paying for the call. $0.05 buys the submission to four calendars, the retry when one is down, the Merkle tree and the nonce that keeps your hash private inside a shared batch, the proof assembly, the upgrade when Bitcoin confirms, the signed receipt, the webhook, and a verify endpoint that finishes pending proofs. That is a few hundred lines of code and an on-call rota you do not have to own.

If you already have that code, keep it. The protocol is open and we are not going to pretend a paid wrapper is more secure than the thing it wraps. Our proofs are ordinary `.ots` files, and they do not need us to be true.

## You can leave whenever

Every proof we issue is a standard OpenTimestamps file. Upload the file and its proof at [opentimestamps.org](https://opentimestamps.org) and it verifies; run `ots verify` against your own node and it verifies. Once a proof is complete, it does not depend on this service, our database, or our continued existence. While a proof is still pending, it depends on the calendars that will commit it — which is true of the free tool too.

That is deliberate. A proof you can only check by asking the company that sold it is a weaker artifact than a file you can hand to a judge, a counterparty or a stranger with a node.

## How to choose

1. **Stamp once, by hand?** Use [opentimestamps.org](https://opentimestamps.org). Free, private, done.
2. **A script stamps a few files a day and you can run `ots` there?** The CLI is fine; wrap it in a cron and keep the proofs.
3. **A pipeline or an agent stamps at volume, and needs to know when proofs complete?** Use the API: batches, webhooks, receipts and a verify call that upgrades pending proofs.
4. **You need a batch of 100 in one payment, from a wallet, with no signup?** That is this service.

## Questions

### Is stampthisfile the same as OpenTimestamps?

We use the OpenTimestamps protocol and its public calendars. We are not the OpenTimestamps project and we do not run its calendars; we are a hosted way to submit hashes to them, pay per call, and get the proof back. The standard, the clients and the verification tools are theirs.

### Can I verify a stampthisfile proof at opentimestamps.org?

Yes. A complete proof is a normal `.ots` file and verifies on that site or with `ots verify`. A pending proof verifies as pending there too; download it again after Bitcoin confirms, or use our `/v1/verify` to complete it before you hand it on.

### Do you run your own calendar?

No. We submit each batch to four public calendars and require at least two to accept it, which is why a single calendar outage is survivable. Running our own calendar is on the roadmap, not in production.

### What happens to my proofs if you shut down?

Complete proofs keep verifying: they are standalone `.ots` files checked against Bitcoin. Pending proofs would rely on the calendars they name, which are independent of us. Nothing you hold needs this website, and the `ots` client does not need this website either.

### Which is more private?

Both hash locally: the file itself never reaches either service. Here, each hash is mixed with a random 16-byte nonce before it joins a shared Merkle tree, so other customers’ proofs do not reveal yours. The public calendars see only the batch root. Your payment, if you pay us, is public on chain and linked to the time of the stamp, not to the hash.

_Checked October 2026. HTML: https://stampthisfile.com/compare/opentimestamps · Agent docs: https://stampthisfile.com/llms.txt_
