# Agent402 Bestselling Tools Leaderboard

> Agent402 Bestselling Tools Leaderboard is a paid API for AI agents from agent402.tools, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Returns a ranked list of the most-purchased tools on the Agent402 x402 catalog, derived from off-chain sales ledger data not visible on the blockchain.

## Facts

- Endpoint: GET https://agent402.tools/api/bestsellers
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent402-bestselling-tools-leaderboard-36388daa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-BJVSYACAjcvnd9rx18AM

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 agent402-bestselling-tools-leaderboard-36388daa
```

Example prompt: Show me the top 20 bestselling tools on Agent402 from the last 14 days, ranked by number of distinct buyers so whale purchases don't skew it.

## When to prefer this

Use this endpoint when you need to discover which tools in the Agent402 x402 catalog are actually being purchased by real agents — especially when you want whale-resistant buyer counts (sort=buyers) or organic diversity scores (sort=organic). Prefer it over on-chain data since settlement transactions don't reveal which specific tool was purchased.

## Known failure modes

- Invalid 'days' value outside 1-90 range returns a 400 error
- Invalid 'sort' enum value returns a 400 validation error
- 'limit' outside 1-50 range returns a 400 error
- Payment not made or USDC balance insufficient returns a 402 response
- Service unavailable or internal ledger error returns a 500 error

## How this service works

What agents actually pay for on a 500+ tool x402 catalog - the paid intelligence layer over Agent402's own sales ledger, the one demand signal that never reaches the chain (settlements are on-chain; WHICH tool was bought is not). Aggregate sales totals are free at /api/sales; this adds the per-tool layer they deliberately omit: pick the window (days 1-90) and the ranking lens with sort: 'buyers' (distinct paying wallets, default - the whale/wash-resistant read), 'sales' (volume), 'usd'.

## Output

A ranked list of up to 50 tools from the Agent402 x402 catalog, each with metrics like distinct buyer wallet count, total sales volume, USD revenue, and an organic diversity score, along with trend comparison against the prior equivalent time window.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "days": {
       "type": "integer",
       "description": "Aggregation window in days, 1-90 (default 30). The trend compares against the same-length window immediately before it."
      },
      "sort": {
       "enum": [
        "buyers",
        "sales",
        "usd",
        "organic"
       ],
       "type": "string",
       "description": "Ranking lens: buyers=distinct paying wallets (default, whale-resistant), sales=volume, usd=revenue, organic=organicScore (buyer diversity)"
      },
      "limit": {
       "type": "integer",
       "description": "How many tools to return (1-50, default 10)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "days",
      "sort",
      "limit",
      "recordingSince",
      "persistent",
      "totals",
      "bestsellers",
      "note",
      "generatedAt"
     ],
     "properties": {
      "days": {
       "type": "integer"
      },
      "note": {
       "type": "string"
      },
      "sort": {
       "type": "string"
      },
      "limit": {
       "type": "integer"
      },
      "totals": {
       "type": "object"
      },
      "persistent": {
       "type": "boolean"
      },
      "bestsellers": {
       "type": "array"
      },
      "generatedAt": {
       "type": "string"
      },
      "recordingSince": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "days": 30,
  "note": "External paid demand only - canary/burner/heartbeat traffic excluded at the source.",
  "sort": "buyers",
  "limit": 10,
  "totals": {
   "sales": 63,
   "revenueUsd": 0.58,
   "distinctTools": 12
  },
  "persistent": true,
  "bestsellers": [
   {
    "rank": 1,
    "slug": "vin-decode",
    "sales": 14,
    "trend": "rising",
    "buyers": 6,
    "lastAt": "2026-07-14T09:30:00.000Z",
    "firstAt": "2026-07-05T11:00:00.000Z",
    "prevSales": 3,
    "deltaSales": 11,
    "revenueUsd": 0.056,
    "avgTicketUsd": 0.004,
    "organicScore": 0.4286,
    "revenueShare": 0.0966
   }
  ],
  "generatedAt": "2026-07-16T00:00:05.000Z",
  "recordingSince": "2026-07-04T00:00:00.000Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent402-bestselling-tools-leaderboard-36388daa/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent402.tools](https://www.zero.xyz/host/agent402.tools/llms.txt)
