Connect Zambo where your AI already works
Receipts are not a feature a chat window grants you; they are made by the server that executes a tool call. So the setup is the same on every chat surface that supports MCP connectors: connect Zambo once, and the calls your AI makes through it start leaving receipts. The endpoint is https://zambo.dev/mcp, adding it is the same one paste for Claude, ChatGPT, Gemini, Cursor, VS Code, and Windsurf: zambo.dev/mcp, and connecting takes no API key.
From then on the loop is mechanical. Your AI calls a tool, the server executes it and captures the record at that moment (the tool, a hash of the arguments, the exact result bytes and their SHA-256, a timestamp), and the answer comes back with a receipt URL. Open the URL and you are looking at evidence instead of a summary: what ran, what it was given, what came back, in a form you can recompute yourself at zambo.dev/verify/.
On Grok: the Receipt Bot files them for you
If your agents run on Grok Bot, you do not have to wire anything per call. The Zambo Receipt Bot collects, verifies, and files a verifiable receipt for every job your bots do, on Grok or any AI with MCP, and then sends a short nightly digest of the receipt links. The record is waiting for you in the morning instead of being something you reconstruct after a run goes wrong, which is exactly when reconstruction fails. The bot's home page is zambo.dev/receipt-bot/.
That matters most for unattended work. A bot team that stalls at step one and says nothing has, without receipts, exactly one monitoring system: you, asking it in the morning. With every job filed as it runs, the nothing is right there in the record, a visible hole between timestamps that no summary can paper over.
Any chat, right now: the human path
Two honest limits before the path. A receipt cannot be created after the fact for work that already happened in an unconnected chat: the record has to be made when the call executes, and a retroactive one would be a story, not evidence. And a chat model's own summary of its work is never a receipt, however confident it sounds.
What you can do right now, in any browser, is see and check the real artifact: the live demo runs one real call through the MCP and mints a genuine verifiable receipt in about 10 seconds, free, no signup. Mint one, open it, recompute it. Then connect Zambo to the AI you actually work in, and the same object starts appearing on your real jobs. A Day Pass ($0.99) keeps every call receipted for 24 hours once you are past trying it out.
One record that outlives the chat
Because receipts are portable, the record does not reset when you switch AIs. A job started in one assistant can be handed to another as a chain of receipts the new one verifies mechanically before continuing, and a multi-step job binds into one workflow record with a single root. That is the continuity story told in full in cross-AI memory and continue work when switching AI models: state tells the next AI what to do, receipts tell it what is true. Builders wiring this inside agent frameworks have their own versions of this page: CrewAI crews and LangChain agents.
Receipts for AI chat work: FAQ
How do I get a receipt for work my AI did in ChatGPT?
Connect Zambo to ChatGPT as an MCP connector: the endpoint is https://zambo.dev/mcp, and adding it takes the same one paste in every major client. From then on, work ChatGPT does through Zambo's tools returns its result plus a verifiable receipt at a public URL, captured when the call executes. Work ChatGPT did before you connected, in a chat with no connector involved, has no receipt and cannot be given one honestly afterwards, because a receipt is made at execution time, not reconstructed from a transcript. To see exactly what one looks like, the live demo at zambo.dev/demo/ mints a real receipt for one call, free, no signup.
Can Claude give me a receipt for its work?
Claude can give you an account of its work, and that account is testimony: it can be confident, incomplete, and wrong in ways the chat itself cannot detect. A receipt is a different object. It comes from the executing layer, not the model's summary. Connect Zambo to Claude as an MCP connector and the calls Claude makes through it are captured at execution time: the tool, a hash of the arguments, and the exact result bytes, committed under SHA-256 and published at a URL anyone can fetch and recompute. So the practical answer is: Claude plus a receipt-issuing connector gives you receipts; Claude alone gives you its word.
How do I get receipts from a Grok agent?
Two ways. For a Grok setup you control, connect Zambo's MCP (endpoint https://zambo.dev/mcp) so the agent's tool calls execute on a receipt-issuing server and each one returns a verifiable receipt as it runs. For bots running on Grok Bot, use the Zambo Receipt Bot: it collects, verifies, and files a verifiable receipt for every job your bots do on Grok or any AI with MCP, then sends a short nightly digest of the receipt links. Either way you end up with the same artifact: a public URL whose record you, or anyone you hand it to, can check by recompute.
Can I keep one record across different AIs?
Yes. A receipt is deliberately not tied to the chat that produced it: it is a portable record in the open AER-1 format (an IETF Internet-Draft), published at a public URL with everything a verifier needs to recompute its commitments. Work done in Claude can be handed to ChatGPT or Grok as evidence instead of a summary, a multi-step job binds its step receipts into one workflow record with a single root, and the record stays checkable after you have switched tools entirely. The record follows the work; the chats are interchangeable. How the pieces fit together is covered in the cross-AI memory guide.