# P0 Agent Economy Index – KV Key Listing

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

Lists the KV store keys scoped to the paying wallet's namespace, enabling wallet-scoped session and state enumeration for agent workflows

## Facts

- Endpoint: GET https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/kv/list?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/p0-agent-economy-index-kv-key-listing-7b91e0c4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zd5W0M75WLvf8riUmrVW1

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-kv-key-listing-7b91e0c4
```

Example prompt: List all keys in my wallet's KV namespace that start with 'session/', showing up to 50 per page, so I can see what session data my agent has stored.

## When to prefer this

Choose this endpoint when an AI agent needs to enumerate, audit, or paginate through wallet-scoped KV keys stored via the x402-bazaar-rank infrastructure. It is the right choice for session state discovery, prefix-scoped key browsing, and pagination workflows within the x402 micropayment-gated KV store. It is not appropriate for reading key values (only metadata/names are returned), for L402-protected stores, or for querying agent economy ranking or market data (use the /economy or ranked x402 routes for that).

## Known failure modes

- Payment not provided or invalid x402 micropayment: 402 response requiring USDC payment
- Cursor from a different namespace or expired cursor: may return empty or error
- Prefix pattern violates the allowed character set (^[A-Za-z0-9._:/-]{0,128}$): validation error
- Limit out of range (must be 1–100): schema validation error
- Cloudflare KV eventual consistency: keys written in the last ~60 seconds may not appear
- Wallet mismatch: keys from a different paying wallet are not accessible

## 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

A JSON object containing: the wallet-scoped namespace identifier, the prefix filter applied, an array of matching keys with metadata (byte size, storage format, store/expiry timestamps), total key count for the page, a pagination cursor (null if last page), a list_complete boolean, and an ISO 8601 timestamp of the response. Keys are visible only to the paying wallet; no secrets should be stored as values are not encrypted at the application level.

## 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": [],
     "properties": {
      "limit": {
       "type": "integer",
       "default": 50,
       "maximum": 100,
       "minimum": 1,
       "description": "Keys per page"
      },
      "cursor": {
       "type": "string",
       "description": "cursor from the previous page"
      },
      "prefix": {
       "type": "string",
       "pattern": "^[A-Za-z0-9._:/-]{0,128}$",
       "description": "Only keys starting with this"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "namespace",
      "prefix",
      "keys",
      "count",
      "list_complete",
      "as_of",
      "note"
     ],
     "properties": {
      "keys": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "key": {
          "type": "string"
         },
         "bytes": {
          "type": [
           "integer",
           "null"
          ]
         },
         "stored_as": {
          "type": [
           "string",
           "null"
          ]
         },
         "stored_at": {
          "type": [
           "string",
           "null"
          ]
         },
         "expires_at": {
          "type": [
           "string",
           "null"
          ]
         }
        }
       }
      },
      "note": {
       "type": "string",
       "description": "Fixed text: namespace, consistency, no secrets"
      },
      "as_of": {
       "type": "string",
       "description": "ISO 8601 UTC time of the reply"
      },
      "count": {
       "type": "integer"
      },
      "cursor": {
       "type": [
        "string",
        "null"
       ]
      },
      "prefix": {
       "type": "string"
      },
      "namespace": {
       "type": "string",
       "description": "The paying wallet, lowercased"
      },
      "list_complete": {
       "type": "boolean"
      }
     }
    }
   }
  }
 
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "keys": [
   {
    "key": "session/last-run",
    "bytes": 26,
    "stored_as": "json",
    "stored_at": "2026-10-19T12:00:00.000Z",
    "expires_at": "2026-10-20T12:00:00.000Z"
   }
  ],
  "note": "Namespace = the wallet that paid for this call: only calls paid by the same wallet can read these keys. Stored in Cloudflare KV (eventually consistent, visible everywhere within about 60 s), plain text, not encrypted at the application level: do not store secrets. Expired keys disappear.",
  "as_of": "2026-10-19T12:00:00.000Z",
  "count": 1,
  "cursor": null,
  "prefix": "session/",
  "namespace": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
  "list_complete": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/p0-agent-economy-index-kv-key-listing-7b91e0c4/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)
