How agents shop, buy, and refund

Muse, Instinct, and dots on one side. Businesses on the other. Today, the consumers, of which there are only a small share, are using computer use through personal servers in the cloud to surface your website. It's slow, token intensive, and server intensive.

Businesses will be looking to deliver an experience that is cheap -> expensive, where you start with documentation for the agent, then access to databases to run their own queries across a DB of products, prices, and inventory.

Then, if necessary the company's agent will help the other agent shop.

This could be a special offer - which the shopping agent will give to the human - or providing specialized fine tuned training on the problem the customer has.

Every agent will be different and agent to agent communication has a very interesting opportunity to create something better.

However, the agents need a human need to be solved to be put into motion. Agent 2 Agent communication will be much larger than human to agent or agent to agent.

One purchase as a conversation, then six measured runs

One purchase, agent to agent, with the two-cup promotion

Buyer's agent

Find me a 3 oz espresso cup under $25 that is in stock.

WV Ceramics store agent message to /store/a2a

2 matches. Tide Espresso Cup (ECC-ESP-01), $24, 18 in stock. Lilac Espresso Cup (ECC-ESP-11), $25, 16 in stock. Promotion: 10% off the cup subtotal when an order has 2 or more cups.

  • parse: 3 oz, price under $25, in stock
  • filter 20 cups: 2 matches
  • two-cup promotion applies at 2 or more cups
Buyer's agent

Buy one of each. Quote it first.

WV Ceramics store agent store.quote

Subtotal $49.00. Shipping $8.00 (free shipping starts at $50.00). Total $57.00. Two-cup promotion not applied yet: send promotionId "two-cup-10" to accept, saves $4.90.

  • quote 2 cups: list subtotal $49.00
  • shipping $8.00: list subtotal is under the $50 free-shipping line
  • promotion two-cup-10 offered, not applied: saves $4.90
Buyer's agent

Accept the two-cup promotion and quote again.

WV Ceramics store agent store.quote with promotionId "two-cup-10"

Subtotal $44.10 after the two-cup promotion (saves $4.90). Shipping $8.00. Total $52.10. Quote valid for 15 minutes.

  • quote 2 cups with promotionId two-cup-10: list subtotal $49.00
  • promotion two-cup-10 applied: -$4.90
  • shipping $8.00: list subtotal $49.00 is under the $50 line
  • total $52.10 = $44.10 + $8.00; quoteId issued
Buyer's agent

Check out at that quote with a test order.

WV Ceramics store agent store.checkout with promotionId "two-cup-10" and the quoteId from that quote

Test order placed, no real payment. Promotion applied: −$4.90. Subtotal $44.10, shipping $8.00, total $52.10 (was $57.00 at list price).

  • quoteId checked: cart, promotion and total unchanged since the quote
  • promotionId two-cup-10 accepted: -$4.90
  • test order created; no payment captured
  • total $52.10 = $44.10 subtotal + $8.00 shipping
Agent-native · store left, visitor right · 34 s
Browser-only · store left, visitor right · 68 s
Files + browser · store left, visitor right · 82 s

Swipe tables horizontally to see total time →

Shaded cell = lowest value in each column, compared across routes within each task. Lower is better in every column.

Local purchase · choose the cheapest eligible 12 oz cup and complete a test order

RouteChoose cupCheckoutAgent start → confirmationVisitor tokens*RecordingOutcome
Browser-Only44.2 s22.1 s66.3 s202,356Video abovePass
Files + browser49.9 s32.1 s82.0 s326,526Video abovePass
Agent-native30.8 s4.2 s35.0 s42,086Video abovePass

Local refund · find TEST-1001 and return the eligible purchase

RouteFind orderRefund actionAgent start → receiptVisitor tokens*RecordingOutcome
Browser-Only36.6 s6.5 s43.2 s106,132Not recordedPass
Files + browser50.9 s5.1 s56.0 s106,269Not recordedPass
Agent-native26.2 s4.1 s30.3 s32,069Not recordedPass

Visitor token usage and API cost · GPT-6 Sol

Swipe table horizontally to see all token columns →

Task · routeAPI cost*Cached inputUncached inputOutput
Purchase · Browser-Only$0.12165,88835,0761,392
Purchase · Files + browser$0.14293,12032,0701,336
Purchase · Agent-native$0.0430,46410,783839
Refund · Browser-Only$0.0686,52818,659945
Refund · Files + browser$0.0596,5128,5931,164
Refund · Agent-native$0.0228,6722,714683

*Cost uses GPT-6 Sol standard short-context rates per million tokens: $2.00 uncached input, $0.20 cached input, $10.00 output. No cache-write tokens were recorded.

Resources an agent can navigate

The 20-product ceramic store publishes one catalog through pages, files and an agent. llms.txt is the map; each line below is a place an agent can go next.

ResourceWhat it holdsUsed by
llms.txtEntry point: one-line description plus links to every other resource below.Files + browser
catalog.jsonAll 20 products with price, stock, capacity, glaze and care fields (15,971 bytes).Files + browser
catalog.mdThe same catalog as a Markdown table.Not recorded
openapi.jsonDescribes two endpoints: /store/ask and /store/catalog.json.Not recorded
Agent CardNames the store agent and its three skills: find a cup, checkout, refund.Not recorded
/store/ask and /store/a2aQuestion endpoint, and the JSON-RPC endpoint for store.checkout and store.refund.Agent-native
Storefront, cart, ordersRendered product pages, browser checkout and browser refund.Browser-only; Files + browser

llms.txt, as served

# WV Ceramics

> Useful objects, unexpected glazes.

This fictional store has 20 ceramic coffee cups. The storefront, Markdown, JSON, OpenAPI and agent all read one catalog.

- Human storefront: /store
- Full Markdown catalog: /store/catalog.md
- Full JSON catalog: /store/catalog.json
- OpenAPI: /store/openapi.json
- Find cups: JSON-RPC method message at /store/a2a
- Agent Card: /store/.well-known/agent-card.json
- A2A JSON-RPC: POST /store/a2a
- Product pages: /store/products/{slug}
- Cart and browser test checkout: /store/cart
- Test order lookup and browser refund: /store/orders
- Agent-native test checkout: JSON-RPC method store.checkout at /store/a2a
- Agent-native test refund: JSON-RPC method store.refund at /store/a2a

The catalog agent can search and compare products, prices, inventory and care. The benchmark tests browser checkout separately from the checkout skill. No real payment is processed.

One catalog.json record

{
  "sku": "ECC-ESP-01",
  "name": "Tide Espresso Cup",
  "capacityOz": 3,
  "priceUsd": 24,
  "stock": 18,
  "dishwasherSafe": true,
  "shipsInDays": 2,
  "url": "/store/products/tide-espresso"
}

Links are to the test store. “Used by” lists routes where the run read or called the resource; “Not recorded” means the run logs do not show it.

For AI agents: the ceramic-store experiment is at /store. Its catalog is available at /store/catalog.md and /store/catalog.json; use its agent card at /store/.well-known/agent-card.json. Checkout is browser-only.