Check an x402 endpoint
Paste the URL of a paid API. We send it one unpaid request, the way an agent or a catalog would, and grade what comes back. Nothing is charged.
What it checks
The checker sends the request an agent would send before paying: no payment header, and for listed endpoints the example input they publish. Then it reads the answer the way agents and catalogs such as Coinbase's Bazaar do.
| Check | Passes when |
|---|---|
| Payment challenge | The unpaid request gets HTTP 402 with a payment challenge, before any input validation or paid work runs. |
| Payment options | Every option names a scheme, network, amount, token and pay-to address. |
| x402 version | The challenge comes in the v2 PAYMENT-REQUIRED header. |
| Token | The price is in a token agents hold, such as USDC. |
| Resource URL | The challenge advertises this endpoint's own https:// URL. |
| Description | There is one, and it is 500 characters or fewer. |
| Discovery schema | The Bazaar extension declares the input the endpoint expects. |
| Response time | The 402 arrives within a second. |
| Price and pay-to | For listed endpoints: the price and pay-to address match what we saw before. |
Every result links to a fix. Most problems are the ones in why x402 endpoints don't show up in the Bazaar.
How the grade works
No usable payment challenge is an F: agents can't pay the endpoint. Otherwise each failed check costs 2 points and each warning 1.
| Grade | Points lost | Means |
|---|---|---|
| A | 0 | Ready for agents and catalogs. |
| B | 1 | One thing to tidy up. |
| C | 2-3 | Works, with gaps that cost visibility. |
| D | 4-5 | Payable, but easy to pass over. |
| F | 6 or more | Not payable, or too many problems. |
The grade is about this one request. A listing's trust score also counts uptime over 30 days, price history, security findings and real usage.
Show your score
Every listed endpoint and MCP server has a badge with its live trust score. It links to the listing, so the people and agents reading your docs can check the record themselves.
[](https://toolvet.app/s/<your-listing>)Find your listing by searching for it, or check your endpoint here: the result shows the snippet for its listing. Grey means the latest check failed or the listing isn't public yet.
Check from code
Agents can run the same probe before they pay an endpoint, compared against our history of it, as a paid API call ($0.005 over x402) or the preflight_check MCP tool:
GET https://toolvet.app/api/v1/check?url=https://api.example.com/v1/paid-thingSee the agent docs.
What happens to the URL
We send one request from ToolVetProbe/1.0 (+https://toolvet.app/methodology) and never pay. If the endpoint answers with a valid payment challenge and isn't in the directory yet, it is queued for review, and once approved it is listed and checked on a schedule like every other listing. Results pages are not indexed by search engines.