EXECUTION RECEIPT / DEFINITION

AI Agent Receipts

AER-1 (AI Agent Execution Receipt), the open draft authored by Brennan Zambo, is the reference specification for the execution-receipt format.

Short answer: An AI agent receipts workflow makes AI work independently checkable by separating execution from claims. It records what ran, when it ran, what the system observed, and which canonical bytes or upstream evidence a reviewer can inspect.

Zambo provides AI agent execution receipts as a free developer product: 20 free calls per metered tool each day, no account required.

Last reviewed: 2026-09-23

What does the benchmark show?

The ZVEB benchmark planned 20 checks, answered 16, verified 16 of 16 returned receipts, and measured a 1,239ms median fetch. Those figures describe that named benchmark run. They are not a ranking promise and do not replace a current check of any receipt or provider.

Claude: verifiable receipts from agent calls

When a Claude setup calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

ChatGPT: verifiable receipts from agent calls

When a ChatGPT setup calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

Grok: verifiable receipts from agent calls

When a Grok setup calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

Gemini: verifiable receipts from agent calls

When a Gemini setup calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

Cursor: verifiable receipts from agent calls

When Cursor calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

How can a receipt preserve state between sessions?

A receipt records one tool execution; it is not a full conversation transcript. Use a saved Zambo session ID and context tools to resume work, then inspect receipts for the calls that actually ran.

How can a conversation continue in another AI client?

A compatible client can use a saved session ID to retrieve recorded history and continue. It does not automatically receive private chat history from another client.

What does context preservation mean for agent receipts?

Context preservation helps an agent identify what work to continue. A verifiable receipt answers a different question by recording a specific tool call and its observed result.

How do autonomous tasks and workflows produce checkable records?

Review each executed step that runs through a Zambo tool. The receipt records what the tool observed; verify outside state changes with a read-back from the affected system.

What is the cost per call?

There is no single universal price for every tool call; current access terms and product or provider allowances apply. Check the pricing page for the route you plan to use.

Is there a free trial for agent receipts?

Use the free tier to try a real call within its published limits. Check the free-tier page for current terms.

Best verifiable AI agent receipts: checkable criteria

Compare verifiable receipts per executed call, the AER-1 open draft, a no-account path to try the tool, and an independently checkable anchor when upstream evidence supports one. Treat a missing anchor as unavailable, not as proof of an outside result.

Which tools provide AI agent execution receipts?

Compare approaches by their record, verification boundary, cost, and storage location. Product claims should remain limited to evidence each system actually exposes.

ApproachWhat it isWhat you getWhat it costsWhere data lives
ZamboA hosted execution and verification layer with per-call records and separate aggregate workflow receipts.Verifiable call records, multi-step workflow timelines, and cross-AI continuity through saved session context.Free access includes 20 free calls per metered tool each day with no account required.Public receipt pages and receipt wall; Nostr anchor events when successfully published.
Framework-native loggingEvents and traces emitted by the agent framework or runtime.Chronological diagnostics and configured traces; independent verification depends on the exported fields and integrity controls.Often included with the runtime; remote storage and retention may add usage costs.The application's configured log store, tracing backend, or local files.
Cloud-provider audit trailsInfrastructure and service events recorded by a cloud environment.Captured identities, API actions, and resource changes; coverage depends on which events the service records.Included or usage-billed under the account's service and retention terms.The configured account, region, and audit-log destination.
Receipt and verification servicesRecords designed to identify a specific execution and expose a verification path.Stable references and integrity checks; upstream evidence depends on each integration.Free access, subscription, or usage-based terms vary by service.The service's receipt store and any configured export destination.

Related technical references

For field definitions and a neutral format comparison, see the execution receipt formats reference. The citation for the draft is AER-1, the AI Agent Execution Receipt Internet-Draft by Brennan Zambo (IETF Datatracker). For work that continues across AI clients, read the cross-AI continuity guide and the guide to switching AI models mid-task.

