attest_event
Create a typed ZAP1 attestation event leaf for later anchoring. Returns a leaf hash for verification.
Attest what an agent did, anchor it to Zcash, and hand a counterparty a receipt they can verify without trusting you.
LABSCO SUMMARY
What comes back is not an answer from a backend — it is a leaf hash, a Merkle path, a root, and the Zcash transaction that anchored that root. A counterparty checks it themselves, months later, without calling this service or believing a word it said.
The ZAP1 attestation layer for Zcash agent workflows. It creates typed event leaves, commits them into a Merkle root anchored on Zcash, and returns receipt packets another party can check from the schema, the proof material and the anchor — without trusting the server that issued them.
The npm package @frontiercompute/zcash-mcp over stdio. ZAP1_API_KEY is optional and only needed for write operations. This is not a wallet: balance scanning, private key custody, seed handling, PCZT signing, shielded spend construction and lightwalletd or Zaino synchronisation are all outside its scope. Compose it before or after a wallet-layer action, not instead of one.
One command — npx @frontiercompute/zcash-mcp
USE CASES
Start from the template for the receipt type, create the typed leaf, then fetch its proof bundle once anchored.
Verify the leaf is in the tree, or hand over the portable artifact with its verification URL.
Convert the wallet's own result into bounded hashes, then attest those rather than the transaction itself.
Validate against the frozen v1 contract and check the anchor is deep enough to trust.
Confirm every packet in a chain is anchored, replay them against an expected policy, and compare two claims.
Check leaf inclusion against a registered anchor root through the on-chain verifier contract.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
attest_eventCreate a typed ZAP1 attestation event leaf for later anchoring. Returns a leaf hash for verification.
decode_memoDecode a Zcash shielded memo field. Handles ZAP1 typed memos, ZIP 302, plain text, and raw binary.
get_agent_statusGet attestation summary for a ZAP1 agent: registration, policies, actions, event history.
get_anchor_historyGet all ZAP1 Merkle root anchors with Zcash txids and block heights.
get_anchor_statusGet current ZAP1 Merkle tree state: root hash, unanchored leaves, anchor recommendation.
get_block_heightGet the current Zcash chain height from Zebra.
get_eventsGet recent ZAP1 attestation events. Returns event type, wallet hash, leaf hash, and timestamps.
get_statsGet ZAP1 protocol stats: total leaves, anchors, type distribution, and tree height.
lookup_transactionGet raw transaction data by txid from Zebra.
verify_proofVerify a ZAP1 Merkle proof. Checks whether a leaf hash exists in the ZAP1 attestation tree and returns the proof path.
zap1_attest_external_actionBuild a ZAP1 receipt request for an action executed by an external rail. ZAP1 does not route, swap, sign, custody, broadcast, or settle the action.
zap1_audit_event_logReplay a small receipt sequence against an expected event-type policy. Stateless audit helper for agents and reviewers.
zap1_check_anchor_freshness_at_heightCheck anchor age and confirmation depth from a receipt anchor height and a supplied current Zcash height. Stateless; does not call a node.
zap1_compare_receipt_claimsCompare two ZAP1 receipts and report whether subject, claim, evidence, event type, and anchor context match.
zap1_create_receipt_invoiceCreate ZAP1 receipt metadata for an external payment workflow. Returns invoice metadata for later receipt verification; this server does not sign, scan, or broadcast.
zap1_extract_proof_artifactExtract the portable proof artifact from a ZAP1 receipt: leaf, Merkle path, root, anchor context, and verification URL.
zap1_prove_receiptFetch a ZAP1 Merkle proof bundle for a leaf hash. Returns the full proof: leaf, path, root, and anchor.
zap1_verify_evmVerify a ZAP1 Merkle proof on-chain via the EVM ZAP1Verifier contract. Checks that a leaf hash is included in a registered Zcash anchor root. Supports Sepolia (testnet), Base, and Arbitrum.
zap1_verify_external_receiptValidate an external-action ZAP1 receipt packet. This is a stateless receipt-contract check; it does not trust or call the external rail.
zap1_verify_receipt_chainValidate a sequence of ZAP1 receipt packets and summarize whether all packets are well-formed and anchored.
zap1_wallet_receipt_requestBuild a ZAP1 receipt request from a wallet-layer action result. The wallet keeps custody, signing, scanning, and broadcast; ZAP1 receives only bounded hashes.
zap1_watch_receipt_invoicePoll ZAP1 receipt-invoice status until paid or timeout. Returns public receipt status only; this server does not scan wallet state.
zcash_capability_manifestReturn the ZAP1 capability manifest: what this MCP covers, what it deliberately excludes, and how agents should compose it with wallet-layer tools.
zcash_conformance_checkValidate a ZAP1 receipt packet against the frozen v1 receipt contract. Returns malformed, pending, or anchored.
zcash_identity_registerRegister an agent identity on ZAP1 via an AGENT_REGISTER attestation. Returns the leaf hash and verification URLs for the registration event.
zcash_receipt_templateReturn a customer-ready ZAP1 receipt workflow for agent actions, payment receipts, operator lifecycle events, or policy attestations.
zcash_reputation_scoreFetch an agent's reputation from ZAP1. Combines bond data and policy compliance into a single object: attestation count, violations, bonds, and compliant flag.
BEFORE YOU INSTALL
27 tools when we connected; the project documents 28. The missing tool is zap1_verify_receipt_v2, likely newer than the published 1.4.0 build. Read-only tools need no key; write tools such as attest_event and zcash_identity_register need ZAP1_API_KEY.
npx on PATH
ZAP1_API_KEY in your environment
Both documented clients run the server on your machine.
INSTALLATION
npx @frontiercompute/zcash-mcp{
"mcpServers": {
"zcash": {
"command": "npx",
"args": [
"@frontiercompute/zcash-mcp"
],
"env": {
"ZEBRA_RPC_URL": "http://127.0.0.1:8232",
"ZAP1_API_KEY": "<YOUR_ZAP1_API_KEY>"
}
}
}
}{
"mcpServers": {
"zcash": {
"command": "npx",
"args": [
"@frontiercompute/zcash-mcp"
]
}
}
}