AI agents pay for APIs on their own. We watch every listed x402 endpoint and make small test payments to confirm it actually delivers what it charges for.
Monitoring 36,835 endpoints from the x402 Bazaar. 34,935 currently pass our checks, as of Mon, 05 Oct 2026 11:11:48 UTC.
In the last 7 days: 1,444 endpoint checks and 11,808 API and MCP calls from agents. 13,515 real test payments in 30 days.
Check an endpoint freeGet a free API keyFor teams: try spend limits free for 30 days →
Of 36,835 x402 endpoints we monitor, 34,935 pass our checks right now.
https://lumierepaycheck.org/mcp as a connector. Your agent can then check any x402 endpoint before paying it.POST /v1/check-payment and pay only if allow is true:
curl -s https://lumierepaycheck.org/v1/check-payment -H 'content-type: application/json' \
-d '{"url":"https://api.example.com/paid","amount":"10000","payTo":"0xSellerWallet"}'npm i x402-paycheck and wrap it: every payment is checked automatically. Package docsGive your agent one habit: check an endpoint before paying it. No account, no API key. Pick whichever fits how your agent works.
// Before paying any x402 endpoint, ask Lumière PayCheck.
async function checkBeforePay(url: string) {
const res = await fetch(
"https://lumierepaycheck.org/v1/score?url=" + encodeURIComponent(url)
);
if (res.status === 404) return { pay: false, reason: "not monitored" }; // your call
const s = await res.json();
return { pay: s.verdict === "proceed" || s.verdict === "caution", ...s };
}
const check = await checkBeforePay(target);
if (!check.pay) throw new Error(`Skipping ${target}: ${check.verdict ?? check.reason}`);
// ...then pay with your x402 client as usual# Before paying any x402 endpoint, ask Lumière PayCheck.
import requests
def check_before_pay(url):
r = requests.get("https://lumierepaycheck.org/v1/score", params={"url": url}, timeout=5)
if r.status_code == 404:
return False, "not monitored" # your call
s = r.json()
return s["verdict"] in ("proceed", "caution"), s["verdict"]
ok, verdict = check_before_pay(target)
if not ok:
raise RuntimeError(f"Skipping {target}: {verdict}")
# ...then pay with your x402 client as usualhttps://lumierepaycheck.org/mcpCursor and other clients (mcp.json):
{ "mcpServers": { "lumiere-paycheck": { "url": "https://lumierepaycheck.org/mcp" } } }Works with any agent that can call tools. It checks the endpoint, the amount, and the payout wallet, so a hijacked wallet or an overcharge gets blocked.
Before paying any x402 endpoint, call the Lumière PayCheck check_payment tool with the endpoint URL, the amount, and the payTo wallet from its 402 quote. Only pay if allow is true. If it returns allow false, tell me the reasons instead of paying. After paying, call report_outcome with the receipt (or the url and payment tx) and short answers about whether you got what you paid for.Endpoints graded proceed or caution, with no payout-wallet incidents. "Paid and delivered" means we made a real test payment and got back what was advertised. Refreshed after every monitoring cycle.
| Grade | Endpoint | Score | Uptime | Delivery |
|---|---|---|---|---|
| A | https://agent-contract-proof.mattskowronis.workers.dev/v1/verify | 100 | 100% | Paid and delivered |
| A | https://acoda.xyz/v1/market-state | 100 | 100% | Paid and delivered |
| A | https://regime.nsgoods.org/regime | 100 | 100% | Paid and delivered |
| A | https://solar.nsgoods.org/solar-legality | 100 | 100% | Paid and delivered |
| A | https://payable.nsgoods.org/payable | 100 | 100% | Paid and delivered |
| A | https://token-risk.com/v1/scan | 100 | 100% | Paid and delivered |
| A | https://ssl.use.x402atlas.com/check | 100 | 100% | Paid and delivered |
| A | https://agent.pocket.network/v1/agentsearch-web-extract-v1 | 100 | 100% | Paid and delivered |
| A | https://websearch.use.x402atlas.com/extract | 100 | 100% | Paid and delivered |
| A | https://x402-stock-indicators.vercel.app/crypto-prices | 100 | 100% | Paid and delivered |
Full list as JSON: /v1/leaderboard and catalog totals at /v1/stats.
x402 payments that actually settled to the sellers we monitor over the last 30 days, read straight from Base and Solana. Only payments submitted by recognized facilitators count, so ordinary wallet transfers can't inflate it.
Settled volume
$11.2K
Base $10.2K · Solana $1,002
Payments
466,563
Distinct buyers
4,886
Sellers paid
1,158
| # | Seller | Network | 30-day volume from independent buyers | Payments | Independent buyers | Grade |
|---|---|---|---|---|---|---|
| 1 | AX1 Consoleax1-new.vercel.appBase · +1 endpoint | Base | $1,175of $3,014 | 150,676 | ~262of 2,243 wallets | B |
| 2 | x402.sniperx.funSolana · +9 endpoints | Solana | $689 | 34,442 | 33of 35 wallets | A |
| 3 | merchant-production-c224.up.railway.appBase · +1 endpoint | Base | $529 | 55 | 2of 3 wallets | A |
| 4 | blockrun.aiBase · +48 endpoints | Base | $446 | 35,023 | ~140of 225 wallets | A |
| 5 | api.surplusintelligence.aiBase | Base | $379 | 1,256 | 2of 3 wallets | A |
| 6 | api.losbeto.xyzBase · +89 endpoints | Base | $218 | 2,990 | 4of 8 wallets | A |
| 7 | laso.financeBase · +7 endpoints | Base | $203 | 16 | 7of 13 wallets | A |
| 8 | agi.apify.comBase | Base | $182 | 63 | 11of 13 wallets | B |
| 9 | agents.chain.linkBase | Base | $174 | 16,329 | 1of 4 wallets | C |
| 10 | OneShotwin.oneshotagent.comBase · +16 endpoints | Base | $174of $210 | 18,385 | 7of 19 wallets | A |
We count customers, not wallets. Anyone can create 1,000 wallets and pay themselves, so we group buyer wallets by the wallets that funded them: wallets funded from the same source count as one buyer, and payments from groups of 3+ wallets funded by one source (or by the seller itself) aren't counted toward the ranking. Exchanges never group strangers, and the same rule applies to every seller. "~" marks an estimate from a sample of buyers.
The top 10 sellers received 65% of the volume, so a few services carry most of the money. Volume is per payout wallet: when one wallet serves several endpoints, the total covers all of them. It's a floor: history before our index started isn't counted. Per-endpoint data: /v1/usage?url=…
Three layers of checking, running around the clock.
Every day we import every endpoint listed in the x402 Bazaar, the catalog agents use to discover paid APIs.
Every 30 minutes we request each endpoint without paying and record its price, payout wallet, and response time.
We make small real payments and check the response matches what the seller advertised. Agents that pay through us report outcomes too, which point our tests at problems fast.
The formula is public and deterministic. No one can pay for a better grade.
data or result field, or a list of the items the listing describes, still counts as delivered. When the data is reshaped compared with the listing (fields nested elsewhere, a list where the listing shows one item, most example fields missing), the grade is capped at B (85) and the verdict stays proceed, with a note telling agents where to read the fields; matching the listing lifts the cap on the next paid check. Minor gaps (an optional field that isn't returned, a content-type label) get a note but don't affect the grade.Give every agent its own scoped key, cap what it can spend, and keep a record of every decision you can replay later. Pay monthly by card (renews automatically, cancel anytime), or with USDC via x402 on Base or Solana.
$0
Scores, leaderboard, spending-rule checks, and the MCP server. No account needed. Free API key for higher limits.
$9 / month
For solo builders and vibe coders. 3 agent keys with allowed sellers, per-payment caps, daily and monthly limits, and expiry. Signed receipts. 30-day replayable audit trail.
$49 / month
Everything in Builder, plus 25 agent keys, human review for anomalies (new wallets, large amounts) with webhook alerts, 1-year audit trail, and CSV export.
Custom
Everything in Business, plus custom limits, company-wide caps, 2-year audit history, key-less agent sign-in with your cloud identity, SIEM streaming, invoiced or usage-based billing, and trials. Talk to us privately.
Start a free 30-day trial, no card See plans and subscribe
How it works: subscribe and you get an owner key. On your account page, create a key for each agent. Before paying, the agent asks Lumière PayCheck and gets allow, deny, or review, with reasons and a signed receipt your wallet can verify. Developers: full guide on GitHub.
Free routes allow 60 requests a minute. A free key raises that to 300. It's emailed to you, no card needed. You can also get a short weekly email: top performers, endpoints to avoid, and wallet changes we caught.
We use your email only to send the key and, if you opt in, the digest. See our privacy policy.
No accounts or API keys. Agents pay per call with x402, the same way they pay any other endpoint.
Free
Score, leaderboard, and spending-rule checks, 60 a minute. GET /v1/score POST /v1/check-payment
$0.005
Score breakdown, current quote, wallet and price history. GET /v1/report
$0.01
Score up to 100 endpoints in one call. POST /v1/score/batch
$0.10
30 days of webhook alerts when an endpoint breaks, changes wallet, or raises its price. POST /v1/watch
Lookups for endpoints we don't monitor return 404 and are never charged. Agents can also connect the MCP server at /mcp.