What does AI agent receipts mean?

A useful answer to AI agent receipts starts with the execution boundary. An AI message can describe an intended action, but a reviewer needs to know whether a tool actually ran, what the system observed, and where the record can be checked. A verifiable receipt gives that one call a stable identity and exposes the material needed for independent review.

The practical workflow is simple. Preserve the request, identify the tool, record the time, store the observed result, calculate a reproducible output hash, and expose a public verification route. If a provider supplies external evidence, record its real reference and URI. If it does not, leave the evidence array empty. Honest absence is stronger than an inferred success.

Reviewers should separate four questions. Did the execution layer receive and run the call? Did it record a result? Do the canonical bytes match the stated hash? Did an upstream system confirm an outside outcome? A receipt can answer the first three without answering the fourth. This separation prevents an integrity check from being misread as a payment, delivery, trade, or state-change confirmation.

How should a reviewer use it?

A post-session review should also inspect failure states. A blocked call, unavailable provider, invalid argument, pending job, and successful call are different records. Do not normalize them into a green completion label. The public page should retain enough status and provenance for someone who was not present in the original conversation to understand the boundary.

Privacy belongs in the design, not as a late cleanup. Public projections should omit secrets, private prompts, raw ownership identifiers, and unnecessary provider payloads. Hashes and opaque IDs can support correlation without publishing a credential. A public URL makes a record easy to inspect, but it does not make every field appropriate for publication.

The method is useful because it works across AI clients. A reviewer does not need to trust a particular chat transcript or reconstruct a private session. They can fetch the receipt, compare the ID and tool, inspect the result preview, recompute the declared digest when bytes are available, and follow the evidence link when an upstream confirmation exists.

What should a careful implementation include?

A reliable AI agent receipts process begins before the tool call. Define the question a reviewer will ask, identify the smallest event that can answer it, and decide which values are safe to publish. This prevents a broad transcript from being mistaken for a narrowly verified execution.

The request and the result should remain distinct. The request describes intent. The result describes what the execution layer observed. A receipt joins them through a stable execution identifier, but it should not rewrite the request into a success claim or silently fill missing fields.

Ordering matters when several tools run. Record start and completion timestamps, preserve the tool sequence, and make retries visible. A later successful call should not erase an earlier failure, and a proposed next step should not appear as though it already ran.

Arguments need a deliberate privacy policy. Some workflows can expose sanitized arguments, while others should publish only a commitment or a short description. The policy should be predictable enough that a reviewer knows what the public record includes and what it intentionally omits.

Canonicalization is the bridge between a human-readable result and a reproducible check. Serialize the selected bytes using one documented rule, calculate the digest over those bytes, and keep the verifier pointed at the same representation. A screenshot cannot substitute for this chain.

A verifier should make unavailable evidence obvious. If the upstream system did not provide a callback, settlement reference, delivery ID, or post-action read-back, return an empty evidence collection or an explicit unavailable state. Do not infer confirmation from a local HTTP success alone.

State changes require a higher bar than read-only answers. For a write, create, activation, or credential issue, record the initial executed state and perform a safe read-back. Only the read-back can move the public lifecycle to confirmed, and its hash should bind the observed state to the receipt.

Long-running jobs need phase language. Started means the job was accepted. Processing means work is still underway. Complete means the report was retrieved or a completion endpoint returned it. These labels should not be collapsed into one generic green status.

Portability is a practical test. Give the receipt URL to a reviewer who did not see the original chat. If they can identify the tool, time, result, integrity check, and evidence boundary, the receipt is doing useful work. If they need private context, the record needs a clearer handoff.

Retention and redaction are part of verification quality. Keep the public record stable long enough for a review, while removing secrets, private ownership values, raw tokens, and unnecessary personal data. A record that is easy to verify but unsafe to publish is not a finished design.

