# P0 Agent Economy Index

> P0 Agent Economy Index is a paid API for AI agents from x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-28).

Ranks and discovers live x402 paid services by real 30-day usage signals, and provides per-protocol agent economy statistics across major agent frameworks and registries.

## Facts

- Endpoint: GET https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/route?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/p0-agent-economy-index-1b02b20e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_MvZ9jZ5-4RW9GupAr59og

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability p0-agent-economy-index-1b02b20e
```

Example prompt: Search the P0 agent economy index for the best x402 service that can screen a wallet address for sanctions — show me the top result with its price, network, and 30-day usage stats.

## When to prefer this

Use this endpoint when an AI agent needs to discover live, usage-ranked x402 paid services for a specific task — especially when you want real 30-day demand signals (paying wallets + call counts) rather than a static directory. Also use it to get a cross-protocol snapshot of the agent economy (Olas, Virtuals ACP, Base agent contracts, MCP servers, etc.) without querying each registry separately. Prefer over raw Bazaar feeds when you need ranked results with scoring receipts.

## Known failure modes

- No matching services found for the task (returns empty best/alternatives)
- Task string too short (<2 chars) or too long (>200 chars) — validation error
- Snapshot data stale if feed has not been re-fetched recently
- priceUsd null when seller did not publish a price
- Protocol stats missing payers or USD volume when source does not publish them
- Network errors or Cloudflare Worker timeouts on slow fetches

## How this service works

An open index of the machine-to-machine (agent) economy. x402 routes: ranked discovery over the live x402 service market, every indexed service scored by real 30-day calls and paying-wallet bounds, with a receipt naming the snapshot hash and scoring revision. /economy routes, for Tempo MPP, Virtuals ACP, Olas, Masumi, ERC-8004 agent registries, Solana agent registries, Base agent contracts and MCP servers (Official MCP Registry): each protocol's published figures (agent or server counts, transactions or payment events; payers and USD volume only where the source publishes them: payers for x402 and Tempo MPP, USD volume for x402 and Virtuals ACP), each with its unit, window and source; units differ, so totals are not summed. L402 listings are not covered.

## Output

Returns the top-ranked x402 service for the given task (with resource URL, price in USD, CAIP-2 network, 30-day calls, 30-day unique paying wallets, rank score, and a plain-English explanation of why it matched), up to N alternatives, query terms used, total matched count, ranking formula description, catalog metadata (snapshot hash, snapshot timestamp, scoring revision, catalog size, source, window), and per-protocol agent economy figures (agent/server counts, transaction or payment events, payers and USD volume where available) for Tempo MPP, Virtuals ACP, Olas, Masumi, ERC-8004, Solana agent registries, Base agent contracts, and the Official MCP Registry.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "task"
     ],
     "properties": {
      "task": {
       "type": "string",
       "maxLength": 200,
       "minLength": 2,
       "description": "the task in plain words, e.g. 'screen a wallet address for sanctions' (2-200 characters)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "task",
      "terms",
      "best",
      "alternatives",
      "matched",
      "ranked_by",
      "catalog",
      "note"
     ],
     "properties": {
      "best": {
       "type": "object",
       "required": [
        "resource",
        "priceUsd",
        "network",
        "calls30d",
        "payers30d",
        "score",
        "why"
       ],
       "properties": {
        "why": {
         "type": "string",
         "description": "Which query terms matched and where, plus the 30-day demand figures"
        },
        "name": {
         "type": [
          "string",
          "null"
         ],
         "description": "Listing name as published by the seller; null when none"
        },
        "score": {
         "type": "number",
         "description": "Rank score (see ranked_by)"
        },
        "network": {
         "type": [
          "string",
          "null"
         ],
         "description": "CAIP-2 network the listing accepts payment on, e.g. eip155:8453"
        },
        "calls30d": {
         "type": "integer",
         "description": "Calls in the last 30 days per the feed"
        },
        "priceUsd": {
         "type": [
          "number",
          "null"
         ],
         "description": "Price per call in USD as published; null when the seller published none"
        },
        "resource": {
         "type": "string",
         "description": "URL of the paid x402 resource as listed in the Bazaar feed"
        },
        "payers30d": {
         "type": "integer",
         "descri
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "best": {
   "why": "matches 'weather' in the name, 'forecast' in the tags, 'hourly', 'coordinates' in the description or URL; 12 paying wallets and 340 calls in the last 30 days",
   "name": "Example weather API",
   "score": 15.52,
   "network": "eip155:8453",
   "calls30d": 340,
   "priceUsd": 0.001,
   "resource": "https://api.example-seller.dev/weather",
   "payers30d": 12,
   "description": "Hourly forecast by coordinates"
  },
  "note": "Ranked from P0's snapshot of the public x402 Bazaar discovery feed (see catalog for its hash and time). Name, description, price and network are as published by each seller; P0 has not called or tested these services, and the feed includes P0's own routes. priceUsd null means the seller published no price.",
  "task": "hourly weather forecast for coordinates",
  "terms": [
   "hourly",
   "weather",
   "forecast",
   "coordinates"
  ],
  "catalog": {
   "source": "Coinbase x402 Bazaar discovery feed, full re-fetch of every page",
   "window": "trailing 30 days as published per resource by the feed (l30DaysTotalCalls -> calls30d, l30DaysUniquePayers -> payers30d)",
   "catalogSize": 34598,
   "snapshotHash": "0000000000000000000000000000000000000000000000000000000000000000",
   "scoringRevision": "example",
   "snapshotGeneratedAt": "2026-10-18T00:00:00Z"
  },
  "matched": 2,
  "ranked_by": "Each query term scores 1 when found anywhere in a listing's name, description, tags or URL, +2 when found in the name and +1.5 when found in a tag; the sum is multiplied by 1 + 2*log10(1 + payers30d) + log10(1 + calls30d), where payers30d and calls30d are the distinct paying wallets and calls of the last 30 days as published per resource by the Coinbase x402 Bazaar discovery feed. Highest score first; common words (the, a, for...) are dropped.",
  "alternatives": [
   {
    "why": "matches 'forecast' in the name, 'weather' in the tags; 4 paying wallets and 90 calls in the last 30 days",
    "name": "Forecast X",
    "score": 9.91,
    "network": "eip155:8453",
    "calls30d": 90,
    "priceUsd": 0.005,
    "resource": "https://weather.example.net/x402/forecast",
    "payers30d": 4,
    "description": "7-day weather forecast for any city"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/p0-agent-economy-index-1b02b20e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev](https://www.zero.xyz/host/x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/llms.txt)
