How do you audit a multi-agent orchestration run?

By chaining every delegation into one verifiable evidence trail. A multi-agent run is a tree: a planner delegates to researchers, researchers call tools, tools return data. Auditing it means linking each parent call to its child calls with receipts minted at execution time, so the whole tree is checkable top to bottom. AER-1 receipts, published as an IETF Internet-Draft, carry the linkage fields that make the chain work.

Want the proof yourself? Run one free call and get a real verifiable receipt, no signup.

Need more than the free tier? $0.99 unlocks unlimited runs for 24 hours, no signup, no subscription.

Updated October 7, 2026.

Why orchestration breaks normal auditing

A single-agent run is a line: prompt in, tools called, answer out. A multi-agent orchestration is a tree that rewrites itself mid-run. The planner spawns three researchers; one researcher spawns a coder; the coder calls a shell tool seventeen times. By the end, dozens of agents touched the task and the only record is usually the planner's summary: done, here is the answer.

Three things go wrong. First, delegation is invisible: you see the final answer but not which sub-agent produced which part. Second, blame is unassignable: when the output is wrong, no record says which branch introduced the error. Third, cost is unattributable: the bill shows one run, not which branch burned the budget.

The receipt chain method

Give every call a receipt, and give every receipt a parent pointer. The method:

  1. Receipt per call. Every tool call by every agent in the tree mints a verifiable receipt at execution time: tool, caller, timestamp, inputs, outputs, SHA-256 commitment.
  2. Parent linkage. Each child receipt references the parent receipt that caused it. The planner's delegation receipt points to the researcher receipts; the researcher receipts point to the tool receipts.
  3. Tree verification. Walk the tree from the final answer down to the leaves, recomputing commitments at every node. A broken commitment marks exactly the branch that was tampered with. A missing child shows up as a gap.

The result is one evidence chain for the whole orchestration. The auditor does not read logs from twelve agents and stitch a story together. The chain is the story, and the math checks it.

What the chain answers

  • Which agent did what. Every output traces to the exact sub-agent and tool call that produced it.
  • Where it went wrong. A bad output walks back up its receipt chain to the exact call that introduced it.
  • What it cost. Every receipt can carry its cost, so the bill decomposes by branch, agent, and call.
  • Whether anything is missing. Sequence gaps at any level flag deleted or dropped sub-runs.

Swarm-scale version

Orchestration trees get wide fast. The swarm receipts guide covers evidence chains when dozens of agents run in parallel. Read the swarm guide.

How AER-1 supports chaining

AER-1 is a verifiable execution receipt format, published as the IETF Internet-Draft draft-zambo-aer1. Each receipt records the tool, the calling agent, the execution timestamp, canonical inputs and outputs, and a SHA-256 commitment, with fields for linking a child receipt to its parent. Implementations mint the chain automatically as the orchestration runs; the auditor verifies it with the public conformance vectors.

Chaining across vendors is proven: the AER-1 x Tanilo interop ran a full receipt chain with real values, verified end to end and double-verified by both sides.

Try a chained receipt

The live demo mints real AER-1 receipts, free, no signup. Run a call, then imagine every call in your orchestration carrying the same proof, linked to its parent.

Mint a receipt and see the chain primitive.