Test storeBusiness accounts only. Test accounts and test cards, nothing ships.All sandbox stores
FernwayWholesale
Store analytics

How agents use Fernway Wholesale

This is a test store that anyone's AI agent can shop. These figures come from the store's own request log for the last 30 days. They are shares and timings only: no agent is named unless it proved who it is, and no search text is shown.

Store v1 · UCP 2026-08-25 · worked out 4 Nov 2026, 08:00 UTC, refreshed hourly

Did agents say who they are, and prove it?

Of every session that wasn't a browser. An agent can name itself with a UCP profile or a bot user agent; it proves it by signing its requests with keys it publishes.

67%said who they werea UCP profile or a named bot
13%proved itsignature checked out
  • Proved 13%
  • IP-checked crawler 23%
  • Said, not proved 31%
  • Said nothing (scripts) 33%

Browsers are counted on their own in the grid: a browser rarely says what it is. How we decide each level

Who arrived, and through which door

Share of all requests, by door and by how much the sender proved. Darker means more. Discovery files are counted inside the door they were read from. Crawler addresses are checked from 3 Nov 2026; crawlers before that count as declared.

DoorVerifiedsignature checked outIP-checkedcrawler from its operator's rangesDeclared, unprovennamed itself, no valid signatureBrowserperson or agent: owner consoleScriptcurl, python, no user agentAll
Storefront pages 2%5%14%16%3% 39%
UCP over REST 1%—1%2%37% 41%
UCP over MCP 16%—3%1% signature failed —<1% 19%
UCP over A2A Too few requests to split 2%
All doors20%5%18%18%40%100%
  • Verified
  • IP-checked
  • Declared
  • Browser
  • Script
Storefront pages39%
Browser 16% · declared 14% · IP-checked 5% · Script 3% · verified 2%
UCP over REST41%
Script 37% · Browser 2% · verified 1% · declared 1%
UCP over MCP19%
verified 16% · declared 3% (1% signature failed) · Script <1%
UCP over A2A2%
Too few requests to split

How we decide each level

Discovery and negotiation: what agents read first

Share of reads of the store's discovery files

A2A agent card 34%
/.well-known/ucp the UCP profile34%
OAuth metadata 15%
/mcp tool list, read before a call8%
/robots.txt 6%
/llms.txt 2%
/ucp/openapi.json 1%
Read the store profile firstThe first request was discovery: the profile, the tool list or llms.txt71%

Offered vs used

What the store's UCP profile offers, and the share of agent sessions that used each

TransportIn the UCP profileUsed byPaid
UCP over RESTYes23%—
UCP over MCPYes6%14%
UCP over A2AYes<1%100%

The rest of sessions used storefront pages only (72%). A transport can be offered and still hardly used; that is a fact about agents today, not a fault in the store.

One journey, start to finish

The latest paid journey from a verified agent. Requests from the same agent are joined into one journey when they share a signer or a UCP profile, across every door.

A verified agent Verified · UCP request signature UCP over MCPUCP over A2A 3 Nov, 14:02 UTC · 63 requests · 42 min 56 s

Discovery and negotiation

  1. +0 s MCP initialize · notifications/initialized · tools/list · initialize · notifications/initialized · tools/list 1274 ms

Search and pick

  1. +1:00 MCP search_catalog × 3 results found 1450 ms

Checkout

  1. +1:14 MCP create_cart answered identity_required 190 ms

Discovery and negotiation

  1. +13:48 MCP initialize · notifications/initialized · tools/list 1408 ms

Search and pick

  1. +14:01 MCP search_catalog × 2 results found 1200 ms

Discovery and negotiation

  1. +14:42 MCP initialize · notifications/initialized · tools/list · initialize · notifications/initialized · tools/list 1488 ms

Checkout

  1. +15:29 MCP create_checkout answered missing 1049 ms
  2. +15:37 MCP update_checkout ready to pay 517 ms

Discovery and negotiation

  1. +19:37 MCP initialize · notifications/initialized · tools/list 738 ms

Search and pick

  1. +19:46 MCP search_catalog results found 742 ms

Checkout

  1. +19:55 MCP create_checkout answered missing 422 ms
  2. +20:06 MCP update_checkout ready to pay 437 ms

