AI agent trust receipts
The short answer. People searching for trust receipts are asking one question in two forms: what record would let me rely on this agent's work, and who stands behind that record? The answer to the first is a verifiable execution receipt: recorded inputs, a saved result committed under a digest at execution time, a stated provenance class, and a public check anyone can recompute. The answer to the second is that, on an open format, nobody has to stand behind it in the room. The record carries its own commitments, and the receiver checks them directly. A receipt you can only check by asking its issuer is a feature of that issuer's product. A receipt a stranger can recompute is evidence, and evidence is the only form trust should take when work changes hands.
Scope, stated once and applied everywhere on this page: a verifiable receipt proves the saved result was not changed since it was saved. It does not prove the result was correct, and it does not prove an external event happened beyond what the record itself shows. The trust on offer is narrow and strong: this call ran, with these inputs, and this is the result it saved, unchanged since the moment it was saved.
The five properties that make a receipt worth trusting
- Recorded inputs. The receipt binds what the call was asked to do, under an input hash with a published layout. A result without its inputs is a number without a question: impressive, and uncheckable.
- Committed output. The saved result is digested at execution time, not when the report is written. Edit one byte of the result afterward and the digest no longer matches, and the record says so to anyone who recomputes it.
- Stated provenance. The record says what kind of execution produced it, as a class the receiver can weigh. A result the system executed itself and a claim an agent logged about outside work are different kinds of evidence, and the record should never blur them.
- Public, recomputable verification. The check runs against the record itself, through a public endpoint or an independent implementation, with each binding reported separately. Verification that phones home to the presenter for a yes is not verification.
- Failures recorded too. Errors, timeouts, and empty results mint records with the same commitments as successes. Without this property, the absence of a receipt is ambiguous, and ambiguity is where untrustworthy work hides.
Hold any record an agent hands you against those five. The ones it fails are the places your trust is currently being extended on credit.
How to run the trust check
- Start from the claim. Write down, in the agent's own words, what it says it did: which call, with what inputs, producing what result. Vague claims get pinned down now, not after the check.
- Ask for the receipt, not the transcript. The transcript is the agent's account of the call. The receipt is the executing system's record of it, written at execution time. If the answer comes back as a screenshot or a pasted log line, you have been handed testimony, and the check cannot start.
- Read the four fields. Recorded inputs, saved result, output digest, provenance class. The inputs tell you whether the call that ran is the call that was claimed. The provenance class tells you what kind of evidence you are holding.
- Run the recompute. The public verify endpoint recomputes the digest from the saved result and compares it with the committed digest, then reports the provenance and metadata bindings separately. A pass means the record in front of you is the record that was committed at execution time.
- Compare the saved result with the claim. This is the step summaries exist to skip. The saved result either matches the claim or it does not, and both readings are findings: a match closes the question for that step, and a mismatch locates the exact step where the story and the record part.
The three outcomes, plainly: record verifies and matches the claim, trust that step. Record verifies and contradicts the claim, the record wins and the claim gets corrected. No record, or only an error receipt, the step did not run as claimed. The sibling failure modes have their own pages: the invented result in How do I catch an AI agent making up results?, and the silent failure in the silent tool failure page.
Trust at the scale of a whole job
Single receipts settle single calls. Jobs are where trust is usually spent, so the same construction closes over a whole run: every step's receipt, in order, bound under one root at close. On October 16, 2026, a three-call run (live prices for BTC, ETH, and SOL) closed as workflow receipt fa512cd8-6af4-4d7c-ae30-174a8bae66e8 at 10:22:43 UTC. Its entries: 0d1b711a (BTC $81,959.00, output digest sha256:4ee6e206ed138866a9cf36c5c42cab4ea90e38b044d514b0b2fd69b8146b3076), 6c632066 (ETH $2,451.70, output digest sha256:420db5c7129f84d2f119f037d39397fa07e1202bb9055359977f9d91d97364d7), and bab0fb22 (SOL $105.97, output digest sha256:7b67d40bccb9e8c5bd3fd798a296b8ae692ab7bc6ab966c2b6c5969723fff8e3), each verified on the public endpoint. The root served for the run is 7939977021a4ee0b2c7e24679609a7b79e1dd14025c57e4d85b23e906b268111, and recomputing it from the three receipt identifiers under the construction in Section 8.1 of the draft reproduces that root exactly. Insert a step, drop one, or reorder them, and the root stops matching. That job-level record is the execution ledger form of the same idea, covered in the AI agent transparency log page.
What a trust receipt does not do
It does not grade the work. A receipt over a wrong answer verifies exactly as cleanly as a receipt over a right one, because the commitment is to the saved result, not to its quality. It does not authenticate the issuer by itself: the verify endpoint reports issuer authentication as not checked, and the provenance binding establishes that the stated class is consistent with the record's bytes, not who operates the system. And it does not reach outside the record: a call that ran somewhere else, outside the recorded path, has no trust receipt, and its result stands on the same testimony as ever. These limits are not fine print. They are what keep the claim worth making: a record that promises exactly what it can prove, and proves exactly what it promises.
The format underneath: AER-1
The receipts used in every section above follow one open format: AER-1, IETF Internet-Draft revision 23 (draft-zambo-aer1-23). AER-1 is an IETF Internet-Draft, not a finalized standard. It defines the per-step verifiable receipt and the workflow record that links receipts for a run, so a receipt produced in one place can be checked by a receiver somewhere else, with no account on the system that produced it and no cooperation from the operator who ran the agent. The trust discipline on this page is the operating pattern around the format: records at execution time, recompute at receiving time, claims judged against records.
To put receipts under your own agent's work: start with the live demo for a single checked call, then a Zambo Day Pass for a day of calls with a verifiable receipt under each one. The trust question itself, worked as a checklist, is in How can I trust my AI agent's work?
Questions, answered
What is an AI agent trust receipt?
It is a verifiable execution receipt doing the trust job in a handover. When agent work changes hands, the receiver needs a record they can rely on without relying on the agent or its operator. A trust receipt is that record: the call's inputs recorded, the saved result committed under a digest at execution time, the provenance class stated, and a public check that recomputes the commitments. There is no separate trust file format and no trust score. The trust comes from the checks the record passes, and any record that cannot be recomputed by a stranger is not a trust receipt yet, whatever it is called.
What makes a receipt trustworthy?
Five properties. The inputs are recorded, so the receiver can see what the call was actually asked to do. The saved result is committed under a digest at execution time, so changing it afterward breaks the record detectably. The provenance class is stated, so the receiver knows what kind of execution produced it. Verification is public and recomputable, so the check does not run on the presenter's say-so. And failures are recorded the same way as successes, so a missing or failed call leaves a visible mark instead of a gap nobody mentions. A record with all five can carry trust. A record missing any of them is asking for trust instead of earning it.
How do I check a trust receipt?
Open the receipt and read four things: the recorded inputs, the saved result, the output digest, and the provenance class. Then run the check: the public verify endpoint recomputes the digest from the saved result and compares it against the committed one, and reports each binding check separately. Then compare the saved result against what the agent claimed. Three outcomes are possible. The record verifies and matches the claim: trust that step. The record verifies but the saved result differs from the claim: the claim is wrong, and the record shows how. There is no record, or the only record is an error receipt: the step did not run as claimed, whatever the summary says.
Does a trust receipt prove the agent's work was correct?
No. A verifiable receipt proves the saved result was not changed since it was saved. It does not prove the result was correct, and it does not prove an external event happened beyond what the record itself shows. What it settles is the prior question: that this call ran, with these inputs, and produced this saved result at this time, in a form a receiver can recompute. Correctness is still a review judgment. The receipt's job is to make sure the review happens against the real record, not against a summary written by the process being reviewed.
Can a trust receipt be faked?
A presenter can fabricate a document that looks like a receipt, the same way anyone can fabricate a screenshot or a log excerpt. What they cannot do is make a fabricated document pass the check: verification recomputes the digest from the saved result and compares it with the committed digest and the bound metadata, and a fabricated or edited record fails that recompute. Two honest limits apply. The check proves the record is committed and unchanged; it does not by itself authenticate who issued it, and the verify endpoint reports issuer authentication as not checked. And a receipt only covers the call it records, which is why the failure case matters: a step with no receipt is a step with no trust record, and the check treats it that way.
What are AI agent trust receipts?
AI agent trust receipts are verifiable execution receipts doing the trust job when agent work changes hands: each one records the tool that ran, the time, the recorded inputs, and the saved result under a hash commitment computed when the call ran, so a receiver who was not there can recompute the commitment and rely on the record instead of on the agent's confidence. A step with no receipt has no trust record and stays a claim. The receipts prove the saved record was not changed since it was saved; they do not prove the work was correct.
AI agent trust receipts: the two-minute trust check
The problem: you are asked to trust work you did not watch, from an agent you did not supervise, on the strength of its own summary. AI agent trust receipts replace that ask with a check you can run yourself, and it takes about two minutes. One: ask for the job's record, the receipts bound in order by its workflow record, not a narrative about the job. Two: pick the two or three steps the whole delivery stands on. Three: for each one, open the receipt, recompute the commitment from the saved result, and read the saved result itself. Four: write down the split, steps that recompute and steps that stay claims, and let only the first group carry weight.
The check works because of when the record was made. Each receipt was fixed at execution time, so a result edited afterward fails its recompute, and a step that never ran has no receipt to show. The open format underneath is AER-1, published as IETF Internet-Draft draft-zambo-aer1-23. What the check settles is narrow: the saved record was not changed since it was saved. Whether the work was good remains your judgment, now made against results you verified instead of a summary you were handed.