OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Opentimestamps Client

Opentimestamps Client is a Python command-line tool for creating and validating OpenTimestamps timestamp proofs using Bitcoin as a timestamp notary.

Independent OpenViST project profile, based on linked sources.

Opentimestamps Client — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when a command-line development workflow needs timestamp proofs for files or Git artifacts, particularly when the workflow can separate proof creation from later verification.

Who it is for

  • Developers who want timestamp proofs for files or repository artifacts.
  • Git users who need to timestamp PGP-signed commits or verify timestamps for commits and individual repository files.

Documented uses

  • Create and retain an OpenTimestamps proof for a file.
  • Verify whether a proof attests to a file's existence by a particular time.
  • Timestamp PGP-signed Git commits and check timestamps for commits or individual files in a repository.
  • Inspect a timestamp's commitment operations and attestations.
Before you choose

Requirements & limits

The documented installation paths are PyPI (`pip3 install opentimestamps-client`) and installation from source. Python 3 is required.

  • Proof creation does not require a local Bitcoin node, but verification requires a local Bitcoin Core node; a pruned node is sufficient.
  • Remote calendars assist timestamp creation, and newly submitted timestamps may remain pending for a few hours before Bitcoin confirmation.
  • The client can timestamp several files in one command, but its documentation warns that closely timed or batched timestamps can expose relationships through metadata and similar commitment operations.
  • The documentation says remote calendars receive opaque digests rather than file contents, while calendar communication itself does not currently attempt to provide privacy.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Create a timestamp proof for a file

Produce an OpenTimestamps proof alongside a file.

Before you start

  • Python 3
  • The OpenTimestamps Client installed via PyPI or from source

Steps

  1. Run ots stamp README.md for the file you want to timestamp.

  2. Keep the generated README.md.ots proof file.

  3. Allow time for Bitcoin confirmation; an immediate verification may report that confirmation is pending.

Expected outcome

A `.ots` proof file is created with help from remote calendars and can be checked with the client.

Guide limitations

  • Timestamp creation does not require a local Bitcoin node.
  • New timestamps may take a few hours to be confirmed by the Bitcoin blockchain.
  • Timestamping reveals timing metadata, and remote calendar communication does not currently attempt to provide privacy.
Source-based practical guide

Verify a timestamp proof

Check a proof against Bitcoin and obtain its attested time.

Before you start

  • Python 3
  • The OpenTimestamps Client installed via PyPI or from source
  • A local Bitcoin Core node; a pruned node is supported

Steps

  1. Run ots verify FILE.ots for the proof.

  2. If required, provide the local node's JSON-RPC credentials using the documented --bitcoin-node option.

  3. Review the reported attestation or pending-confirmation status.

Expected outcome

The client reports whether the proof verifies and, when confirmed, identifies the Bitcoin block and attested time.

Guide limitations

  • Verification requires a local Bitcoin Core node.
  • Some incomplete timestamps need remote calendar assistance to obtain the Bitcoin block-header path.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
17 October 2026
Original website title
opentimestamps/opentimestamps-client · Official homepage title · retained in its source language