The directory in numbers
Live counts from the 68,483 paid APIs and MCP servers ToolVet checks: how many of them agents actually pay for, and what the security scan finds. Recomputed every hour.
Listings
| Listings tracked | 68,483 | |
| Paid x402 APIs | 40,870 | 59.7% |
| Remote MCP servers | 27,613 | 40.3% |
| Passing their latest check | 63,155 | 92.2% |
Paying agents
Of the 40,656 x402 APIs with usage data, only 1.0% were paid for by ten or more different wallets in the last 30 days. 53.6% had exactly one paying wallet, which can be the seller trying their own endpoint, and 8 had none.
| Paying wallets in 30 days | x402 APIs | Share |
|---|---|---|
| None | 8 | <0.1% |
| 1 | 21,776 | 53.6% |
| 2 to 9 | 18,470 | 45.4% |
| 10 or more | 402 | 1.0% |
Usage comes from the x402 Bazaar, which reports the distinct wallets that paid each endpoint over 30 days. It sees payments settled through Coinbase's facilitator, so payments settled through other facilitators may be missing and real usage can be higher. 214 more x402 APIs, submitted directly or found elsewhere, have no usage data and aren't counted above.
Security scan
Every listing's name, description, tags, call examples and MCP tool definitions are scanned for text that tries to steer an agent, and every check records changes to price and payment address. 4,053 listings (5.9%) have at least one finding; 218 carry prompt-injection text, which ToolVet withholds from agents.
| Finding | Type | Listings |
|---|---|---|
| Unusually long description | Other | 1,584 |
| Charges more than its listed price | Other | 1,318 |
| Payment address changed recently | Other | 952 |
| Asks the agent to hide things from the user | Prompt injection | 126 |
| Asks for an unrecognised token | Other | 77 |
| Mentions credentials or secret files | Prompt injection | 44 |
| Tries to override other tools | Prompt injection | 21 |
| Hidden instruction tags | Prompt injection | 15 |
| Tries to override the agent's instructions | Prompt injection | 14 |
| More findings in tool definitions | Other | 4 |
| Invisible Unicode characters | Prompt injection | 4 |
A listing can have several findings, so the rows add up to more than the total. Listings aren't named here; each listing's page shows its own findings. The rules are in how we check and score.
How these are counted
- Only public listings count; hidden and rejected ones are left out.
- "Passing" means the most recent unpaid test call got a valid answer: an x402 payment challenge, or a working MCP handshake.
- The numbers are recomputed at most once an hour, from the same database the directory runs on.
- The same numbers are available as JSON at /api/v1/stats, free.
- The numbers on this page and in the JSON are licensed under CC BY 4.0: reuse them freely, crediting ToolVet with a link to this page.
- Every Monday these numbers and more are frozen into a weekly report.