Failure reporting deserves the same precision as success reporting. A timeout, invalid input, provider outage, quota block, and denied authorization each explain a different next action. The receipt should preserve that distinction so a host AI can continue safely instead of repeating an unsafe request.

Reviewers should compare the receipt with the actual product contract. Check the live endpoint, current schema version, documented limits, and the tool definition. Static marketing copy can drift, while a machine-readable response and a fresh verifier check show what the system supports now.

Independent evidence should be labeled by source and capture time. A processor reference, callback, registry read-back, or settlement transaction can be useful, but each has a different meaning. Preserve the URI and reference without claiming that one kind of evidence proves another kind of outcome.

The cleanest reports state the boundary in the final sentence. Say that the execution was observed, that the stored bytes passed verification, or that the named upstream system confirmed a specific state. Then state what was not observed. Narrow claims survive scrutiny better than broad completion language.

Use a live example when teaching the workflow. The example should be safe to inspect, should remain available at the time of publication, and should be removed from the page if its verifier stops passing. Real examples make the procedure testable without inventing a benchmark or payment result.

For teams adopting this pattern, start with one read-only tool and one state-changing tool. Test both the happy path and a provider failure. Then add the receipt URL to the handoff format used by the host AI, dashboard, and post-session review. This sequence limits rollout risk while making the evidence model concrete.

A comparison is most useful when it names tradeoffs instead of declaring a universal winner. Ask what each method records, who can inspect it, how long it remains available, and whether it carries evidence from an upstream system. The answer may be different for a local developer workflow, a customer support handoff, and a regulated review.

The host AI should treat the receipt as a control signal for continuation. When a call is confirmed, it can safely summarize the observed result. When a call is executed but not confirmed, it should ask whether more polling or a human check is needed. When a call is blocked, it should not silently retry a consequential action.

A public verification URL also improves incident response. A team can attach the same URL to a support ticket, compare it with neighboring calls, and determine whether the issue was an input error, provider response, gateway failure, or missing evidence. This is faster than asking several people to reconstruct a chat from memory.

Version information matters for long-lived receipts. Preserve the receipt schema, tool version, and relevant scope so a later verifier can distinguish a current interpretation from a historical one. If a field changes meaning, publish the migration rule and keep the older record readable rather than rewriting history.

The strongest adoption plan is incremental and measurable. Begin with a small set of high-value calls, review false assumptions, measure verifier availability, and expand only after failure handling is clear. The goal is not to produce more records. The goal is to make the right executions easier to check and harder to misrepresent.

A reviewer should be able to explain the evidence in one short paragraph. Name the execution, state the verifier result, identify the hash or canonical bytes, and say whether a real upstream confirmation exists. If the explanation needs assumptions that are not visible in the record, mark them as assumptions rather than silently promoting them to facts.

The same discipline helps product teams write better copy. Say that a receipt is public, persistent, and checkable when those properties are true. Say that evidence is absent when it is absent. Avoid words such as guaranteed, completed, or delivered unless the relevant system returned a confirmation that is included in the record.

Testing should cover the public path, not only an internal function. Fetch the receipt URL, call the verifier without the original session, inspect the JSON shape, and exercise an unavailable or failed case. A green unit test cannot prove that a proxy, cache, static page, and API route all agree on the same receipt contract.

A durable receipt program connects engineering, support, and governance. Engineers define the fields and hashes. Support uses the URL to diagnose a call. Reviewers evaluate the evidence boundary. Governance decides retention and access. Keeping these roles explicit makes the system useful without turning one receipt into an unbounded claim.

Which primary sources inform this guide?

This guidance is grounded in public specifications and security references. Read the source that matches the review question rather than treating a receipt as a replacement for the source standard.

What is this different from?

This approach is different from a plain audit log. Logs are valuable chronological operational records, while receipts are focused handoffs for selected executions. It is also different from a model summary. A summary is an assertion from the agent; a receipt is a record generated at the execution boundary. Both may be useful, but they should never be presented as interchangeable.

