opentimestamps-client
Command-line tool to create and verify OpenTimestamps proofs
What it is and what it does
OpenTimestamps Client is a command-line tool that creates and verifies cryptographic timestamp proofs using the Bitcoin blockchain as a decentralized notary. It works by submitting file hashes to remote calendar servers, which eventually anchor them into Bitcoin blocks, creating an immutable proof that a file existed at a specific point in time. The tool also extends this capability to Git repositories, allowing you to timestamp and verify PGP-signed commits and individual files within a repository.
The package depends on GitPython, PySocks, appdirs, and the opentimestamps library. Creating timestamps requires only internet access to remote calendars; verifying them requires a local Bitcoin Core node to check the blockchain anchor. The timestamp format is stable and backward-compatible—future clients will always be able to verify old timestamps. File contents are protected with nonces, so remote calendars learn nothing about what you're timestamping.
Use it for:
- Prove that a document or file existed at a specific time without relying on a centralized authority.
- Create an auditable timestamp chain for Git commits to establish a cryptographic record of when code was written.
- Verify the authenticity and age of archived files or releases by checking their Bitcoin blockchain anchors.
- Timestamp PGP-signed Git commits to bind cryptographic identity and timestamp together.
- Build compliance or legal evidence workflows that require immutable, decentralized proof of creation date.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Command-line tool to create and verify cryptographic timestamp proofs anchored to the Bitcoin blockchain, with support for timestamping and verifying PGP-signed Git commits.
Yes, if you need decentralized timestamping anchored to Bitcoin and have a local Bitcoin Core node available for verification. The package is stable and has seen production use for years. However, the aging maintenance status (591 days since last release) means you should verify that known issues listed in the documentation do not affect your use case, and be prepared for potential delays in bug fixes or updates.
Install
opentimestamps-client on PyPI
pip
pip install opentimestamps-clientuv
uv add opentimestamps-clientpoetry
poetry add opentimestamps-clientInstalling opentimestamps-client
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance is aging—last release was 591 days ago—but the repository remains active with recent commits and no archived status. The package has been stable since its early releases.
License in practice
Licensed under LGPLv3+, a copyleft license. You may use and modify the package freely, but any derivative work must also be distributed under LGPLv3+ or compatible terms; proprietary closed-source use is not permitted.
Quickstart
pip install opentimestamps-client
ots stamp README.md
ots verify README.md.ots
To verify timestamps, you need a local Bitcoin Core node (pruned nodes are supported); creating timestamps does not require one.
Verify before relying
- Whether the aging maintenance status (591 days since last release) affects stability or security for ongoing use.
- Current state of known issues listed in the description (e.g., SSL certificate handling on some platforms, Git annex backend limitations).
- Whether the package's dependency on GitPython and opentimestamps library introduces any transitive vulnerabilities not captured in the security scan.
Package facts
| License | LGPL3 (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — GitPython, PySocks, appdirs, opentimestamps |
| Maintenance | aging — 591 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,376/month — #11,822 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: opentimestamps_client-0.7.2-py3-none-any.whl
Keywords: cryptography, timestamping, bitcoin
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
opentimestampsA Python library for creating and verifying…
copyleft · top 15,000 on PyPI
rfc3161ngImplements RFC3161 cryptographic timestamping,…
permissive · top 15,000 on PyPI
pytoniq-corepytoniq-core provides low-level primitives for…
unclear · top 15,000 on PyPI
rfc3161-clientImplements RFC 3161 Time-Stamp Protocol to…
permissive · top 5,000 on PyPI
python-bitcoinrpcProvides a JSON-RPC client library for…
copyleft · top 15,000 on PyPI
cursiveCursive validates digital signatures using…
permissive · top 15,000 on PyPI
eth-accounteth-account signs Ethereum transactions and…
permissive · top 5,000 on PyPI
strict-rfc3339Converts Unix timestamps to and from RFC3339…
copyleft · top 5,000 on PyPI
pytest-timestamperA pytest plugin that prefixes each test output…
unclear · top 15,000 on PyPI
pytoniq-core-forkProvides TON Blockchain SDK primitives for…
unclear · top 15,000 on PyPI