Check an x402 endpoint
check_endpointGet the trust verdict for one x402 endpoint: score (0-100), grade (A-F), and verdict (proceed, caution, avoid, free, or insufficient_data), plus uptime, delivery-test status, payout-wallet incidents, and how many independent buyers stand behind the seller's buyer wallets (we count customers, not wallets). Use it when you're deciding whether an endpoint is trustworthy at all, before you have a price quote. When you already have the 402 quote (amount and payTo) and are about to pay, use check_payment instead: it runs this same check and also verifies the price and wallet. To discover good endpoints rather than check a known one, use top_endpoints. Read-only and free; reflects monitoring every 30 minutes and real test payments, so a brand-new endpoint may return insufficient_data. Endpoints not in the catalog return monitored: false and are checked automatically: if one answers a valid x402 payment quote it joins the catalog within about 10 minutes (see intake). A retest field appears while a failed paid test awaits its re-test (the grade changes only if that fails too). API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "check_endpoint"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL of the x402 endpoint including path, exactly as the agent will call it, e.g. https://api.example.com/v1/price. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The endpoint checked | |
| auth | No | Present when our paid test was refused for want of the seller's own sign-in (no money was taken). Have access? Send hasAccess: true to check_payment. | |
| page | No | Public page with the full history | |
| grade | No | A delivered cleanly; B delivered with a caveat; C unconfirmed; D doesn't work as listed, no money lost; F costs money or unsafe; ? with too little data | |
| score | No | 0-100; null for free resources | |
| advice | No | What the verdict means for paying it, naming the actual cause | |
| buyers | No | Who is really behind the seller's buyers. Never changes the grade. | |
| intake | No | For an endpoint we don't monitor yet: it's put in line for a first check, and joins the catalog within about 10 minutes if it answers a valid x402 payment quote | |
| points | No | The points behind the score: uptime /40, speed /15, stability /25, delivery /20 | |
| probes | No | Checks counted in the last 7 days | |
| retest | No | Present while our latest paid test failed and its re-test (about 2 hours later) hasn't run: the grade still shows the earlier result and changes only if the re-test fails too | |
| values | No | Automatic value checks on the latest paid response. A warning caps the grade at B, never avoid. | |
| browser | No | Whether a browser-based agent can pay this endpoint (CORS on the 402 and the payment preflight). Server-side agents aren't affected. Never changes the grade. | |
| listing | No | Present only when the latest paid response differs from the listing's example or schema. The data is delivered. | |
| reasons | No | Every factor behind the grade, most important first: paid tests (with date and what came back), uptime, speed, payout wallet, price, listing | |
| verdict | Yes | proceed | caution | avoid | free | insufficient_data | |
| delivery | No | verified = a real test payment was delivered; failing (see advice: an error after payment that didn't collect the money is D/caution; taking the money and failing is F/avoid); or unverified | |
| forTeams | No | Short note about team plans (per-agent keys, spend limits, audit trail) | |
| headline | No | One sentence: the verdict and its main reason | |
| decidedBy | No | Which rule set the final score (e.g. a ceiling from a failed paid test), or that it came straight from the points | |
| lookalike | No | Present when this new endpoint looks like an imitation of an established seller (name one character off, lookalike characters, or a copied listing) and pays a different wallet. check_payment asks for review unless allowLookalike is true. | |
| monitored | Yes | false if the endpoint isn't in the monitored catalog | |
| payToMode | No | fixed, or per_request when the seller issues a new payout address per request | |
| uptimePct | No | Share of checks in the last 7 days that returned a valid payment quote | |
| withdrawn | No | Present when the endpoint was withdrawn by its seller or is gone from the Bazaar: no longer for sale, don't pay it. | |
| testedWith | No | Present when the latest passing paid test needed a sign-in or extra input: a seller-provided test account, a wallet sign-in, or the seller's declared test request. | |
| x402Version | No | x402 protocol version the endpoint quotes (1 or 2) | |
| buyerReports | No | What real buyers reported after paying. Never changes the grade; confirmations move the endpoint up our paid-test queue. | |
| exampleInput | No | Present when the listing's own example input got 'not found' when we paid (no money taken): use real input. | |
| requiredInput | No | Present when our paid test was refused for want of a header or input the listing doesn't document (no money taken). | |
| valuesChecked | No | Latest paid check also passed known-answer value tests | |
| walletIncidents | No | Unexplained payout-wallet changes | |
| walletUnconfirmed | No | Recent wallet changes nobody could confirm yet |