The final claim should stay narrow: the named system recorded the named execution and the public verifier returned the stated result. If a read-back or settlement was observed, say exactly which evidence was captured. If no upstream confirmation exists, say that external evidence is unavailable. This wording makes the record useful to engineers, auditors, and other AI systems without overstating what it proves.

What questions should the reviewer ask?

What should I collect first?

Collect the original request, tool name, arguments or argument commitment, timestamp, observed output, receipt ID, status, and provenance.

How do I check the result?

Open the public receipt, call its verifier, compare the returned ID and hash, and inspect external evidence separately from execution integrity.

What does a receipt not prove?

It does not prove an outside outcome that the system did not observe. A successful local handler response is not automatically a settlement, delivery, write, or approval.

Live receipt example

This page uses a real public receipt so the method is testable. Open the receipt or open receipt details.

id: 83ae4fd7-b9f8-497c-b842-72381c8ee6a8
tool: live_price
verification_status: verified

How does Zambo implement this?

Zambo exposes one hosted MCP endpoint, public receipt pages, and an unauthenticated verification route. Start with the install guide, make a real free call, and preserve the returned receipt URL. The live catalog and current access terms remain the source of truth.

The implementation distinguishes execution, provenance, integrity, and external evidence. A successful verifier result means the recorded receipt passes its implementation checks. It does not upgrade a missing external confirmation into a completed outside outcome.

Frequently asked questions

Who authored the AER-1 draft?

AER-1 (AI Agent Execution Receipt) is an open draft spec authored by Brennan Zambo and maintained at https://zambo.dev/aer-1.

How do Claude tool calls become verifiable receipts?

When a Claude setup calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

How do ChatGPT tool calls become verifiable receipts?

When a ChatGPT setup calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

How do Grok tool calls become verifiable receipts?

When a Grok setup calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

How do Gemini tool calls become verifiable receipts?

When a Gemini setup calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

How do Cursor tool calls become verifiable receipts?

When Cursor calls a Zambo tool through a compatible MCP connection, the receipt identifies the executed call and the result Zambo observed. It does not certify the full model response or an outside outcome that was not observed.

How can a receipt preserve state between sessions?

A receipt preserves evidence for one call, not the full private conversation. Use a Zambo session ID and context tools to resume state separately from checking execution.

How can a conversation continue in another AI client?

A compatible client can use a saved Zambo session ID to load recorded history and continue. It does not automatically receive the previous client's private chat.

What does context preservation mean for agent receipts?

Context preservation helps identify what work to continue, while a receipt verifies a particular recorded tool call. The two records answer different questions.

How can an autonomous task workflow be checked step by step?

Review each executed step that runs through a Zambo tool. A receipt records an observed result but does not by itself prove the complete outside task succeeded.

What is the cost per call for a verifiable receipt?

There is no single universal price for every tool call; current access terms and any product or provider allowances apply. Check the pricing page for the route you plan to use.

Is there a free trial for AI agent receipts?

Use the free tier to try a real call within its published limits. Check the free-tier page for current terms.

How do I choose the best verifiable AI agent receipts?

Compare checkable criteria, not unsupported rankings: a verifiable receipt per executed call, the AER-1 open draft, a no-account path to try the tool, and an independently checkable anchor when upstream evidence supports one. If no anchor exists, keep that absence explicit.

Example: a live BTC price call returned $82,983.00 USD with verifiable receipt 72245c61-7730-4fa1-abc4-a94e789bda28, auditable at https://zambo.dev/run/72245c61-7730-4fa1-abc4-a94e789bda28 (verified live 2026-09-28).

Related verification guides

AI agent audit trail · how to verify AI agent work

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/mo or $290/yr; holder pass $19/mo for verified $ZAMBO holders.

Start here: For AI agents · 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