Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Verifiable Document

Notarize documents on Blockchan: a tamper-proof, on-chain document verification contract with self-sovereign control.

Overview

Verifiable Documents allow users to create tamper-proof, document verification contracts. The actual file can be stored locally or on decentralized storage networks such as IPFS or Arweave, while its unique fingerprint is anchored on-chain. This provides an immutable proof of authenticity without exposing the document's contents.

Each document can be linked to a Pledge Contract, enabling automated enforcement of workflows and milestone payments based on document verification. All operations are executed via the SafePulse Wallet, ensuring self-sovereign, local execution.

Context & Problem

Organizations and individuals often require tamper-proof documents for legal, compliance, or intellectual property purposes. Centralized solutions carry the risk of modification, loss, or a lack of independent verifiability.

The Verifiable Document service solves this by allowing users to anchor documents on-chain for immutability, link them to Pledge Contracts for enforceable workflows, and maintain full self-sovereign control over document storage and access. This ensures documents are trustworthy, verifiable, and usable in automated payment or contract scenarios.


Step-by-Step Tutorial

Prerequisites

Before you begin, ensure you have:

  • A non-custodial wallet installed (e.g., MetaMask, Trust Wallet).
  • An balanced Externally Owned Account (EOA) with an active subscription plan or sufficient usage credits.
  • An Issuer/Creator DID: either a did:key or an ERC-1056 DID with the issuer key as its delegate.
  • Network tokens (e.g., Pulse) in your wallet to pay for the deployment and initialization transactions.

A. Creating a Verifiable Document

This process creates the on-chain contract and initializes its state, making it ready for use and linking.

  1. Upload your file to your chosen storage solution first. Copy the direct reference to the file:
    • IPFS: Upload the file and copy the Content Identifier (CID).
    • Arweave: Upload the file and copy the Transaction ID.
    • Centralized Host: Upload the file to your server or cloud storage and copy the direct download link.
  2. Navigate to the Verifiable Document section in the application.
  3. In the creation form, fill in the details:
    • Reference Identifier: Paste the file link, IPFS CID, or Arweave Transaction ID you copied.
    • Blockchain Network: Choose the network on which to anchor the document.
  4. Tap the Create button, typically located at the top of the screen.
  5. Confirm the deployment transaction in your wallet and wait for it to be minted.
  6. After the transaction is successful, go to your History section.
  7. Locate the document history record for the newly created contract.
  8. Tap the More options menu and select Initialize and Setup.
  9. Confirm the initialization transaction in your wallet. This step is crucial to finalize the contract's setup.
  10. Once initialized, share the Verifiable Document DID from the transaction details with any relevant parties who need to verify or interact with it.

Document States & Lifecycle

Unlike the simple Document Registry, a Verifiable Document has a lifecycle that allows for management and linking to contracts.

StateMeaning
ActiveThe document is valid, verified, and its on-chain record is in good standing. This is the normal operational state.
SuspendedThe document's validity has been temporarily paused. This may be required to enter a canceled state in a linked Pledge Contract.
RevokedThe document has been permanently invalidated by its controller. It can no longer be used to prove authenticity or enforce linked contracts.

Linked Contract Rules

When a Verifiable Document is linked to a Pledge Contract, its state directly affects the contract's workflow:

  • For a Pledge Contract to move to Executed, the seller must sign on-chain in this Document Contract.
  • For a Pledge Contract to move to Completed, the buyer must sign on-chain in this Document Contract.
  • For a Pledge Contract to move to Canceled, this Document Contract must be in a suspended or revoked status.

Use Cases

  • Education Certificates: A university issues a tamper-proof diploma as a Verifiable Document. Employers can instantly verify its authenticity on-chain without contacting the university.
  • Contract Enforcement: A service agreement is defined in a Verifiable Document and linked to a Pledge Contract. Milestone payments are automatically enforced based on the document's completion and signing statuses.
  • Intellectual Property: A creator timestamps a creative work or research paper to prove authorship and establish a verifiable priority date that is legally defensible.
  • Legal Agreements: Critical legal agreements are made immutable and independently verifiable by all signing parties, eliminating disputes over document versions.

Benefits & Drawbacks

Benefits

  • Tamper-proof and auditable: The on-chain hash provides an immutable proof of authenticity and existence.
  • Integrates with Pledge Contracts: Enables automated enforcement of milestone-based payments and workflows directly tied to the document's state.
  • Revocable and manageable: Unlike a simple registry, these documents have a full lifecycle (Active, Suspended, Revoked) that can be managed.
  • Full self-sovereign control: The user maintains complete control over where the file is stored and who has access.

Drawbacks

  • Requires management of decentralized storage: Users must ensure their chosen storage solution (IPFS, Arweave) remains accessible for long-term verification.
  • Deployment has a cost: Network tokens are required for the Create and Initialize transactions. Creation may be limited to accounts with an active subscription plan or specific credits.

Best Practices & Tips

  • Confirm your upload before creating: Double-check that the file is accessible and the link/CID is correct, as this identifier will be permanently anchored.
  • Keep a local backup: In addition to your decentralized storage, always maintain your own secure backup of the original file. You are solely responsible for its availability.
  • Link for enforcement: For any agreement involving payments or milestones, always link the Verifiable Document to a Pledge Contract to unlock automated enforcement.
  • Use decentralized storage for long-term verification: IPFS and Arweave are preferred over centralized links that may break, ensuring the document can be verified forever.