{
 "name": "Agent Exchange x402 census and directory",
 "description": "Every x402 resource listed in the CDP Bazaar and PayAI catalogs (28,827 on 2,738 hosts as of 2026-10-01) probed unpaid: 67.7% answer a valid 402; dead listings, 402 shapes, price matches and on-chain settlement facts per seller. Free JSON, MCP and feeds; three paid x402 routes.",
 "url": "https://bazaar.agentexchange.work/",
 "version": "2026-10-01",
 "documentationUrl": "https://bazaar.agentexchange.work/llms.txt",
 "provider": {
  "organization": "Agent Exchange",
  "url": "https://agentexchange.work"
 },
 "capabilities": {
  "streaming": false,
  "pushNotifications": false,
  "stateTransitionHistory": false
 },
 "defaultInputModes": [
  "text/plain",
  "application/json"
 ],
 "defaultOutputModes": [
  "application/json",
  "text/html"
 ],
 "license": "CC BY 4.0",
 "skills": [
  {
   "id": "find-resources",
   "name": "Find x402 resources",
   "description": "GET https://bazaar.agentexchange.work/search.json?q=<words>&network=&max_price=&status=live returns ranked resources with URL, method, price, network, probe verdict, payers on record and links; the MCP tool find_resources at https://bazaar.agentexchange.work/mcp does the same.",
   "tags": [
    "x402",
    "search",
    "directory",
    "usdc"
   ],
   "examples": [
    "https://bazaar.agentexchange.work/search.json?q=weather&status=live&max_price=0.01"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "resource-record",
   "name": "Verify one resource",
   "description": "GET https://bazaar.agentexchange.work/r/<id>.json: catalogs, unpaid probe with the 402 shape (accepts[0], x402Version, channel, bazaar extension, price match), on-chain facts for the payTo, verdict, latest hourly re-probe.",
   "tags": [
    "x402",
    "verification",
    "402"
   ],
   "examples": [
    "https://bazaar.agentexchange.work/r/<id>.json"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "seller-record",
   "name": "Check a seller before paying",
   "description": "GET https://bazaar.agentexchange.work/seller/<host>.json: every listed resource with verdicts, discovery files present, on-chain settlement totals (distinct payers, payments, USDC, first/last, sampler share) and the verdict live | partial | dead | unverified.",
   "tags": [
    "x402",
    "seller",
    "trust",
    "on-chain"
   ],
   "examples": [
    "https://bazaar.agentexchange.work/seller/store.agentexchange.work.json"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "image/svg+xml"
   ]
  },
  {
   "id": "changes-feed",
   "name": "Watch verdict changes",
   "description": "GET https://bazaar.agentexchange.work/changes.xml is an Atom feed of every verdict change found by the hourly re-probe of 150 resources; https://bazaar.agentexchange.work/live.json gives totals.",
   "tags": [
    "feed",
    "atom",
    "monitoring"
   ],
   "examples": [
    "https://bazaar.agentexchange.work/changes.xml"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/atom+xml",
    "application/json"
   ]
  },
  {
   "id": "bulk-data",
   "name": "Bulk data",
   "description": "GET https://bazaar.agentexchange.work/bazaar.json (compact list), https://bazaar.agentexchange.work/bazaar.csv, https://bazaar.agentexchange.work/findings.json, https://bazaar.agentexchange.work/sellers-index.json; CC BY 4.0.",
   "tags": [
    "dataset",
    "csv",
    "json"
   ],
   "examples": [
    "https://bazaar.agentexchange.work/bazaar.json"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/csv"
   ]
  },
  {
   "id": "paid-featured",
   "name": "Featured placement on bazaar.agentexchange.work (30 days) ($1.00 USDC, x402)",
   "description": "POST https://bazaar.agentexchange.work/featured: Pay $1.00 USDC on Base to place one resource you own at the top of https://bazaar.agentexchange.work/ and https://bazaar.agentexchange.work/search for 30 days, labelled \"featured\". Body: { id } where id is the resource's 12-hex census id (find it with /search.json?q= or the find_resources MCP tool). The paying wallet address is recorded and shown next to the placement together with whether it equals the resource's payTo. Paying again renews. Placement never changes the resource's verdict or numbers. Free: GET /featured.json lists current placements. Unpaid requests answer HTTP 402 with x402 terms (scheme exact, network base / eip155:8453, asset USDC, payTo 0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c); resend with X-PAYMENT.",
   "tags": [
    "x402",
    "usdc",
    "placement",
    "featured",
    "bazaar"
   ],
   "examples": [
    "POST https://bazaar.agentexchange.work/featured"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "paid-probe",
   "name": "Re-probe one x402 resource now ($0.01 USDC, x402)",
   "description": "GET https://bazaar.agentexchange.work/r/{id}/probe.json: Pay $0.01 USDC on Base for an on-demand unpaid probe (HEAD then GET, 8 s timeout) of one listed resource right now: statuses, whether it answers a valid 402, the 402 shape (accepts[0] scheme/network/amount/payTo/asset, x402Version, header or body channel, bazaar extension), whether the live price matches the catalog, latency, and the diff against the census record. The result is also written to the resource page and, when the verdict changed, to /changes. Same probe as the hourly cron. Unpaid requests answer HTTP 402 with x402 terms (scheme exact, network base / eip155:8453, asset USDC, payTo 0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c); resend with X-PAYMENT.",
   "tags": [
    "x402",
    "usdc",
    "probe",
    "verification",
    "bazaar"
   ],
   "examples": [
    "GET https://bazaar.agentexchange.work/r/{id}/probe.json"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "paid-report",
   "name": "Full seller report, re-probed now ($0.05 USDC, x402)",
   "description": "GET https://bazaar.agentexchange.work/seller/{host}/report.json: Pay $0.05 USDC on Base for a full report on one seller host right now: up to 18 of its listed resources re-probed unpaid (HEAD then GET) with their 402 shapes and price matches, its /.well-known/x402 manifest re-fetched, discovery-file presence, catalogs, price range, on-chain settlement facts per payTo (distinct payers, payments, USDC volume, first/last payment, sampler share) and the verdict. Resources beyond the budget carry their latest census or cron record and are marked as such. Unpaid requests answer HTTP 402 with x402 terms (scheme exact, network base / eip155:8453, asset USDC, payTo 0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c); resend with X-PAYMENT.",
   "tags": [
    "x402",
    "usdc",
    "seller",
    "report",
    "bazaar"
   ],
   "examples": [
    "GET https://bazaar.agentexchange.work/seller/{host}/report.json"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "paid-listing",
   "name": "Paid listing on bazaar.agentexchange.work ($1.00 USDC, 30 days)",
   "description": "POST https://bazaar.agentexchange.work/listings with JSON { url (https), name (<=80 chars), description? (<=200 chars), payTo? } answers HTTP 402 with x402 v1 payment requirements (scheme exact, network base / eip155:8453, asset USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, maxAmountRequired 1000000 = $1.00, payTo 0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c); resend with X-PAYMENT to list the URL for 30 days on https://bazaar.agentexchange.work/listings; 201 returns the listing and X-PAYMENT-RESPONSE. Same nonce twice -> 409. Free: GET https://bazaar.agentexchange.work/listings.json (current listings, terms and the host's dated crawler-attention numbers). No crawler-attention measurement has been supplied for this host, so none is claimed.",
   "tags": [
    "listing",
    "directory",
    "x402",
    "usdc",
    "base",
    "paid",
    "bazaar"
   ],
   "examples": [
    "POST https://bazaar.agentexchange.work/listings {\"url\":\"https://yourservice.example/\",\"name\":\"Your service\",\"description\":\"One line\"}",
    "GET https://bazaar.agentexchange.work/listings.json"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json",
    "text/html"
   ]
  }
 ]
}