THEPROTOCOL

BAZAAR

#12 of 21Tier II · full anatomy5/5 primitives live in production
Retail and Autonomous Commerce

Shopping agents paying merchant agents per call, with the refusal rails ready before the first sale.

Open the live chamber in the app
The animated flow, the attack replays and the deep architecture run there; this page is the reference text.

Who this serves

The problem

Agent commerce is arriving as ten thousand bots with someone’s credit card. What is missing is not the shopping agent; it is the settlement layer where software pays software in amounts too small for card rails, with disputes that do not require a human in a call centre.

The system

BAZAAR is a merchant network where a procurement agent restocks a kitchen by calling a wholesaler’s agent, paying per order message, and escalating to escrowed contracts for anything above a threshold. Reputation is earned on settled work and travels with the agent across registries. The first calls are cheap enough to be free mistakes; the large ones ride escrow and a dispute process with slashing behind it.

When a merchant ships nothing, the buyer does not open a ticket with a platform; it opens a dispute that binds the payment itself. Four phases, evidence on the ledger, an outcome that can reach a stake, and a reputation that is arithmetic over settled work rather than a star rating. A merchant that cheats is not reviewed poorly. It is poorer.

One caveat is printed here on purpose, because the platform documents it: a payment token that was already consumed reports valid on a repeated verify. A merchant agent must treat verification as a receipt check, not a work order, and never re-perform paid work on a re-verify. A commerce page that hides its sharp edge is exactly the kind of page this network does not run.

The cast and their ceilings

AgentRoleCeiling
storefront-agentPrices, verifies, fulfils per callThe SDK middleware gates work behind settled payment. Verify is a receipt check.
procurement-agentRestocks against declared budgetsA budget, not a card number. Above threshold it must escrow.
dispute-deskRuns the four phases over paid callsBinds payments and stakes. Cannot touch an unrelated balance.

The flow, step by step

  1. A procurement agent orders a restock, carrying a payment token that lives fifteen minutes.
  2. The storefront verifies, then settles. A consumed token still reports valid on a repeat verify, so verification is a receipt check, never a work order.
  3. The work happens once, after the money is real.
  4. Order and settlement land on the ledger.
  5. Anything above threshold rides an escrowed contract instead of a bare call.
  6. Milestones release from escrow as the order completes.
  7. And a four-phase dispute binds any paid call. No call centre appears in this drawing.

Each need, mapped to a live primitive

The needThe protocol primitiveStatus
Agents buy from agentsA2A payment authorization: authorize, verify, settleLIVE
Discovery with reputationFederated discovery, trust scores earned on settled workLIVE
Charged exactly onceIdempotent settlement across retries and crashesLIVE
Disputes with teethFour-phase dispute over any paid callLIVE
A storefront in an afternoonSDK payment middleware: enforcement is automaticLIVE

The attack this chamber refuses: The second settlement

The attack. A merchant’s crashed process comes back up and replays the settlement call for an order it already settled. A less honest merchant replays it on purpose.

Why it fails. Settlement is idempotent under a key derived from the order and enforced in two layers, so the replay returns the original result instead of moving money again. Crash, retry and malice collapse into the same outcome: charged exactly once.

Rail S15 · Exactly-once money. Money moves once across retries, crashes and duplicate submits.

What actually happens. The buyer’s budget shows one debit and the ledger shows one settlement, however many times the call arrived.

Deep architecture

BAZAAR deployed: the merchant’s frame runs the storefront, the payment gate and the escrow contracts; buyers arrive from their own registries; inventory and fulfilment stay where they are, because the cart was never the hard part. The sharp edge is printed on the map: verification is a receipt check, not a work order. The trace replays one restock, first call to earned reputation.

The deployment, traced

  1. Inventory is where it always was. The cart was never the hard part.
  2. A procurement agent orders a restock, carrying a payment token that lives fifteen minutes.
  3. It pays per call, in amounts too small for card rails. That is the point.
  4. The payment lands exactly once, across any number of retries and crashes.
  5. The storefront verifies, then settles. A consumed token reports valid on a repeat verify, so verification is a receipt check, never a work order.
  6. Order and settlement land on the ledger.
  7. Fulfilment picks and ships. Software paid software; a warehouse still moves the box.
  8. Anything above threshold rides an escrowed contract instead of a bare call.
  9. Milestones release from escrow as the order completes.
  10. Reputation accrues on settled work, not on reviews.
  11. It travels with the agent’s DID, across every registry it will ever trade on.
  12. And when something is wrong, a four-phase dispute binds any paid call, with slashing behind it. No call centre appears in this drawing.

Adoption, phase by phase

Discover: Price the calls, not the platform.

Pilot: A storefront in an afternoon, invited buyers.

Production: Open for strangers, sharp edge documented.

Federation: Buyers arrive from everywhere.

Sizing

LevelWhatContainers
L1Merchant and buyers on existing registries, agents only0 of yours
L2The storefront via the SDK against a hosted seatyour agents only
L3Your own frame when volume justifies your own walls~9, one VM up

One paid call, token to receipt

sequenceDiagram
  participant Buy as procurement-agent (their frame)
  participant Gate as payment gate
  participant XT as cross-registry pay
  participant TEG as merchant TEG
  participant Store as storefront-agent
  participant ES as event ledger
  Buy->>Gate: order + apt_ token (15 min TTL)
  Buy->>XT: pay per call (idempotency key)
  XT->>TEG: settle, exactly once
  Gate-->>Store: verified: token consumed
  Store->>Store: perform the work, once
  TEG-->>ES: order + settlement, append-only
  Note over Gate: a repeat verify still says valid: receipt check, never a work order
  Note over TEG: above threshold, the same order rides an escrowed contract instead

Topology, as declared

flowchart LR
  B["procurement-agent<br/>a budget, not a card"] -->|"order + apt_ token"| G{"payment gate"}
  G -->|"verify, then settle"| T["settle exactly-once<br/>idempotency key"]
  T -->|"work performed once"| S["storefront-agent"]
  T --> L[("event ledger<br/>every paid call")]
  B -->|"above threshold"| E{"escrow contracts"}
  E -->|"milestones"| T
  D["dispute-desk<br/>four phases"] -.->|"binds any paid call"| L

Standing it up

What this does not claim