Discovery and negotiation

  1. +22:20 MCP initialize · notifications/initialized · tools/list 757 ms

Search and pick

  1. +22:31 MCP search_catalog results found 1078 ms

Checkout

  1. +22:38 A2A create_checkout answered missing 506 ms
  2. +22:46 A2A update_checkout ready to pay 520 ms

Discovery and negotiation

  1. +24:36 MCP initialize · notifications/initialized · tools/list 630 ms

Search and pick

  1. +24:42 MCP search_catalog results found 780 ms

Checkout

  1. +24:47 MCP create_cart answered identity_required 308 ms

Discovery and negotiation

  1. +33:31 MCP initialize · notifications/initialized · tools/list 716 ms

Search and pick

  1. +33:40 MCP search_catalog results found 883 ms

Checkout

  1. +33:46 MCP create_cart answered identity_required 229 ms
  2. +33:50 MCP create_checkout answered identity_required 342 ms

Discovery and negotiation

  1. +36:36 MCP initialize · notifications/initialized · tools/list 626 ms

Search and pick

  1. +36:45 MCP search_catalog results found 864 ms

Checkout

  1. +36:51 MCP create_checkout answered missing 502 ms
  2. +37:01 MCP update_checkout ready to pay 495 ms

Discovery and negotiation

  1. +42:23 MCP initialize · notifications/initialized · tools/list 679 ms

Search and pick

  1. +42:33 MCP search_catalog results found 989 ms

Checkout

  1. +42:38 A2A create_checkout answered missing 389 ms
  2. +42:45 A2A update_checkout ready to pay 490 ms

Who shops here

Share of sessions. An agent is named only when it signed its requests with keys it publishes and the signature checked out, and it visited at least 3 times. Everyone else is grouped.

Browsers56%
Search crawlers and bots18%
Scripts and tools15%
Declared a profile, not verified5%
Other verified agents5%

Did agents prove who they are?

Of the sessions from agents (not browsers or crawlers)

Signed their requestsHTTP Message Signatures: Web Bot Auth or UCP request signatures25%
Signature checked outAgainst the keys the agent publishes21%
Signed, signature failedDeclared who it is but couldn't prove it, for example the keys couldn't be fetched4%
Declared a profile onlySaid who they are without proving it75%

The store answers every agent, signed or not. Checking signatures began on 3 Oct 2026.

How far sessions got

Share of sessions reaching each step

Sessions100%
Searched6%
Viewed a product26%
Created a checkout1%
Ready to pay1%
Paid test order1%

Where sessions ended

Every session ends in exactly one of these

Never searched69%
Viewed, did not add25%
Searched, picked nothing5%
Paid1%

How agents connected

Share of sessions by door, and the share of each that paid

Storefront pages72% 0% paid
UCP over REST23% 0% paid
UCP over MCP5% 17% paid

Search

Which result agents go on to open or add

Too few picks to show a split yet.

Protocol calls

By operation, for operations called often enough to show. 95.9% of all calls succeeded. A call fails when the store answers with an HTTP error or a protocol error.

OperationSucceededTypicalSlowest 5%
GET /.well-known/agent-card.json100%222 ms277 ms
GET /.well-known/ucp100%209 ms605 ms
search_catalog81%374 ms989 ms
tools/list100%221 ms271 ms
GET /.well-known/oauth-protected-resource100%229 ms661 ms
initialize100%225 ms283 ms
GET /.well-known/oauth-authorization-server100%214 ms565 ms
notifications/initialized100%232 ms305 ms

Errors agents ran into

Share of the error answers the store gave, by code

identity_requiredThe store answered with this error code40%
missingA required checkout field was not sent33%
capabilities_incompatibleThe store answered with this error code13%
profile_unreachableThe store answered with this error code13%

Agent habits

Things a store can't see on a normal analytics page

Sent an idempotency key on writesA retry cannot make a second checkout43%
Calls to a paid orderTypical number of requests in a session that paid63
Got stuck repeating a failing callSessions that sent the same failing call 3 times or more0%

A session is one agent's requests with no gap longer than 30 minutes, joined across doors by a signer, a UCP profile, or a hash of network and user agent whose salt changes every day. Sessions under a scenario host (for example trade-slow) are included. How this page decides who arrived. Run your own version of this on a private copy of the store: how the sandbox works.