Direct answer
Add execution receipts to an OpenAI Agents SDK agent
The Agents SDK traces your runs, and a trace is a log the platform writes about itself. To give an agent's work proof that survives outside that dashboard, route its tool calls through the Zambo MCP at https://zambo.dev/mcp: the SDK accepts MCP servers, and every call made through Zambo saves its result and leaves a verifiable AER-1 receipt as it runs, checkable by anyone, free, with no OpenAI account.
Updated October 20, 2026.
The honest starting point: a trace is the platform's word for itself
The OpenAI Agents SDK gives you tracing: a record of runs, spans, and tool calls, viewable in the vendor's dashboard. That is genuinely useful for debugging, and it is not evidence. The trace is written by the platform being checked, kept on the platform's infrastructure, shown to people with the right account, and exportable in forms a checker has to take on trust. If a client, an auditor, or a partner disputes what your agent did, a screenshot of a trace view settles nothing, because nothing in it lets them recompute a single step.
A receipt is built to settle exactly that. When a tool call runs through the Zambo MCP, the result is saved as it comes back and a fingerprint is fixed over it at execution time. Later, anyone can recompute the fingerprint from the saved result at zambo.dev/verify. If the saved result was edited, the fingerprint no longer matches and the check fails in public. The record lives outside your agent, outside the SDK, and outside the vendor's dashboard, which is the property a trace does not have.
Route 1: connect Zambo as an MCP server
The Agents SDK can use tools from MCP servers, and Zambo is one URL: https://zambo.dev/mcp, no key. Add it to your agent's toolset the way you would add any MCP server, and the calls your agent makes through it, the searches, fetches, data pulls, and writes among its 153 tools, each leave a receipt in run order. The receipts accumulate into the run's chain: which tool ran, what it was given, what it returned, when, and where the call sits in the sequence. Steps your agent takes through its own function tools or other servers leave no Zambo receipt, so route the steps someone will later want to check: the retrievals a report leans on, the writes that change state, the sends that leave the building.
That selectivity is a feature, not a chore. A checked run does not need every internal step recorded; it needs the claims someone will dispute to have receipts underneath them, and the unrecorded steps to be visibly unrecorded. A record that shows its own gaps is the kind a checker believes.
Route 2: the direct pattern for high-stakes calls
For the calls that carry the most risk, a payment staged, a record deleted, a message sent to a customer, call the Zambo tools directly from your harness code around the SDK run, instead of leaving them to the model's discretion. The pattern is simple: before the agent acts, decide which actions require receipts; execute those through the MCP; keep the receipt links with the run's output. Your agent keeps its normal architecture, and the actions that matter produce the evidence as a byproduct of running, not as a report someone writes afterward.
Checking the run afterwards
After a run, the receipts are the audit surface. This is the honest answer to the OpenAI Agents SDK audit log question: the SDK's own logs and traces tell you what the platform recorded, while the receipt chain lets a stranger verify what the tools returned. Work through it in order. For each step someone is relying on, open its receipt, recompute the fingerprint at zambo.dev/verify, and read the saved result itself rather than the agent's summary of it. Then check the chain for gaps: a claimed step with no receipt is an unverified step, and the record makes that visible instead of smoothing it over. For a client delivery, gather the run's receipts into one handover link at zambo.dev/handover and send that; the client checks the work in a browser, with no account on your tools.
OpenAI Agents SDK proof of execution and proof of work
The two phrases people search for name the same record from two sides. OpenAI Agents SDK proof of execution is the developer's view: evidence that the run's tool calls executed and returned what the receipts say they returned. OpenAI Agents SDK proof of work is the buyer's view: the record you hand a client so they can check the deliverable's foundations themselves. Both are served by the receipt chain, and neither needs screenshots: the checker opens links, not images of your dashboard. The open source point matters for longevity: AER-1 is a public IETF Internet-Draft (draft-zambo-aer1-24) with an open conformance kit, so an OpenAI Agents SDK proof of execution in this format can be checked by independent implementations long after any particular dashboard has changed.
What it costs
Checking receipts is free, for anyone, forever: zambo.dev/verify needs no account. Recording work through the Zambo MCP starts inside the daily free allowance on metered tools (the allowance varies by tool). A Day Pass at $0.99 covers 24 hours of full access for heavy runs, and the Zambo Pass is $29 a month or $290 a year, with a $19 a month holder tier. The person checking your agent's work never pays anything, which is deliberate: evidence that costs the checker money does not get checked.
Honest limits
A receipt proves the saved result of a call was not changed since it was saved. It does not prove the result was correct, the agent's reasoning was sound, or the run was a good idea. Calls made outside the Zambo connection, including the SDK's own built-in tools and your function tools, leave no receipt unless you route them through the record. And nothing here makes the Agents SDK's traces useless: keep them for debugging. Use receipts for the different job of convincing someone else.
Frequently asked questions
How do I add receipts to an OpenAI Agents SDK agent?
Connect the Zambo MCP at https://zambo.dev/mcp as an MCP server in your agent's toolset; the Agents SDK accepts MCP servers, and every call your agent makes through Zambo then saves its result and leaves a verifiable receipt as it runs. Route the steps someone will later check, the retrievals, writes, and sends, and keep the receipt links with the run's output. Anyone can later check any receipt free at zambo.dev/verify.
Does the OpenAI Agents SDK have an audit log?
It has tracing: the platform records runs and tool calls in its own dashboard. That is a log, written by the system being checked and readable with the right account, which makes it good for debugging and weak as evidence. A receipt chain is the audit surface a stranger can use: each call's saved result carries a fingerprint fixed at execution time, recomputed by anyone at zambo.dev/verify, so an edited result fails the check in public.
What is OpenAI Agents SDK proof of execution?
It is a checkable record that the run's tool calls executed and returned what they are claimed to have returned. When the calls run through the Zambo MCP, each leaves an AER-1 receipt with the tool, the inputs, the saved result, and its place in the chain. A checker recomputes each fingerprint free at zambo.dev/verify and reads the saved results instead of the agent's summary. Proof of execution shows the record was not changed after the fact; it does not certify the work was correct.
Can I show a client proof of my agent's work without screenshots?
Yes. Gather the run's receipts into one handover link at zambo.dev/handover and send that. The client opens the saved result behind each step in a browser and can run any receipt through zambo.dev/verify free, with no account on your tools and no access to your OpenAI dashboard. Steps that ran outside the record show as unchecked, which is what makes the checked steps believable.
How much does it cost to record an Agents SDK run?
Checking is always free. Recording starts inside the daily free allowance on Zambo's metered tools, and a Day Pass covers 24 hours of full access for $0.99; the Zambo Pass is $29 a month or $290 a year, with a $19 a month holder tier. A run's receipts cost the same to check whether the run was recorded on the free allowance or a paid tier, because the receipt format does not change with the tier.