anchor_status
Anchor status
Which chain anchors go to, the service wallet that signs them, its gas balance, and totals.
Takes no parameters.

io.github.canoydario847-cloudPublished by GitHub account canoydario847-cloudv0.4.2Updated Oct 29, 2026
Hash anchoring and proof-of-existence on chain for AI agents and apps. Free with an API key.
Privi Anchor lets an assistant hash content and anchor those hashes on the Base blockchain, returning verifiable timestamped proof of existence.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.canoydario847-cloud%2Fprivi-anchor/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"privi-anchor": {
"type": "http",
"url": "https://privi-anchor.onrender.com/mcp"
}
}
}Timestamped proof that data existed, on chain. Any AI agent can fingerprint what it produced or relied on (a report, generated image, dataset, contract, model card, audit-log head) and anchor that fingerprint on chain. Anyone can later prove the exact content existed at that time and hasn't changed, by checking the chain itself rather than trusting Privi.
Works with Claude, ChatGPT, Cursor, VS Code and custom agents. Part of the Privi suite with Privi Verify and Privi Ledger.
Live: https://privi-anchor.onrender.com/mcp, anchoring on Base (chain ID 8453) until the Privi chain mainnet launches, then it moves there. Anchors made earlier on the Privi EVM Devnet (chain 262144) stay recorded. anchor_verify reports them as devnet anchors instead of failing them, and you can re-anchor any hash to get a Base receipt.
Only hashes go on chain, never content.
node = sha256(min(a,b) || max(a,b))).0x50525641 ("PRVA") + 0x01 + 32-byte root. No contract is needed.Independent check in a few lines:
anchor_hashes needs Authorization: Bearer <key> with a key from ANCHOR_API_KEYS and is rate-limited per key. It's free with a key. Each call is one Base transaction (a fraction of a cent of gas, paid by the anchor wallet), so the server also enforces a daily budget (ANCHOR_MAX_TX_PER_DAY, default 500). Batch up to 100 hashes per call.
The anchor wallet is a hot key. Keep only a little ETH on Base in it for gas (about $5 lasts weeks at the default budget). /status shows its balance and gas_ok.
For Privi Explorer (CORS open, free): GET /anchors/recent?limit&before lists anchor batches newest first (Merkle root, transaction, block, hash count; never the label or the client), and GET /anchors/verify/<sha256> runs the same on-chain check as anchor_verify for one hash.
MIT © 2026 Dario Canoy, Privi World Co
Source: anchor-server/README.md at commit ba19d8b
Anchor status
Which chain anchors go to, the service wallet that signs them, its gas balance, and totals.
Takes no parameters.
Hash text
SHA-256 of a piece of text, ready to pass to anchor_hashes. Hashing happens here; nothing is stored.
textrequiredVerify an anchor
Check on the blockchain that a hash was anchored, by whom and when. Free. With tx_hash and proof from a receipt, the check uses only chain data.
hashrequiredprooftx_hashAnchor hashes
Anchor up to 100 hashes on chain (Base until the Privi chain mainnet) in one transaction. Returns, for each hash, a receipt (tx_hash, Merkle proof, block, time) that anyone can check with anchor_verify. Requires an API key (Authorization: Bearer).
labelhashesrequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare a license in the repository or the registry entry.
import hashlibdef node(a, b): return hashlib.sha256(min(a, b) + max(a, b)).digest()x = bytes.fromhex(my_hash)for sib in proof: x = node(x, bytes.fromhex(sib))assert x.hex() == tx_input[12:] # strip "0x" + "50525641" + "01"pip install -e ".[dev]"cp .env.example .env # set ANCHOR_PRIVATE_KEY and ANCHOR_API_KEYSpytestprivi-anchor-mcp # HTTP :8000, MCP at /mcp