← Hub

AdCP — buyer ↔ seller ↔ TRACT

Two buyers transact with one seller over the AdCP protocol. The first uses TRACT's attestation rail; the second skips it. The contrast is the point of the demo.

What you're watching

  1. TRACT engine boots on :8080 (memory store) and a seller agent comes up on :8181.
  2. A buyer agent invokes the seller twice. First, mb_demo_attested runs the full flow — buyer and seller submit their counts; TRACT's attested count is the ground truth they settle against. Then mb_demo_terms runs with --skip-attestation — counts diverge, and the trade deadlocks at terms_based / discrepant.
  3. The auditor console exposes the resolved state for each deal so a reviewer can see the difference directly.

What it proves

Settlement is structural, not discretionary. When both sides post evidence to TRACT, divergent counts converge on an attested truth they both agreed to honour. When they don't, the protocol surfaces the disagreement instead of papering over it.