provable.info
←Back to Home

CLI

Cryptographic proof tools for the agent economy — single binary, no runtime dependencies

🔧

Provable CLI

Single binary — seal, verify, and manage from your terminal

Install

The CLI is in early access: a single binary for macOS (Apple Silicon), plus Linux binaries for stateless CI. Email hello@provable.info for access.

First run
# Generate your sealing key (needs no funding)
provable init

Seal

Hash files or folders into a Merkle root, sign it, anchor it.

Sealing
# A folder becomes one seal over its recursive contents
provable seal --mode=folder ./my-project

# These files become one seal
provable seal --mode=files a.txt b.txt

# Mode is inferred when every argument is the same kind
provable seal ./docs
provable seal report.pdf

# Key options
--proof <path>     Write a portable proof bundle (captures git/CI provenance)
--meta k=v         Signed provenance metadata (repeatable)
--no-anchor        Seal without a chain witness (local/offline use)
--name / --version Override the seal name or version
--include-hidden   Include dot-prefixed files and dirs in folder mode
--monitor          Add the sealed path to the monitor watch list
--publish          Upload file content to provable storage
--json             Machine-readable result

Verify

Against your local store, or standalone from a proof bundle — no account, no API, and never through us.

Verification
# Against the local seal store
provable verify ./my-project

# Standalone, from a portable bundle — anyone can run this
provable verify --proof dist.proof.json ./dist

# Gate a pipeline on it
provable verify --proof dist.proof.json ./dist \
  --expect-pubkey <publisher-hex> \
  --max-age 720h --min-version v1.4.0

--offline   Skip the on-chain check (signature + Merkle still enforced)
--strict    Non-zero exit on failure against the local store
            (bundle verification always fails hard)
--json      Machine-readable report

Anchor

Witness a seal on the BSV blockchain. No wallet, no funding — you sign, provable.info pays and broadcasts.

Anchor to blockchain
# Anchor the latest un-anchored seal
provable anchor
# → ✅ Anchor successful!
#    TX ID: e264318c...

provable anchor --all                        # drain every un-anchored seal
provable anchor --from-proof dist.proof.json # anchor straight from a bundle
provable anchor --dry-run                    # build the payload, send nothing
provable pending                             # what is waiting
provable pending --purge                     # discard un-anchored seals

# Anchoring fails closed. Exit codes:
#   3 unreachable   4 unauthenticated   5 over quota
#   6 payload rejected   7 broadcast failed
# --no-anchor on seal is the only way to exit 0 without a chain witness.

Monitor

Background daemon that watches sealed files and alerts when they change, with diff and revert. Service install is macOS (launchd) only.

Monitor daemon
# Install as a launchd service (macOS)
provable monitor install
provable monitor start
provable monitor status
provable monitor stop
provable monitor uninstall

# Inspect or undo a change to a sealed file
provable monitor diff <path>
provable monitor revert <path>
provable monitor baseline update

Proof bundles

One JSON file that proves what was sealed, by whom, and when — verifiable by anyone, offline, with no access to your systems.

Portable proofs
# Emit at seal time
provable seal --mode=folder dist --proof dist.proof.json

# Or export afterwards from the local store
provable proof export ./dist -o dist.proof.json

# Stateless CI: one secret, no wallet, no local state
# Seals, anchors, and writes the txid into the bundle
PROVABLE_WIF=$SEAL_KEY provable seal --mode=folder dist \
  --proof dist.proof.json --meta build_id=$RUN_ID

All Commands

provable initGenerate the root sealing keypair
provable seal [paths...]Seal files or folders
provable verify [path]Verify against the store or a proof bundle
provable proof export [path]Export a portable proof bundle
provable status|history|diff [path]Seal state, versions, and changed files
provable anchor [--all|--from-proof]Anchor seals to the blockchain
provable pendingSeals awaiting anchoring
provable registerRegister this identity with provable.info
provable monitor install|start|stop|status|diff|revert|baseline|uninstallFile monitor daemon
provable admin register|approve|protectAdmin operations

Flags

--json gives machine-readable output on init, seal, verify, status, history, pending, anchor and register. --debug is available everywhere. Config lives at ~/.provable/. Testnet (-t / --testnet) is a development build only — release binaries are mainnet.