What Is an AI receipt?

Canonical definition
For developers

An AI execution receipt is a record created when an AI tool call finishes. It identifies the call, preserves the saved output bytes and their hash, and lets anyone compare those bytes through a public verification page. A matching SHA-256 hash shows the saved bytes are unchanged; it does not establish that the result was correct.

Last updated: 2026-10-17

AER-1 is an open draft spec for AI work receipts, authored by Brennan Zambo.

Add Zambo to your AI

Plain answers about using Zambo, keeping your work, and checking receipts. A receipt shows what Zambo recorded for one call. It does not prove the answer is right.

Try the Zambo demo · Explore Zambo

A Zambo AI receipt is a verifiable record generated by the Zambo execution layer proving that a specific agent action actually ran. It proves execution integrity - that the work was really performed - not that the result was correct, which no receipt can judge.

Why chat logs aren't enough

Right now, the entire proof that your agent did something is usually the agent saying so. Read that sentence again - it's absurd. The same system that can misremember a step, narrate a plan as finished work, or confidently describe an action it never took is also the sole witness to its own behavior. That's not an evidence system. That's a trust system wearing evidence's clothes.

A receipt changes the witness. Instead of the agent describing itself, the layer that ran the action records it - the same way a cash register prints your receipt instead of asking the cashier to remember your total. The agent can't misremember its way out of the record, because the record doesn't come from the agent.

Anatomy of a receipt

A receipt typically carries:

None of this is glamorous. That's the point. A receipt is boring infrastructure - like a shipping manifest - and boring is exactly what trust is built on.

A real receipt example

Receipt JSON

This compact example uses a real Zambo receipt created on October 3, 2026. The source record names these values id, created_at, and output_hash; they are shown here as receipt_id, ts, and result_hash.

{
  "receipt_id": "36a16e13-8612-4c90-a807-41c77bbe1b79",
  "ts": "2026-10-03T21:44:16.133Z",
  "tool": "zambo_universal",
  "args_hash": null,
  "result_hash": "sha256:ebf38c507e5f642acd525aec0c4b82bcff52e0b9db93993b0bd16f500c2572b4",
  "prev_hash": null,
  "issuer": {
    "claim": "EXECUTED BY ZAMBO",
    "authenticated": false
  },
  "receipt_schema_version": "0.3",
  "verification_status": "commitment_matches",
  "audit_url": "https://zambo.dev/run/36a16e13-8612-4c90-a807-41c77bbe1b79"
}

The live record passed its output commitment check, but it is legacy v0.3: the issuer label is not independently bound, and issuer authentication was not checked. The source record contains no argument digest or previous-receipt link, so those fields are null, not inferred.

Seven-field receipt schema

Seven schema fields
FieldDescription
receipt_idUnique identifier for this receipt.
tsUTC time the execution record was created.
toolName of the tool or action that ran.
args_hashDigest of the tool arguments, when the source records one.
result_hashDigest committing to the recorded result bytes.
prev_hashDigest of a preceding receipt when the trail explicitly links one.
issuerClaimed issuer or origin; not identity proof without trusted authentication.
The scope line, held firmly: a receipt proves the action happened through the execution layer - the tool ran, with these inputs, at this time, producing this output. It does not prove the output was correct, the decision was wise, or the result was what you wanted. Execution integrity, not correctness. Anyone selling you a receipt as proof of correctness is selling you something else.

Receipt vs. everything else

Record typeWho writes itWhat it provesWeakness
Chat logThe agent, narrating itselfWhat the agent claims happenedCan misremember, skip, or narrate plans as done
ScreenshotA human, of a momentThat a screen looked a certain way onceTrivially staged; proves nothing about the process
Application logThe app being acted onThat the app saw somethingScattered across systems; hard to tie to the agent's claims
receiptThe execution layer, independentlyThat the specific action really ranProves execution, not correctness

Where receipts change the game

Receipts matter most wherever the cost of being wrong is real: agents that move money, touch production data, send messages on your behalf, or produce work you'll sign your name to. In all of those, "the agent said it did it" is not a standard anyone would accept from a human contractor - and it shouldn't be the standard for agents either. Receipts are how AI work gets the same paper trail we require of everything else that acts with our authority.

Frequently asked questions

What is an AI execution receipt?

An AI execution receipt is a verifiable record generated by the execution layer proving that a specific agent action actually ran: the tool that executed, the inputs it received, the outputs it returned, and the timestamp. It is evidence of execution integrity - proof the work was really performed - not proof the result was correct.

What does an AI execution receipt contain?

A receipt typically includes a unique receipt ID, the timestamp of execution, the identity of the agent or framework, the tool or action that ran, a summary of the inputs and outputs, and a verification link where anyone can check the record. The key property: it is generated by the execution layer, not written by the agent describing itself.

How is an execution receipt different from a chat log?

A chat log is the agent narrating its own actions - the same voice that can misremember, skip steps, or narrate a plan as if it executed it. A receipt is produced independently by the layer that ran the action, so it reflects what actually happened rather than what the agent remembers happening.

Do receipts prove my agent's answer was correct?

No - and this is the most important thing to understand. A receipt proves the action ran: the tool executed, with these inputs, producing these outputs, at this time. Whether the output was the right answer is a judgment about correctness that no receipt can make. Receipts prove execution integrity, never correctness.

Why do AI agents need execution receipts?

Because agents generate fluent, confident text - including fluent, confident reports of work they may not have done. Without receipts, the only evidence a task was completed is the agent's own word. Receipts break that circular trust by giving you evidence that exists independently of the narrator.

Further reading

Verify it yourself

Advanced (for developers)

Every action run through Zambo mints a verifiable receipt automatically - free, 20 total free calls per day across work tools, no account. See what receipted work looks like: run the free Did My Agent Lie? check by Zambo and watch claims get scored against real receipts.

Advanced (for developers)

Brennan Zambo is the solo founder of Zambo - "Paste one link. Your AI can do real work, pick it up in any AI, and show proof of every step." Every AI agent tool call returns an AI Agent Execution Receipt: receipt ID, SHA-256 of the canonical request bytes, timestamp, tool called and its arguments, and the observed result, all checkable at its public /run/ page. He built 17 live products and 153 native MCP tools solo, no team, no VC. More: zambo.dev/founder.

Brennan Zambo, founder of Zambo

Additional source articles

For the open receipt specification, read AER-1: The Open Specification for AI Agent receipts.

For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
Add Zambo to your AI
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers
For developers and agents

Zambo gives AI work a receipt you can check. For people: add Zambo to your AI app and ask for a job. These technical links are for developers and AI agents. One hosted MCP at https://zambo.dev/mcp. Check the proof for recorded tool calls (verify a receipt). Agents: 24-hour Day Pass, $0.99 USDC on Base via x402, not per call. People: Zambo Pass $29 for 30 days or $290 for 365 days, one payment. No subscription. No automatic renewal.

Start here: For AI agents · Zambo Receipt Bot for Grok teams · Add Zambo · Check a receipt · Answers · Guides · What a receipt is · Open receipt format (draft) · All tools · Pricing · Day Pass: $0.99 · Agent Day Pass · Switch AIs without losing your work · Connect your AI · Founder · Source code
Brennan on X · Zambo on X

Try a handover

A handover gives your client one proof link with verifiable receipts to review, then Accept or Flag.

try it: say 'use zambo to hand this over to <client>' in your ai

Add Zambo · Handover docs · Real public handover · AER-1

Related questions

Try it: add https://zambo.dev/mcp to your AI