Docs · Agent workflows
An agent's work, anchored before it is handed over.
An agent that produces work someone relies on can anchor that work before delivering it. The deliverable is hashed on the agent's machine; only the 64-hex digest crosses the wire; the receipt that comes back is committed to Bitcoin and outlives the platform, the agent, and this service. This page maps the six MCP tools and the batch API onto the workflows an agent actually runs.
Installing the server itself — the config block, tiers, and the privacy contract — is covered on the MCP server page. The raw HTTP surface is on the API page. This page is about which tool to reach for, when.
The six tools, by workflow
| The tool | The moment | What actually happens |
|---|---|---|
anchor_output |
The agent just produced a result — a response, a report, a transcript. | The text is hashed in-process and never leaves the machine; only the SHA-256 and
SHA-512 digests are submitted. An optional zk_proof is forwarded and
echoed back as zk_provenance — it proves a fixed hash-chain procedure ran — not that a specific AI model ran.
Its proving key ceremony is development-grade; we do not yet make this claim in any certified sense. |
anchor_file |
The deliverable is a single file on disk. | The file is read locally in streamed chunks, its SHA-256 and SHA-512 are computed, and the digests are submitted. The receipt id and receipt URL come back. |
anchor_folder |
The deliverable is a whole output tree. | Every file is hashed locally into an RFC-6962 Merkle tree; only the manifest of relative paths, digests, and the root is submitted. One receipt covers the tree, and each file stays independently verifiable via an inclusion proof. |
verify_receipt |
The agent (or its counterparty) checks a receipt during a handoff. | Returns what the office recorded: calendar counts, and
btc_pinned_at when present. This is a lookup, not an independent
check — for an independent chain check, run ots verify against the
receipt's .ots files. |
verify_lineage |
The deliverable was revised, and the revision history is in question. | Walks an edit-lineage chain from a receipt back through its committed parents and reports the ordering the anchors establish. |
list_vault |
The agent audits what it has anchored so far. | Lists the signed-in subscriber's receipts. Requires an API key
(ORPHO_API_KEY), issued from the account
page; without one the server returns a clean error saying so. |
In every row the pattern is the same: the work stays on the agent's machine, and the digest is what travels.
Backlogs: the batch API
An agent that accumulated a backlog — a watcher that was offline, a pipeline that
produced fifty artifacts before anchoring any — submits them in one request rather than
fifty. POST /api/anchor/batch takes up to 50 hashes and issues each item its
own receipt:
curl -X POST https://orphograph.com/api/anchor/batch \
-H "Content-Type: application/json" \
-H "X-Orpho-Api-Key: $ORPHO_API_KEY" \
-d '{"hashes": [
{"hash_hex": "<64-hex sha256>", "client_label": "report-001"},
{"hash_hex": "<64-hex sha256>", "sha512_hex": "<128-hex sha512>"}
]}'
Each item takes an optional sha512_hex sibling and an optional
client_label (truncated at 200 characters). Auth is the same as
/api/anchor: an API key or subscription anchors under the account, a Pack
token consumes one credit per item, and the free tier consumes a single rate-limit token
for the whole batch. A malformed item is rejected without burning a credit.
Agent-to-agent: hiring the notary
The same digest-only handoff contract can be used with an agent-commerce protocol. Its
job spec can carry the deliverable's SHA-256, and nothing else about the work; a completed response
carries the receipt and a proof bundle
(/api/receipt/<id>.zip) whose .ots files verify offline.
The paying agent never uploads its deliverable — the same digest-only contract as every
row above.
What the receipt settles later
Agent economies settle disputes with logs, and logs can be edited. A receipt cannot: five OpenTimestamps calendars commit the digest toward Bitcoin, and anyone can verify the proof offline with the MIT-licensed verifier — no account, no API call, no Orphograph. The verification story for a counterparty is on the verify page; the case for anchoring agent work is at agent receipts.