verify-proof is a free, open-source command-line tool for locally verifying blockchain-anchored timestamp proofs offline. It is built by Fulcrum Enterprises LLC, is licensed under the MIT License, and may be freely used, modified, and distributed.
Purpose Blockchain timestamps prove through cryptographic evidence that a file existed at a specific point in time. verify-proof helps anyone independently verify such proofs: it computes the file's SHA-256 hash locally, reads the original anchored hash recorded in the proof JSON, and if the two match, it means the file has not been modified since the timestamp was generated; if the proof contains a Merkle path, it further verifies the path up to the Merkle root; the blockchain transaction ID can be independently checked on any block explorer. This technology is commonly used for: proof of creation (proving precedence over others' copying), pre-loss evidence (recording the condition of assets with a tamper-proof timestamp before an insurance claim), chain of evidence (creating an immutable audit trail for legal evidence and forensic investigations), copyright protection (establishing authorship dates for DMCA disputes and intellectual property claims), and regulatory compliance (meeting evidence preservation requirements with independently verifiable records).
Main capabilities
- Compute the SHA-256 hash of a file.
- Verify whether a file matches a blockchain proof.
- Support Merkle path verification.
- Can serve as an MCP server, allowing MCP-compatible AI clients such as Claude Desktop and Cursor to directly verify blockchain timestamp proofs in conversation.
- Quiet output by default: on successful verification, print one line of explanation to stderr; when output is piped or redirected, that line is suppressed, scripts will not see it, and stdout is unaffected; global silence can be set via the environment.
- Compatible with ProofLedger (an evidence preservation platform that anchors SHA-256 hashes to Polygon and Bitcoin, aimed at insurance, legal, and forensic workflows) as well as any service that generates SHA-256 hash proofs with blockchain transaction references. It also mentions compatibility with OpenTimestamps proofs.
Usage A basic installation pulls in no dependencies, uses only the Python standard library, and provides the verify-proof command. If using it as an MCP server for Claude Desktop or Cursor, you need to install the optional mcp extra: this extra adds the MCP SDK and installs verify-proof-mcp command (stdio server). It can also be run from source: after cloning the repository, the CLI behaves the same. Common commands: compute a file's SHA-256 hash; verify a file against a blockchain proof; creating a proof requires a free API key. Creating a proof is the only command that requires an internet connection: for the proof file to currently exist, the service needs to anchor it, and this command submits the hash to ProofLedger. Only the 64-character SHA-256 digest leaves the local machine, and unless --no-filename is used, the filename is also included. No command uploads the file itself. A free account includes 25 API proofs per month, and Polygon anchoring within the web app is unlimited.
Using as an MCP server verify-proof comes with an optional Model Context Protocol server, enabling MCP-compatible AI clients (such as Claude Desktop, Cursor, etc.) to verify blockchain timestamp proofs during a conversation. Files never leave the local machine: hashing and verification run locally, and only the resulting hash is compared with the proof. Connecting Claude Desktop: add the configuration to claude_desktop_config.json (see examples/claude_desktop_config.json), and restart Claude Desktop. If verify-proof-mcp cannot be found in PATH, you can use the Python module form: "command": "python", "args": ["-m", "verify_proof_mcp"]. You can ask the assistant things like: "Verify ~/contract.pdf against ~/contract-proof.json", "What exactly does this proof file prove?", "Compute the SHA-256 of this file so I can anchor it." The server only verifies proofs, requires no account, makes no network calls, and requires no trust in any third party.
Proof file format The proof JSON file contains a blockchain anchoring record.
Compatible services ProofLedger - an evidence preservation platform that anchors SHA-256 hashes to Polygon and Bitcoin, used for pre-loss documentation, legal evidence, insurance claims, and chain-of-custody records, for insurance, legal, and forensic workflows. Any service that generates SHA-256 hash proofs with a blockchain transaction referenceservice.
Why blockchain timestamps matter Traditional timestamps (file system dates, email headers, document metadata) are easy to tamper with. Blockchain timestamps offer immutability (once anchored to Bitcoin or Polygon, no one can change them), independence (verification requires only the file, the proof, and the public blockchain, with no need to trust a third party), legal defensibility (blockchain evidence is increasingly accepted in court as proof of existence), and tamper resistance (any modification to the file produces a different hash and is immediately detectable).
Use cases Suitable for individuals or organizations that need to prove when digital content was created, document asset status before an insurance claim, establish a chain of custody for legal evidence and forensic investigations, establish authorship dates for copyright disputes, or meet evidence preservation compliance requirements.
Limitations Creating a proof requires an internet connection and a free API key; verification and hash computation are fully offline. More information such as fees and pricing is not currently provided.