{
 "protocolVersion": "1.0",
 "name": "Agent Economy Index",
 "description": "Independent daily measurement of the machine-customer economy since 2026-09-29: x402 Bazaar size, sellers, calls, payers, prices, concentration and churn; MCP registry size and growth; every remote MCP server in the registry probed daily for tool drift and flagged descriptions, with claimable server pages. Skills are plain HTTP GET endpoints documented in llms.txt, plus a Streamable HTTP MCP endpoint at /mcp (tools index_latest and index_series). There is no A2A JSON-RPC endpoint. Free: summary, series, census, per-server data, CSV dumps, RSS, MCP. Paid depth (per-resource, per-seller, churn, registry snapshot, signed-agent observations) is pay-per-call by x402 in USDC on Base: no API key, no account. Data license CC BY 4.0.",
 "url": "https://index.agentexchange.work",
 "supportedInterfaces": [
  {
   "url": "https://index.agentexchange.work",
   "protocolBinding": "https://network.agentexchange.work/bindings/plain-http/v1",
   "protocolVersion": "1.0"
  }
 ],
 "provider": {
  "organization": "Agent Exchange",
  "url": "https://agentexchange.work"
 },
 "version": "2026.09.30",
 "documentationUrl": "https://index.agentexchange.work/llms.txt",
 "iconUrl": "https://index.agentexchange.work/favicon.svg",
 "capabilities": {
  "streaming": false,
  "pushNotifications": false,
  "stateTransitionHistory": false,
  "extendedAgentCard": false,
  "extensions": [
   {
    "uri": "https://www.x402.org/",
    "description": "Paid skills use the x402 payment protocol: the route answers HTTP 402 with payment requirements (USDC on Base, eip155:8453); pay with any x402 client and retry. Free skills need nothing. Manifest: https://index.agentexchange.work/.well-known/x402",
    "required": false,
    "params": {
     "manifest": "https://index.agentexchange.work/.well-known/x402",
     "network": "eip155:8453",
     "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
     "payTo": "0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c",
     "x402Version": 1
    }
   }
  ]
 },
 "securitySchemes": {
  "x402": {
   "type": "http",
   "scheme": "x402",
   "description": "Not an Authorization-header scheme and not OAuth: paid routes answer HTTP 402 with x402 payment requirements (USDC on Base); the client pays and retries with the x402 payment header. Applies only to the skills that list it; every other skill needs no credentials."
  }
 },
 "securityRequirements": [],
 "security": [],
 "defaultInputModes": [
  "application/json"
 ],
 "defaultOutputModes": [
  "application/json",
  "text/csv",
  "application/rss+xml",
  "text/html"
 ],
 "skills": [
  {
   "id": "index-latest",
   "name": "Latest daily snapshot",
   "description": "The latest frozen daily snapshot: x402 Bazaar size, sellers, 30-day calls and payers, concentration, category demand, churn; MCP registry size and growth; MCP integrity counts. HTTP 202 while the first snapshot is in progress.",
   "tags": [
    "x402",
    "bazaar",
    "mcp-registry",
    "measurement",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/latest.json"
   ],
   "securityRequirements": []
  },
  {
   "id": "index-series",
   "name": "Daily time series",
   "description": "Daily series for one metric key (?key=bazaar.resources&days=90), or every metric when key is omitted (?days=90).",
   "tags": [
    "time-series",
    "measurement",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/series.json?key=bazaar.resources&days=90",
    "GET https://index.agentexchange.work/v1/series.json"
   ],
   "securityRequirements": []
  },
  {
   "id": "index-snapshot",
   "name": "One day's snapshot",
   "description": "The frozen snapshot for one day (YYYY-MM-DD, from 2026-09-29).",
   "tags": [
    "measurement",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/snapshots/2026-09-29.json"
   ],
   "securityRequirements": []
  },
  {
   "id": "mcp-census",
   "name": "MCP remote census totals",
   "description": "Today's census of every remote server in the MCP registry: probed, answered tools/list, tools fingerprinted, auth required, answering 402, dead or failing, not MCP, servers with flagged descriptions. HTTP 202 until the day's census has started.",
   "tags": [
    "mcp",
    "census",
    "integrity",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/census.json"
   ],
   "securityRequirements": []
  },
  {
   "id": "mcp-server",
   "name": "One MCP server: probes, tools, drift, claim",
   "description": "Per-server JSON (daily probes, tool fingerprints with flags, drift events, claim state) by exact registry name. HTML page at /mcp-server/<name>, daily-refreshed SVG badge at /badge/mcp/<name>.svg, RSS of its tool changes at /mcp-server/<name>/changes.xml. 404 when the name was never probed.",
   "tags": [
    "mcp",
    "integrity",
    "badge",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/mcp/<registry-name>.json",
    "GET https://index.agentexchange.work/badge/mcp/<registry-name>.svg"
   ],
   "securityRequirements": []
  },
  {
   "id": "mcp-claim",
   "name": "Claim an MCP server for webhook alerts",
   "description": "Operators prove control of a probed server by serving its registry name as the body of https://<their endpoint host>/.well-known/agentexchange-claim.txt, then POST name (plus optional webhook URL and contact) to /v1/mcp/claim as a form or JSON. Claimed servers get one JSON webhook per tool change or new flags (max one per 6 h) and a CLAIMED badge prefix. Public claims list (names, hosts, dates) at /v1/claims.json.",
   "tags": [
    "mcp",
    "claims",
    "webhook",
    "free"
   ],
   "examples": [
    "POST https://index.agentexchange.work/v1/mcp/claim",
    "GET https://index.agentexchange.work/v1/claims.json"
   ],
   "inputModes": [
    "application/x-www-form-urlencoded",
    "application/json"
   ],
   "securityRequirements": []
  },
  {
   "id": "bazaar-hosts",
   "name": "x402 Bazaar sellers by host",
   "description": "Latest day's per-host table (resources, 30-day calls, payers, sellers, median price, rank) and one seller's JSON or HTML page (/seller/<host>).",
   "tags": [
    "x402",
    "bazaar",
    "sellers",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/hosts.json",
    "GET https://index.agentexchange.work/v1/seller/<host>.json"
   ],
   "securityRequirements": []
  },
  {
   "id": "dumps",
   "name": "CSV dumps (CC BY 4.0)",
   "description": "Latest daily census of registry servers and every flagged tool description, as CSV.",
   "tags": [
    "csv",
    "open-data",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/dump/servers.csv",
    "GET https://index.agentexchange.work/v1/dump/flags.csv"
   ],
   "outputModes": [
    "text/csv"
   ],
   "securityRequirements": []
  },
  {
   "id": "changes-rss",
   "name": "RSS of MCP tool changes",
   "description": "Added, removed and mutated tools detected by the daily probes, newest first.",
   "tags": [
    "rss",
    "mcp",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/changes.xml"
   ],
   "outputModes": [
    "application/rss+xml"
   ],
   "securityRequirements": []
  },
  {
   "id": "conversion",
   "name": "Our own conversion counter",
   "description": "Public daily count of x402 payment challenges issued, calls paid and dollars across Agent Exchange hosts (?day=YYYY-MM-DD).",
   "tags": [
    "x402",
    "transparency",
    "free"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/conversion.json"
   ],
   "securityRequirements": []
  },
  {
   "id": "mcp-tools",
   "name": "MCP tools index_latest and index_series",
   "description": "The snapshot and the series as MCP tools over Streamable HTTP: JSON-RPC 2.0 by POST, protocol 2025-06-18, no authentication.",
   "tags": [
    "mcp",
    "streamable-http",
    "free"
   ],
   "examples": [
    "POST https://index.agentexchange.work/mcp {\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"
   ],
   "securityRequirements": []
  },
  {
   "id": "paid-v1-pro-resources",
   "name": "/v1/pro/resources.json (x402, $0.10 per call)",
   "description": "Every paid x402 resource on a given day with host, seller wallet, price, 30-day calls and unique payers, and capability category. 1,000 rows per page (?day=&category=&page=). Paid route: an unpaid GET answers HTTP 402 with x402 payment requirements; pay $0.10 in USDC on Base (eip155:8453) and retry with the payment header. No API key, no account.",
   "tags": [
    "paid",
    "x402",
    "usdc",
    "base"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/pro/resources.json"
   ],
   "securityRequirements": [
    {
     "x402": []
    }
   ]
  },
  {
   "id": "paid-v1-pro-sellers",
   "name": "/v1/pro/sellers.json (x402, $0.10 per call)",
   "description": "Per-seller table for a day: host, wallet, resources, 30-day calls, payers, median price; the retention view of the agent economy (?day=). Paid route: an unpaid GET answers HTTP 402 with x402 payment requirements; pay $0.10 in USDC on Base (eip155:8453) and retry with the payment header. No API key, no account.",
   "tags": [
    "paid",
    "x402",
    "usdc",
    "base"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/pro/sellers.json"
   ],
   "securityRequirements": [
    {
     "x402": []
    }
   ]
  },
  {
   "id": "paid-v1-pro-new",
   "name": "/v1/pro/new.json (x402, $0.05 per call)",
   "description": "Resources and seller wallets that appeared or disappeared between the last two snapshots, with categories and prices. Paid route: an unpaid GET answers HTTP 402 with x402 payment requirements; pay $0.05 in USDC on Base (eip155:8453) and retry with the payment header. No API key, no account.",
   "tags": [
    "paid",
    "x402",
    "usdc",
    "base"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/pro/new.json"
   ],
   "securityRequirements": [
    {
     "x402": []
    }
   ]
  },
  {
   "id": "paid-v1-pro-registry",
   "name": "/v1/pro/registry.json (x402, $0.05 per call)",
   "description": "Full MCP registry snapshot for a day: every server name and its remote endpoint URL (?day=&page=). Paid route: an unpaid GET answers HTTP 402 with x402 payment requirements; pay $0.05 in USDC on Base (eip155:8453) and retry with the payment header. No API key, no account.",
   "tags": [
    "paid",
    "x402",
    "usdc",
    "base"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/pro/registry.json"
   ],
   "securityRequirements": [
    {
     "x402": []
    }
   ]
  },
  {
   "id": "paid-v1-pro-observations",
   "name": "/v1/pro/observations.json (x402, $0.05 per call)",
   "description": "Signed-agent observations at our edge for a day: user-agent family, Web Bot Auth key ids, Cloudflare verified-bot category, ASN, country, path class, counts (?day=). Paid route: an unpaid GET answers HTTP 402 with x402 payment requirements; pay $0.05 in USDC on Base (eip155:8453) and retry with the payment header. No API key, no account.",
   "tags": [
    "paid",
    "x402",
    "usdc",
    "base"
   ],
   "examples": [
    "GET https://index.agentexchange.work/v1/pro/observations.json"
   ],
   "securityRequirements": [
    {
     "x402": []
    }
   ]
  }
 ],
 "supportsExtendedAgentCard": false,
 "x-agentexchange": {
  "binding_note": "Plain HTTP, not an A2A task endpoint: each skill is an HTTP endpoint documented in llms.txt. Binding description: https://network.agentexchange.work/bindings/plain-http/v1",
  "http_api": "https://index.agentexchange.work",
  "llms_txt": "https://index.agentexchange.work/llms.txt",
  "openapi": null,
  "sitemap": "https://index.agentexchange.work/sitemap.xml",
  "mcp": {
   "url": "https://index.agentexchange.work/mcp",
   "transport": "streamable-http",
   "protocolVersion": "2025-06-18",
   "tools": [
    "index_latest",
    "index_series"
   ]
  },
  "x402_manifest": "https://index.agentexchange.work/.well-known/x402",
  "a2a_health": "https://index.agentexchange.work/a2a/health",
  "oauth_protected_resource": "https://index.agentexchange.work/.well-known/oauth-protected-resource",
  "security_txt": "https://index.agentexchange.work/.well-known/security.txt",
  "contact": "https://index.agentexchange.work/contact",
  "network_map": "https://network.agentexchange.work/.well-known/agentexchange-network.json",
  "related": [
   {
    "name": "MCP Registry Integrity Report",
    "url": "https://drift.agentexchange.work",
    "what": "tool drift and prompt-injection findings across the public MCP registry, free"
   },
   {
    "name": "ToolDrift",
    "url": "https://tooldrift.agentexchange.work",
    "what": "paid alerts within six hours when an MCP server you depend on changes a tool or trips a detector"
   },
   {
    "name": "Agent Exchange network",
    "url": "https://network.agentexchange.work",
    "what": "every property we operate, one map"
   }
  ],
  "generated": "2026-09-30"
 }
}