BotsRatedBETA

What We Check For

Before your agent pays a service, these are the problems worth knowing about. We test 4,856 pay-per-call services without paying, have checked 16,342 MCP servers (32,296 listed), and publish what we find.

Is It Up?

We call each pay-per-call service about every hour (services with no payment request for 7 days: about once a day), without paying. A working one answers with a proper payment request (in the x402 standard, that is a “402 Payment Required” reply). No answer, an error or a timeout counts as offline.

Is The Payment Address The Same?

Every payment request names the wallet to pay (the “payTo” address). We compare it with the same service's previous request. A sudden change can be a planned rotation, or a sign that something is wrong. Our free guard stops a payment to an address we have never seen for that service.

Is The Price What It Says?

We compare the price in each payment request with the price in the directory listing. Some differences are normal, like prices that depend on the request.

How Fast Does It Answer?

We record how long every test call takes, and show the typical (median) time and the slow end.

Does A Real Purchase Work?

We also buy from services with a capped wallet and publish each result with its blockchain transaction. A failed purchase is held privately and published only after the service has had at least 72 hours' notice.

MCP Servers

For MCP servers (tool servers that AI assistants connect to) we connect without logging in and ask for the list of tools. We're still working through the official registry, so not every listed server has been checked yet. We never run a tool and never send credentials.

What We Found

What We MeasuredShareOut Of
Test calls that found a working service offline or not ready to take payment1.97%21,226 test calls
Payment requests with a changed payment address (payTo)0.23%15,124 payment requests
Payment requests asking a different price than the listing6.31%15,124 payment requests

Across services that asked for payment correctly at least once on a given day, over our most recent completed days (UTC). Raw data: /v1/rates.

How This Is Calculated

  • What We Count. Our own unpaid test calls to the main route of each pay-per-call service, on our most recent completed UTC days (up to the last 7), for services that asked for payment correctly at least once on a given day (so services that are simply gone don't inflate the numbers). The address and price shares use services whose checks on a given day were all on their main route. The figures come from our signed daily summaries.
  • Offline = a test call that got no proper payment request: an error, a timeout or another status. Changed payment address = a proper payment request whose payTo differs from that service's previous one. Different price = a payment request whose price differs from the listing.
  • What We Don't Count. We don't count time saved, and we don't turn these rates into dollars lost. A failed call usually isn't charged, and some address and price changes are legitimate. We only show a share when it rests on at least 1,000 test calls (or payment requests) across at least 100 services.
  • Full details: Methodology. Numbers are recomputed from our database every few minutes (computed 2026-10-24T05:16:53Z).