Public work receipt · checkable record
Read a document or web page · saved and checkable
✓ This result hasn’t changed since it was saved.
Sent using Zambo
Saved:
What ran: pdf_extract
Job summary: url: https://zambo.dev/verify/
Zambo is the verifiable work layer for AI.
Observed result
url: https://zambo.dev/verify/ content type: text/html word count: 1609 extracted text: Check a receipt | Zambo Skip to content Skip to content Public receipt verification Verify a Zambo receipt. Can a saved AI log or receipt be changed without anyone noticing? No, a changed saved result fails its digest comparison. Each verifiable receipt carries a digest over its saved result. Change one byte of the saved result and the digest no longer matches. That is what checking a receipt means: compare the saved bytes with their recorded commitment, rather than trusting an edited account. A real receipt you can check Receipt 91e376b1-37f4-4c5b-a93e-5497da7410ce is a Zambo MCP prompt_shield receipt, saved 2026-10-18T11:36:51.819Z. It is not a CrewAI or smolagents run. The public receipt page shows the observed result and saved time. Its machine verification response identifies the tool, recorded request context, canonical saved bytes, and output_hash digest. Recompute SHA-256 over the decoded saved bytes and compare that digest with the stored value. Check this receipt or read the machine check . A receipt proves the saved result was not changed since it was saved. It never proves the answer was right and never proves an external event happened. Open your saved receipt Paste a receipt link or ID Check receipt What this checks This checks the public hosted receipt. Its profile format is documented separately from the raw AER-1 connection receipt schema. Read hosted profile schema · Run the read-only demo · Use the local proxy No receipt yet? Add Zambo to your AI and each tool call gets a receipt. Add Zambo free Zambo gives your AI a receipt for every answer. Check any receipt here, free. . receipts issued . receipts today . package downloads . tool calls Every number live and sourced · Method & sources 20 calls + 1 wrap-up free every day; picking up in another AI is always free. Every receipt has a fingerprint. If anyone changes the receipt, the fingerprint no longer matches. A match does not prove the answer is right. AER-1 draft -26 defines the receipt format. Receipts withheld for privacy Some receipts keep canonical bytes private. Their public verifier reports “withheld” instead of showing a green check. The receipt owner can use the offline verifier below with the original bytes to recompute the commitment. Attach a Zambo receipt For developers Replace <id> with the receipt UUID. A receipt link shows the public run page; the machine link returns the v2 verification checks. Markdown badge For developers [](https://zambo.dev/run/<id>) Copy HTML badge For developers <a href="https://zambo.dev/run/b08cfe77-6a52-47e7-9ade-b01fbcd5e543"><img src="https://zambo.dev/api/receipt/<id>/badge.svg" alt="Zambo receipt"></a> Copy Machine verification link For developers https://zambo.dev/api/v2/receipt/<id>/verify Copy Commit or pull request trailer For developers Zambo-Receipt: https://zambo.dev/run/<id> Copy JSON pointer For developers {"zambo_receipt":{"id":"<id>","url":"https://zambo.dev/run/<id>","verify_url":"https://zambo.dev/api/v2/receipt/<id>/verify","output_hash":"sha256:…"}} Copy connection metadata key For developers _meta["dev.zambo/receipt"] Copy A2A extension key For developers https://zambo.dev/ext/aer1/v1 Copy CI recipe: Add receipt verification to GitLab CI . Advanced: check a multi-step job Verify a workflow receipt A workflow receipt commits to an ordered list of independently verifiable step receipts. Use the verified receipt example as the reference record. Every step must independently verify through its own receipt endpoint before the workflow root is meaningful. Exact Merkle construction For each 1-based step, lowercase the 64-character receipt output-hash hex and remove its sha256: prefix. The leaf is SHA-256(UTF-8 bytes of decimal seq + ":" + hash hex) . At each parent level, hash the raw 32-byte left node concatenated with the raw 32-byte right node: SHA-25 summary: - **Tamper‑evident receipts** – Every Zambo tool call generates a receipt that stores the exact output bytes and a SHA‑256 digest. Changing any byte invalidates the digest, so a public check guarantees the saved result hasn’t been edited (but it does not confirm correctness). - **Example receipt** – Receipt 91e376b1‑37f4‑4c5b‑a93e‑5497da7410ce (saved 2026‑10‑18 T11:36:51.819Z) is a Zambo MCP prompt_shield receipt. The public page shows the observed result, tool, request context, canonical bytes, and the `output_hash`; recomputing the hash over the decoded bytes should match the stored value note: Text truncated to 4000 chars. Full document is 11910 chars.
This is the saved result preview, not proof that the answer was correct.
Check this receipt
This page shows the result and when it was saved. Use the receipt checker to see whether the saved result has changed.
Show technical provenance details
Provenance for every timeline entry
- EXECUTED BY ZAMBOZambo ran the tool call itself.
- OBSERVED VIA GATEWAYA Zambo gateway observed request and response bytes from the named external executor. Zambo did not run that external action.
- LOGGED BY AGENTAn agent or local hook reported the action. Zambo attests that the record is unchanged since logging, not that the action happened as described.
Private agent reasoning, built-in client actions, and direct calls to unrelated MCP servers are not included unless an agent or gateway reports them.
What is an execution receipt?
An execution receipt is a public record of a reported AI agent tool call. Its byte commitment and provenance claim can be checked independently; neither alone authenticates the issuer. Read the canonical definition of an AI agent execution receipt.
What the receipt can and cannot prove
What is this?
Zambo's receipt store reports a tool call and records its result. The SHA-256 commitment covers the exact canonical bytes. The provenance label is bound to v0.4 receipt bytes when that check passes, but no pinned signature or trusted issuer key is checked. An anchor can timestamp a fingerprint; it does not authenticate the issuer.
Keep the work moving
This receipt records a completed tool call. When the free allowance is not enough, choose the access path that fits the job.
Or re-run this exact call, using the same tool and arguments.
Share this receipt
Show technical verification checks
Verification checks
- SHA-256 commitment: Checked independently against the exact decoded bytes
- Provenance binding: PASS; The metadata claim is consistent with the verified receipt bytes; issuer is not authenticated.
- Metadata binding: PASS; metadata_hash matches the canonical metadata block.
- Issuer authentication: NOT CHECKED; no pinned signing key or trusted issuer was supplied
- Signature: NOT CHECKED; no Ed25519 signature or pinned key is supplied
- Chain: NOT CHECKED; no append-only chain proof is validated
- Stored timestamp: 2026-11-08T10:10:14.420Z; external immutability is not checked
Get proof like this from your own AI
Get receipts for your own AI work: add zambo.dev/mcp
One URL, no key. Copy the line for your AI and add it yourself in its settings.
- ClaudeSettings, Connectors, Add custom connector, paste the URL.
https://zambo.dev/mcp - ChatGPTSettings, Apps and Connectors, developer mode, create a connector with this URL.
https://zambo.dev/mcp - GrokAdd a remote MCP server in your Grok client and paste the URL.
https://zambo.dev/mcp - CursorPaste into ~/.cursor/mcp.json.
{"mcpServers":{"zambo":{"url":"https://zambo.dev/mcp"}}}
Nothing is installed automatically. Full setup guides
Want a verifiable receipt for every job your bots do?
Add Zambo Receipt Bot to your team · File this in Receipt Bot
Show receipt data and verification evidence
Committed provenance claim
EXECUTED BY ZAMBO
The metadata claim is consistent with the verified receipt bytes; issuer is not authenticated.
- Receipt ID
9d5dd001-a35a-4cfa-b2f4-8eb827e538db- SHA-256 output hash
sha256:3a0a22d24efc25ec19a53fdfe01b20364e83c726c84d11b97359e62f6a0f42f4- Canonical bytes
eyJjYWxsZXIiOnsiaWQiOiJzaGEyNTY6OWYzNzAzNDIwOWRkY2Q0Nzk3MzBiNDI0NDg2YmJhNDIyZWNmYTBjYTMxMTk1NzMzMTkxOWZmMTlhNDNkZDFlNyIsInR5cGUiOiJzZXNzaW9uIn0sImlzc3Vlcl9jbGFpbXMiOnsicHJvdmVuYW5jZV9jbGFzcyI6IkVYRUNVVEVEIEJZIFpBTUJPIn0sIm91dHB1dCI6eyJjb250ZW50X3R5cGUiOiJ0ZXh0L2h0bWwiLCJleHRyYWN0ZWRfdGV4dCI6IkNoZWNrIGEgcmVjZWlwdCB8IFphbWJvXG5cblNraXAgdG8gY29udGVudCAgU2tpcCB0byBjb250ZW50XG5cblB1YmxpYyByZWNlaXB0IHZlcmlmaWNhdGlvblxuXG5WZXJpZnkgYSBaYW1ibyByZWNlaXB0LlxuXG5DYW4gYSBzYXZlZCBBSSBsb2cgb3IgcmVjZWlwdCBiZSBjaGFuZ2VkIHdpdGhvdXQgYW55b25lIG5vdGljaW5nPyAgTm8sIGEgY2hhbmdlZCBzYXZlZCByZXN1bHQgZmFpbHMgaXRzIGRpZ2VzdCBjb21wYXJpc29uLiBFYWNoIHZlcmlmaWFibGUgcmVjZWlwdCBjYXJyaWVzIGEgZGlnZXN0IG92ZXIgaXRzIHNhdmVkIHJlc3VsdC4gQ2hhbmdlIG9uZSBieXRlIG9mIHRoZSBzYXZlZCByZXN1bHQgYW5kIHRoZSBkaWdlc3Qgbm8gbG9uZ2VyIG1hdGNoZXMuIFRoYXQgaXMgd2hhdCBjaGVja2luZyBhIHJlY2VpcHQgbWVhbnM6IGNvbXBhcmUgdGhlIHNhdmVkIGJ5dGVzIHdpdGggdGhlaXIgcmVjb3JkZWQgY29tbWl0bWVudCwgcmF0aGVyIHRoYW4gdHJ1c3RpbmcgYW4gZWRpdGVkIGFjY291bnQuXG5cbkEgcmVhbCByZWNlaXB0IHlvdSBjYW4gY2hlY2tcblxuUmVjZWlwdCA5MWUzNzZiMS0zN2Y0LTRjNWItYTkzZS01NDk3ZGE3NDEwY2UgIGlzIGEgWmFtYm8gTUNQIHByb21wdF9zaGllbGQgcmVjZWlwdCwgc2F2ZWQgMjAyNi0xMC0xOFQxMTozNjo1MS44MTlaLiBJdCBpcyBub3QgYSBDcmV3QUkgb3Igc21vbGFnZW50cyBydW4uXG5cblRoZSBwdWJsaWMgcmVjZWlwdCBwYWdlIHNob3dzIHRoZSBvYnNlcnZlZCByZXN1bHQgYW5kIHNhdmVkIHRpbWUuIEl0cyBtYWNoaW5lIHZlcmlmaWNhdGlvbiByZXNwb25zZSBpZGVudGlmaWVzIHRoZSB0b29sLCByZWNvcmRlZCByZXF1ZXN0IGNvbnRleHQsIGNhbm9uaWNhbCBzYXZlZCBieXRlcywgYW5kIG91dHB1dF9oYXNoIGRpZ2VzdC4gUmVjb21wdXRlIFNIQS0yNTYgb3ZlciB0aGUgZGVjb2RlZCBzYXZlZCBieXRlcyBhbmQgY29tcGFyZSB0aGF0IGRpZ2VzdCB3aXRoIHRoZSBzdG9yZWQgdmFsdWUuICBDaGVjayB0aGlzIHJlY2VpcHQgIG9yICByZWFkIHRoZSBtYWNoaW5lIGNoZWNrIC5cblxuQSByZWNlaXB0IHByb3ZlcyB0aGUgc2F2ZWQgcmVzdWx0IHdhcyBub3QgY2hhbmdlZCBzaW5jZSBpdCB3YXMgc2F2ZWQuIEl0IG5ldmVyIHByb3ZlcyB0aGUgYW5zd2VyIHdhcyByaWdodCBhbmQgbmV2ZXIgcHJvdmVzIGFuIGV4dGVybmFsIGV2ZW50IGhhcHBlbmVkLlxuXG5PcGVuIHlvdXIgc2F2ZWQgcmVjZWlwdFxuXG5QYXN0ZSBhIHJlY2VpcHQgbGluayBvciBJRFxuXG5DaGVjayByZWNlaXB0XG5cbldoYXQgdGhpcyBjaGVja3NcblxuVGhpcyBjaGVja3MgdGhlIHB1YmxpYyBob3N0ZWQgcmVjZWlwdC4gSXRzIHByb2ZpbGUgZm9ybWF0IGlzIGRvY3VtZW50ZWQgc2VwYXJhdGVseSBmcm9tIHRoZSByYXcgQUVSLTEgY29ubmVjdGlvbiByZWNlaXB0IHNjaGVtYS5cblxuUmVhZCBob3N0ZWQgcHJvZmlsZSBzY2hlbWEgIMK3ICBSdW4gdGhlIHJlYWQtb25seSBkZW1vICDCtyAgVXNlIHRoZSBsb2NhbCBwcm94eVxuXG5ObyByZWNlaXB0IHlldD8gQWRkIFphbWJvIHRvIHlvdXIgQUkgYW5kIGVhY2ggdG9vbCBjYWxsIGdldHMgYSByZWNlaXB0LiAgQWRkIFphbWJvIGZyZWVcblxuWmFtYm8gZ2l2ZXMgeW91ciBBSSBhIHJlY2VpcHQgZm9yIGV2ZXJ5IGFuc3dlci4gQ2hlY2sgYW55IHJlY2VpcHQgaGVyZSwgZnJlZS5cblxuLlxuXG5yZWNlaXB0cyBpc3N1ZWRcblxuLlxuXG5yZWNlaXB0cyB0b2RheVxuXG4uXG5cbnBhY2thZ2UgZG93bmxvYWRzXG5cbi5cblxudG9vbCBjYWxsc1xuXG5FdmVyeSBudW1iZXIgbGl2ZSBhbmQgc291cmNlZCDCtyBNZXRob2QgJiBzb3VyY2VzXG5cbjIwIGNhbGxzICsgMSB3cmFwLXVwIGZyZWUgZXZlcnkgZGF5OyBwaWNraW5nIHVwIGluIGFub3RoZXIgQUkgaXMgYWx3YXlzIGZyZWUuXG5cbkV2ZXJ5IHJlY2VpcHQgaGFzIGEgZmluZ2VycHJpbnQuIElmIGFueW9uZSBjaGFuZ2VzIHRoZSByZWNlaXB0LCB0aGUgZmluZ2VycHJpbnQgbm8gbG9uZ2VyIG1hdGNoZXMuIEEgbWF0Y2ggZG9lcyBub3QgcHJvdmUgdGhlIGFuc3dlciBpcyByaWdodC5cblxuQUVSLTEgZHJhZnQgLTI2ICBkZWZpbmVzIHRoZSByZWNlaXB0IGZvcm1hdC5cblxuUmVjZWlwdHMgd2l0aGhlbGQgZm9yIHByaXZhY3lcblxuU29tZSByZWNlaXB0cyBrZWVwIGNhbm9uaWNhbCBieXRlcyBwcml2YXRlLiBUaGVpciBwdWJsaWMgdmVyaWZpZXIgcmVwb3J0cyDigJx3aXRoaGVsZOKAnSBpbnN0ZWFkIG9mIHNob3dpbmcgYSBncmVlbiBjaGVjay4gVGhlIHJlY2VpcHQgb3duZXIgY2FuIHVzZSB0aGUgb2ZmbGluZSB2ZXJpZmllciBiZWxvdyB3aXRoIHRoZSBvcmlnaW5hbCBieXRlcyB0byByZWNvbXB1dGUgdGhlIGNvbW1pdG1lbnQuXG5cbkF0dGFjaCBhIFphbWJvIHJlY2VpcHRcblxuRm9yIGRldmVsb3BlcnNcblxuUmVwbGFjZSAgPGlkPiAgd2l0aCB0aGUgcmVjZWlwdCBVVUlELiBBIHJlY2VpcHQgbGluayBzaG93cyB0aGUgcHVibGljIHJ1biBwYWdlOyB0aGUgbWFjaGluZSBsaW5rIHJldHVybnMgdGhlIHYyIHZlcmlmaWNhdGlvbiBjaGVja3MuXG5cbk1hcmtkb3duIGJhZGdlXG5cbkZvciBkZXZlbG9wZXJzXG5cblshW1phbWJvIHJlY2VpcHRdKGh0dHBzOi8vemFtYm8uZGV2L2FwaS9yZWNlaXB0LzxpZD4vYmFkZ2Uuc3ZnKV0oaHR0cHM6Ly96YW1iby5kZXYvcnVuLzxpZD4pXG5cbkNvcHlcblxuSFRNTCBiYWRnZVxuXG5Gb3IgZGV2ZWxvcGVyc1xuXG48YSBocmVmPVwiaHR0cHM6Ly96YW1iby5kZXYvcnVuL2IwOGNmZTc3LTZhNTItNDdlNy05YWRlLWIwMWZiY2Q1ZTU0M1wiPjxpbWcgc3JjPVwiaHR0cHM6Ly96YW1iby5kZXYvYXBpL3JlY2VpcHQvPGlkPi9iYWRnZS5zdmdcIiBhbHQ9XCJaYW1ibyByZWNlaXB0XCI+PC9hPlxuXG5Db3B5XG5cbk1hY2hpbmUgdmVyaWZpY2F0aW9uIGxpbmtcblxuRm9yIGRldmVsb3BlcnNcblxuaHR0cHM6Ly96YW1iby5kZXYvYXBpL3YyL3JlY2VpcHQvPGlkPi92ZXJpZnlcblxuQ29weVxuXG5Db21taXQgb3IgcHVsbCByZXF1ZXN0IHRyYWlsZXJcblxuRm9yIGRldmVsb3BlcnNcblxuWmFtYm8tUmVjZWlwdDogaHR0cHM6Ly96YW1iby5kZXYvcnVuLzxpZD5cblxuQ29weVxuXG5KU09OIHBvaW50ZXJcblxuRm9yIGRldmVsb3BlcnNcblxue1wiemFtYm9fcmVjZWlwdFwiOntcImlkXCI6XCI8aWQ+XCIsXCJ1cmxcIjpcImh0dHBzOi8vemFtYm8uZGV2L3J1bi88aWQ+XCIsXCJ2ZXJpZnlfdXJsXCI6XCJodHRwczovL3phbWJvLmRldi9hcGkvdjIvcmVjZWlwdC88aWQ+L3ZlcmlmeVwiLFwib3V0cHV0X2hhc2hcIjpcInNoYTI1NjrigKZcIn19XG5cbkNvcHlcblxuY29ubmVjdGlvbiBtZXRhZGF0YSBrZXlcblxuRm9yIGRldmVsb3BlcnNcblxuX21ldGFbXCJkZXYuemFtYm8vcmVjZWlwdFwiXVxuXG5Db3B5XG5cbkEyQSBleHRlbnNpb24ga2V5XG5cbkZvciBkZXZlbG9wZXJzXG5cbmh0dHBzOi8vemFtYm8uZGV2L2V4dC9hZXIxL3YxXG5cbkNvcHlcblxuQ0kgcmVjaXBlOiAgQWRkIHJlY2VpcHQgdmVyaWZpY2F0aW9uIHRvIEdpdExhYiBDSSAuXG5cbkFkdmFuY2VkOiBjaGVjayBhIG11bHRpLXN0ZXAgam9iXG5cblZlcmlmeSBhIHdvcmtmbG93IHJlY2VpcHRcblxuQSB3b3JrZmxvdyByZWNlaXB0IGNvbW1pdHMgdG8gYW4gb3JkZXJlZCBsaXN0IG9mIGluZGVwZW5kZW50bHkgdmVyaWZpYWJsZSBzdGVwIHJlY2VpcHRzLiBVc2UgdGhlICB2ZXJpZmllZCByZWNlaXB0IGV4YW1wbGUgIGFzIHRoZSByZWZlcmVuY2UgcmVjb3JkLiBFdmVyeSBzdGVwIG11c3QgaW5kZXBlbmRlbnRseSB2ZXJpZnkgdGhyb3VnaCBpdHMgb3duIHJlY2VpcHQgZW5kcG9pbnQgYmVmb3JlIHRoZSB3b3JrZmxvdyByb290IGlzIG1lYW5pbmdmdWwuXG5cbkV4YWN0IE1lcmtsZSBjb25zdHJ1Y3Rpb25cblxuRm9yIGVhY2ggMS1iYXNlZCBzdGVwLCBsb3dlcmNhc2UgdGhlIDY0LWNoYXJhY3RlciByZWNlaXB0IG91dHB1dC1oYXNoIGhleCBhbmQgcmVtb3ZlIGl0cyAgc2hhMjU2OiAgcHJlZml4LiBUaGUgbGVhZiBpcyAgU0hBLTI1NihVVEYtOCBieXRlcyBvZiBkZWNpbWFsIHNlcSArIFwiOlwiICsgaGFzaCBoZXgpIC5cblxuQXQgZWFjaCBwYXJlbnQgbGV2ZWwsIGhhc2ggdGhlIHJhdyAzMi1ieXRlIGxlZnQgbm9kZSBjb25jYXRlbmF0ZWQgd2l0aCB0aGUgcmF3IDMyLWJ5dGUgcmlnaHQgbm9kZTogIFNIQS0yNSIsIm5vdGUiOiJUZXh0IHRydW5jYXRlZCB0byA0MDAwIGNoYXJzLiBGdWxsIGRvY3VtZW50IGlzIDExOTEwIGNoYXJzLiIsInN1bW1hcnkiOiItICoqVGFtcGVy4oCRZXZpZGVudCByZWNlaXB0cyoqIOKAkyBFdmVyeSBaYW1ibyB0b29sIGNhbGwgZ2VuZXJhdGVzIGEgcmVjZWlwdCB0aGF0IHN0b3JlcyB0aGUgZXhhY3Qgb3V0cHV0IGJ5dGVzIGFuZCBhIFNIQeKAkTI1NiBkaWdlc3QuICBDaGFuZ2luZyBhbnkgYnl0ZSBpbnZhbGlkYXRlcyB0aGUgZGlnZXN0LCBzbyBhIHB1YmxpYyBjaGVjayBndWFyYW50ZWVzIHRoZSBzYXZlZCByZXN1bHQgaGFzbuKAmXQgYmVlbiBlZGl0ZWQgKGJ1dCBpdCBkb2VzIG5vdCBjb25maXJtIGNvcnJlY3RuZXNzKS5cblxuLSAqKkV4YW1wbGUgcmVjZWlwdCoqIOKAkyBSZWNlaXB04oCvOTFlMzc2YjHigJEzN2Y04oCRNGM1YuKAkWE5M2XigJE1NDk3ZGE3NDEwY2UgKHNhdmVkIDIwMjbigJExMOKAkTE44oCvVDExOjM2OjUxLjgxOVopIGlzIGEgWmFtYm8gTUNQ4oCvcHJvbXB0X3NoaWVsZCByZWNlaXB0LiAgVGhlIHB1YmxpYyBwYWdlIHNob3dzIHRoZSBvYnNlcnZlZCByZXN1bHQsIHRvb2wsIHJlcXVlc3QgY29udGV4dCwgY2Fub25pY2FsIGJ5dGVzLCBhbmQgdGhlIGBvdXRwdXRfaGFzaGA7IHJlY29tcHV0aW5nIHRoZSBoYXNoIG92ZXIgdGhlIGRlY29kZWQgYnl0ZXMgc2hvdWxkIG1hdGNoIHRoZSBzdG9yZWQgdmFsdWUiLCJ1cmwiOiJodHRwczovL3phbWJvLmRldi92ZXJpZnkvIiwid29yZF9jb3VudCI6MTYwOX0sInJlY2VpcHRfc2NoZW1hX3ZlcnNpb24iOiIwLjQiLCJzaWRlX2VmZmVjdHMiOnsiZGVjbGFyYXRpb25faGFzaCI6InNoYTI1Njo0NWFhZDM4ZjNhYTk4MmI5YWFmZTkyZWNiNDE2ZWJlOTg3OTFlZGRiYWY4YWI2ZGYwYmQwODYwNWI3YzFiZmVlIiwiZGVjbGFyZWQiOlsibm9uZSJdLCJzY2hlbWFfdmVyc2lvbiI6InphbWJvLXNpZGUtZWZmZWN0cy8xIn0sInRvb2wiOnsibmFtZSI6InBkZl9leHRyYWN0Iiwic2NvcGUiOiJwdWJsaWMiLCJ2ZXJzaW9uIjoiNC4wLjAifX0=- Timestamp
Bound call context
- Receipt schema
0.4- Tool name
pdf_extract- Tool version
4.0.0- Permission scope
public- Caller type
session- Caller ID
sha256:9f37034209ddcd479730b424486bba422ecfa0ca311957331919ff19a43dd1e7- Declared side effects
none- Side-effects schema
zambo-side-effects/1- Declaration hash
sha256:45aad38f3aa982b9aafe92ecb416ebe98791eddbaf8ab6df0bd08605b7c1bfee
This records what the server-side tool contract declared at call time. It does not independently verify that a downstream side effect happened.
Bound upstream evidence
- Status
- Evidence captured: upstream error response
- Evidence SHA-256
sha256:8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374- Byte length
- 56912
Upstream provenance
This receipt is independently auditable against the named upstream source. This is not a mathematical correctness claim.
-
Source:
· queried at:
· raw response hash:
Neutral Nostr anchor
- Event ID
3ef3ca41bbf14926617d96103792cabe7ead64bc4ffb9bf69e680912632fda5f- Anchor status
- published
- Public key
e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41
Relay hints: wss://relay.primal.net
Schema: zambo-receipt-anchor/1
Anchor envelope bytes:
{"anchored_at":"2026-11-08T10:10:14.420Z","evidence_byte_length":56912,"evidence_sha256":"sha256:8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374","evidence_url":"https://zambo.dev/api/evidence/8344598b6589f8c3252fcbbd40664ebed8c49b07dc1febd34852140faeed5374","output_sha256":"sha256:3a0a22d24efc25ec19a53fdfe01b20364e83c726c84d11b97359e62f6a0f42f4","receipt_uuid":"9d5dd001-a35a-4cfa-b2f4-8eb827e538db","schema_version":"zambo-receipt-anchor/1"}
Anchor status "published": Published to all configured relay targets.
Relay publication is separate from receipt integrity. When the original signed event is available, Zambo retries pending, partial, or failed anchors about once a minute. Relay acknowledgements are external, so there is no guaranteed completion time; the receipt remains checkable from its saved bytes and verification link.
Check this hash yourself
Receipt commitment: commitment matched; issuer, signature and chain not checked. This checks the saved bytes, not whether the answer was correct. Recompute the SHA-256 commitment in your browser. Open the API v2 JSON response to inspect the machine-readable checks. See the Nostr anchor event on a public viewer. The fingerprint is timestamped outside Zambo too.
Embed this receipt
Markdown
[](https://zambo.dev/run/9d5dd001-a35a-4cfa-b2f4-8eb827e538db?ref=badge)
HTML
<a href="https://zambo.dev/run/9d5dd001-a35a-4cfa-b2f4-8eb827e538db?ref=badge"><img src="https://zambo.dev/api/receipt/9d5dd001-a35a-4cfa-b2f4-8eb827e538db/badge.svg" alt="Verifiable Zambo receipt"></a>
Recent receipts
120,252 verifiable receipts minted
Get your own: connect https://zambo.dev/mcp. Free daily calls, no API key.
Open the interactive receipt view
Your AI's work could look like this
Run a first job free in Zambo Chat. No account needed.