Lumière PayCheck
Check any x402 endpoint before your AI agent pays it: trust grade, verdict, and hijack checks.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"paycheck": {
"url": "https://lumierepaycheck.org/mcp"
}
}
}Remote endpoints
https://lumierepaycheck.org/mcpstreamable-httphttps://lumierepaycheck.org/mcp?plans=1streamable-httpWhat it can do
Tool inventory
Tools (6)
🟢check_endpoint(url)
Get 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. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full URL of the x402 endpoint including path, exactly as the agent will call it, e.g. https://api.example.com/v1/price."
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The endpoint checked"
},
"monitored": {
"type": "boolean",
"description": "false if the endpoint isn't in the monitored catalog"
},
"verdict": {
"type": "string",
"description": "proceed | caution | avoid | free | insufficient_data"
},
"advice": {
"description": "What the verdict means for paying it, naming the actual cause",
"type": "string"
},
"headline": {
"description": "One sentence: the verdict and its main reason",
"type": "string"
},
"reasons": {
"description": "Every factor behind the grade, most important first: paid tests (with date and what came back), uptime, speed, payout wallet, price, listing",
"type": "array",
"items": {
"type": "object",
"properties": {
"factor": {
"type": "string",
"description": "data, delivery, uptime, speed, wallet, price, listing, values, access or withdrawn"
},
"effect": {
"type": "string",
"description": "positive, neutral or negative"
},
"text": {
"type": "string",
"description": "What we found, in plain words (paid-test results include the date and what came back)"
},
"limit": {
"description": "The ceiling this factor puts on the grade, e.g. \"F (max 39)\"",
"type": "string"
},
"at": {
"description": "Date of the event it's based on (YYYY-MM-DD)",
"type": "string"
}
},
"required": [
"factor",
"effect",
"text"
],
"additionalProperties": false
}
},
"points": {
"type": "object",
"properties": {
"uptime": {
"type": "string"
},
"speed": {
"type": "string"
},
"stability": {
"type": "string"
},
"delivery": {
"type": "string"
},
"total": {
"type": "string"
}
},
"required": [
"uptime",
"speed",
"stability",
"delivery",
"total"
],
"additionalProperties": false,
"description": "The points behind the score: uptime /40, speed /15, stability /25, delivery /20"
},
"decidedBy": {
"description": "Which rule set the final score (e.g. a ceiling from a failed paid test), or that it came straight from the points",
"type": "string"
},
"score": {
"description": "0-100; null for free resources",
"type": [
"number",
"null"
]
},
"grade": {
"description": "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",
"type": "string"
},
"delivery": {
"description": "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",
"type": "string"
},
"uptimePct": {
"description": "Share of checks in the last 7 days that returned a valid payment quote",
"type": "number"
},
"probes": {
"description": "Checks counted in the last 7 days",
"type": "number"
},
"walletIncidents": {
"description": "Unexplained payout-wallet changes",
"type": "number"
},
"walletUnconfirmed": {
"description": "Recent wallet changes nobody could confirm yet",
"type": "number"
},
"valuesChecked": {
"description": "Latest paid check also passed known-answer value tests",
"type": "boolean"
},
"payToMode": {
"description": "fixed, or per_request when the seller issues a new payout address per request",
"type": "string"
},
"listing": {
"description": "Present only when the latest paid response differs from the listing's example or schema. The data is delivered.",
"type": "object",
"properties": {
"matchesExample": {
"type": "boolean",
"description": "false: the paid response differs from the seller's own example"
},
"warning": {
"type": "string",
"description": "How the real response differs, and where to read the fields"
},
"sellerFix": {
"type": "string",
"description": "What the seller can change"
},
"capped": {
"description": "true: the data is reshaped vs the listing (nested, list vs item), grade capped at B; false: a minor gap, warning only",
"type": "boolean"
}
},
"required": [
"matchesExample",
"warning",
"sellerFix"
],
"additionalProperties": false
},
"values": {
"description": "Automatic value checks on the latest paid response. A warning caps the grade at B, never avoid.",
"type": "object",
"properties": {
"checked": {
"type": "boolean",
"description": "true: automatic value checks passed on the latest paid test"
},
"warning": {
"description": "A value that looks wrong (wrong subject, stale data, price far from the public spot price)",
"type": "string"
}
},
"required": [
"checked"
],
"additionalProperties": false
},
"buyerReports": {
"description": "What real buyers reported after paying. Never changes the grade; confirmations move the endpoint up our paid-test queue.",
"type": "object",
"properties": {
"confirmed": {
"type": "number",
"description": "Buyers (customers or wallets) who reported a usable response in 7 days"
},
"problems": {
"type": "number",
"description": "Buyers who reported a problem in 7 days"
},
"ourTestQueued": {
"type": "boolean",
"description": "Our own paid test is queued for this endpoint"
},
"windowDays": {
"type": "number"
},
"note": {
"type": "string"
}
},
"required": [
"confirmed",
"problems",
"ourTestQueued",
"windowDays",
"note"
],
"additionalProperties": false
},
"auth": {
"description": "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.",
"type": "object",
"properties": {
"required": {
"type": "boolean",
"description": "true: the seller needs its own sign-in (account, API key or wallet signature) on top of x402"
},
"note": {
"type": "string"
}
},
"required": [
"required",
"note"
],
"additionalProperties": false
},
"exampleInput": {
"description": "Present when the listing's own example input got 'not found' when we paid (no money taken): use real input.",
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"note": {
"type": "string"
}
},
"required": [
"found",
"note"
],
"additionalProperties": false
},
"withdrawn": {
"description": "Present when the endpoint was withdrawn by its seller or is gone from the Bazaar: no longer for sale, don't pay it.",
"type": "object",
"properties": {
"at": {
"type": "string"
},
"reason": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"at",
"reason",
"note"
],
"additionalProperties": false
},
"testedWith": {
"description": "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.",
"type": "object",
"properties": {
"how": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"how",
"note"
],
"additionalProperties": false
},
"requiredInput": {
"description": "Present when our paid test was refused for want of a header or input the listing doesn't document (no money taken).",
"type": "object",
"properties": {
"documented": {
"type": "boolean"
},
"note": {
"type": "string"
}
},
"required": [
"documented",
"note"
],
"additionalProperties": false
},
"page": {
"description": "Public page with the full history",
"type": "string"
},
"buyers": {
"description": "Who is really behind the seller's buyers. Never changes the grade.",
"type": "object",
"properties": {
"reviewed": {
"type": "boolean",
"description": "false until the seller's buyers have been reviewed (the biggest sellers are reviewed daily)"
},
"independentBuyers30d": {
"description": "Independent buyers behind the seller's buyer wallets in 30 days (wallets funded from one source count as one)",
"type": "number"
},
"buyerWallets30d": {
"description": "Buyer wallets that paid the seller in 30 days",
"type": "number"
},
"organicShare": {
"description": "0-1: share of 30-day volume from independent buyers",
"type": "number"
},
"estimated": {
"description": "true when counted from a sample of buyers",
"type": "boolean"
},
"flags": {
"description": "coordinated_wallets, self_funded, concentrated_buyers, shared_operator, estimated, partial_lookup",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"reviewed"
],
"additionalProperties": false
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"url",
"monitored",
"verdict"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢check_payment(url, amount, payTo, network, maxAmount, ...)
Decide whether a specific x402 payment should go through: returns allow true/false with reasons. Checks the endpoint's trust verdict, that the amount is within your cap and not above the monitored price, and that the payTo wallet matches the one we've observed (catches swapped or hijacked wallets). Optionally (minOrganicShare) it also requires that enough of the seller's volume comes from independent buyers. Intended for right before a payment, with the amount, payTo, and network from the endpoint's 402 quote; allow is true only when every rule passes. Use check_endpoint instead if you only want an endpoint's grade without a quote in hand. Read-only and free; it doesn't make or block the payment itself. When allow is false, the reasons list explains why. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full URL of the x402 endpoint you are about to pay, including path"
},
"amount": {
"description": "Amount about to be paid, atomic units (USDC has 6 decimals: 10000 = $0.01)",
"type": "string"
},
"payTo": {
"description": "Wallet address from the endpoint's 402 quote",
"type": "string"
},
"network": {
"description": "Network from the quote, e.g. eip155:8453",
"type": "string"
},
"maxAmount": {
"description": "Your hard cap for this payment in atomic units (USDC: 1000000 = $1). Payments above it are denied.",
"type": "string"
},
"requireVerified": {
"description": "true = only allow endpoints that delivered on a real test payment (default false)",
"type": "boolean"
},
"allowCaution": {
"description": "false = deny endpoints with a caution verdict too, not just avoid (default true)",
"type": "boolean"
},
"minOrganicShare": {
"description": "Optional, 0-1: deny sellers where less than this share of 30-day volume comes from independent buyers (e.g. 0.5). Not applied to sellers whose buyers haven't been reviewed yet.",
"type": "number",
"minimum": 0,
"maximum": 1
},
"priceTolerance": {
"description": "Optional, 0-0.5 (default 0.02 = 2%): how far above the endpoint's recent prices still counts as the same price, for sellers whose price drifts (pegged to BTC, gas or FX). Bigger jumps are denied as overcharges.",
"type": "number",
"minimum": 0,
"maximum": 0.5
},
"hasAccess": {
"description": "true if you have your own account, API key or sign-in with this seller. For endpoints that need the seller's sign-in on top of x402, allowCaution/requireVerified then don't block (we couldn't confirm delivery only because we can't sign in).",
"type": "boolean"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"allow": {
"type": "boolean",
"description": "Pay only when true"
},
"reasons": {
"type": "array",
"items": {
"type": "string"
},
"description": "Why it was allowed or denied"
},
"gradeHeadline": {
"description": "Why the endpoint has its grade, in one sentence",
"type": "string"
},
"gradeReasons": {
"description": "Every factor behind the endpoint's grade (same as check_endpoint's reasons)",
"type": "array",
"items": {
"type": "object",
"properties": {
"factor": {
"type": "string",
"description": "data, delivery, uptime, speed, wallet, price, listing, values, access or withdrawn"
},
"effect": {
"type": "string",
"description": "positive, neutral or negative"
},
"text": {
"type": "string",
"description": "What we found, in plain words (paid-test results include the date and what came back)"
},
"limit": {
"description": "The ceiling this factor puts on the grade, e.g. \"F (max 39)\"",
"type": "string"
},
"at": {
"description": "Date of the event it's based on (YYYY-MM-DD)",
"type": "string"
}
},
"required": [
"factor",
"effect",
"text"
],
"additionalProperties": false
}
},
"reviewable": {
"description": "Denied only for reasons a person may approve",
"type": "boolean"
},
"monitored": {
"type": "boolean",
"description": "Whether the endpoint is in the monitored catalog"
},
"url": {
"type": "string"
},
"verdict": {
"description": "proceed | caution | avoid | free | insufficient_data",
"type": [
"string",
"null"
]
},
"grade": {
"type": "string"
},
"score": {
"type": [
"number",
"null"
]
},
"delivery": {
"type": "string"
},
"payToMode": {
"type": "string"
},
"walletUnconfirmed": {
"type": "number"
},
"declaredPayTo": {
"description": "Payout wallets the seller declared itself",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"listing": {
"description": "Present only when the latest paid response differs from the listing's example or schema. The data is delivered.",
"type": "object",
"properties": {
"matchesExample": {
"type": "boolean",
"description": "false: the paid response differs from the seller's own example"
},
"warning": {
"type": "string",
"description": "How the real response differs, and where to read the fields"
},
"sellerFix": {
"type": "string",
"description": "What the seller can change"
},
"capped": {
"description": "true: the data is reshaped vs the listing (nested, list vs item), grade capped at B; false: a minor gap, warning only",
"type": "boolean"
}
},
"required": [
"matchesExample",
"warning",
"sellerFix"
],
"additionalProperties": false
},
"values": {
"description": "Automatic value checks on the latest paid response",
"type": "object",
"properties": {
"checked": {
"type": "boolean"
},
"warning": {
"type": "string"
}
},
"required": [
"checked"
],
"additionalProperties": false
},
"buyerReports": {
"description": "What real buyers reported after paying. Never changes the grade; confirmations move the endpoint up our paid-test queue.",
"type": "object",
"properties": {
"confirmed": {
"type": "number",
"description": "Buyers (customers or wallets) who reported a usable response in 7 days"
},
"problems": {
"type": "number",
"description": "Buyers who reported a problem in 7 days"
},
"ourTestQueued": {
"type": "boolean",
"description": "Our own paid test is queued for this endpoint"
},
"windowDays": {
"type": "number"
},
"note": {
"type": "string"
}
},
"required": [
"confirmed",
"problems",
"ourTestQueued",
"windowDays",
"note"
],
"additionalProperties": false
},
"afterPaying": {
"description": "How to report the outcome after paying (free, verified on-chain)",
"type": "string"
},
"authRequired": {
"description": "true: the seller needs its own sign-in on top of x402; send hasAccess: true if you have it",
"type": "boolean"
},
"observed": {
"description": "The latest payment quote our monitor saw",
"anyOf": [
{
"type": "object",
"properties": {
"payTo": {
"type": [
"string",
"null"
]
},
"amount": {
"type": [
"string",
"null"
]
},
"network": {
"type": [
"string",
"null"
]
},
"seenAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"buyers": {
"description": "Who is really behind the seller's buyers. Never changes the grade.",
"type": "object",
"properties": {
"reviewed": {
"type": "boolean",
"description": "false until the seller's buyers have been reviewed (the biggest sellers are reviewed daily)"
},
"independentBuyers30d": {
"description": "Independent buyers behind the seller's buyer wallets in 30 days (wallets funded from one source count as one)",
"type": "number"
},
"buyerWallets30d": {
"description": "Buyer wallets that paid the seller in 30 days",
"type": "number"
},
"organicShare": {
"description": "0-1: share of 30-day volume from independent buyers",
"type": "number"
},
"estimated": {
"description": "true when counted from a sample of buyers",
"type": "boolean"
},
"flags": {
"description": "coordinated_wallets, self_funded, concentrated_buyers, shared_operator, estimated, partial_lookup",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"reviewed"
],
"additionalProperties": false
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"allow",
"reasons",
"monitored"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡report_outcome(receipt, url, tx, answers, outcome, ...)
After paying an x402 endpoint, report whether you got what you paid for. Free, optional, and open to every agent: send the receipt from a Lumière PayCheck allow decision (paid plans), or the endpoint url plus the payment's transaction hash (anyone; we verify the payment on-chain, Base or Solana, within 24 hours). Answer the short questions in answers: gotResponse, matchedListing (yes/partly/no), charged (as_quoted/more/twice), dataUsable (yes/unsure/no), wouldPayAgain. Reports never change a grade by themselves: confirmations from independent buyers move the endpoint up our paid-test queue, and serious problems (nothing came back, charged more or twice) trigger a re-test; only our own paid test changes the grade. One report per payment; the seller's own wallet can't report on itself.
Input Schema
{
"type": "object",
"properties": {
"receipt": {
"description": "The receipt from a Lumière PayCheck 'allow' decision (paid plans). Or send url + tx instead.",
"type": "string"
},
"url": {
"description": "The endpoint you paid (with tx, when you have no receipt)",
"type": "string"
},
"tx": {
"description": "The payment's transaction hash (Base 0x...) or Solana signature",
"type": "string"
},
"answers": {
"type": "object",
"properties": {
"gotResponse": {
"description": "Did you get a response after paying?",
"type": "boolean"
},
"matchedListing": {
"description": "Did it match what the listing promised?",
"type": "string",
"enum": [
"yes",
"partly",
"no"
]
},
"charged": {
"description": "Were you charged the quoted amount, once?",
"type": "string",
"enum": [
"as_quoted",
"more",
"twice"
]
},
"dataUsable": {
"description": "Did the data look real and usable?",
"type": "string",
"enum": [
"yes",
"unsure",
"no"
]
},
"wouldPayAgain": {
"description": "Would you pay this endpoint again?",
"type": "boolean"
}
}
},
"outcome": {
"description": "Optional shortcut instead of answers: delivered = usable; problem = error, empty, wrong or overcharged",
"type": "string",
"enum": [
"delivered",
"problem"
]
},
"problems": {
"description": "Short descriptions, e.g. 'missing field price', 'HTTP 500'",
"type": "array",
"items": {
"type": "string"
}
},
"httpStatus": {
"description": "HTTP status the endpoint returned after payment, e.g. 200 or 500",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"accepted": {
"type": "boolean",
"description": "Whether the report was recorded"
},
"reason": {
"description": "Why it wasn't accepted",
"type": "string"
},
"url": {
"type": "string"
},
"outcome": {
"type": "string"
},
"retestQueued": {
"description": "A paid re-test was queued because of reports",
"type": "boolean"
},
"ourTestQueued": {
"description": "Our own paid test of this endpoint is queued (buyer confirmations or problem reports moved it up)",
"type": "boolean"
},
"flagged": {
"description": "no_response, overcharged or double_charged: sent privately to the operator for an immediate re-test",
"type": "string"
},
"verifiedOnChain": {
"description": "The payment was found on-chain (reports sent with tx instead of a receipt)",
"type": "boolean"
},
"paid": {
"description": "Amount paid on-chain, atomic units",
"type": "string"
},
"network": {
"type": "string"
},
"overcharge": {
"description": "Present when the on-chain payment was higher than any quote we saw",
"type": "string"
},
"thanks": {
"type": "string"
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"accepted"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢top_endpoints(limit)
List the x402 endpoints that are currently safest to pay (verdict proceed or caution, no payout-wallet incidents), best first, with score, grade, verdict, and whether a real test payment was delivered. Use it to discover reliable endpoints or pick between providers. To evaluate one specific endpoint use check_endpoint; to approve a payment use check_payment. Read-only and free; rankings update as monitoring runs (every 30 minutes).
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "How many endpoints to return, 1-50 (default 10)",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"endpoints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"score": {
"type": [
"number",
"null"
]
},
"grade": {
"type": "string"
},
"verdict": {
"type": "string",
"description": "proceed | caution | avoid | free | insufficient_data"
},
"delivery": {
"type": "string"
}
},
"required": [
"url",
"score",
"grade",
"verdict",
"delivery"
],
"additionalProperties": false
},
"description": "Best first"
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"count",
"endpoints"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢catalog_stats
Get an overview of the whole monitored x402 catalog: how many endpoints are monitored, how many fall into each verdict (proceed, caution, avoid, free, insufficient_data), and when scores were last computed. Use it for context or reporting, for example to tell a user how much of the x402 ecosystem passes checks. It says nothing about any single endpoint: use check_endpoint for one endpoint, top_endpoints for a ranked list, or check_payment before paying. Read-only, free, no parameters.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"scoredAt": {
"description": "When scores were last computed",
"type": [
"string",
"null"
]
},
"endpoints": {
"type": "number",
"description": "Endpoints monitored"
},
"byVerdict": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Endpoint count per verdict"
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"scoredAt",
"endpoints",
"byVerdict"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_full_report(url)
Get instructions for buying the detailed paid report on one x402 endpoint (score breakdown, current price quote, wallet and price history, test-payment results). Returns the report URL, price, and network; it doesn't buy the report itself. The report is an x402 endpoint that your agent pays with any x402 client. Use it only when the free check_endpoint result isn't enough and the user wants the full history. The response also lists the other paid x402 checks (wallet risk, batch grades, watch alerts), paid the same way. Endpoints we don't monitor return 404 on the report URL and are never charged. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full URL of the x402 endpoint you want the paid report for, including path"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"available": {
"description": "false when paid reports aren't enabled",
"type": "boolean"
},
"reportUrl": {
"description": "Request this URL with an x402 client to buy the report",
"type": "string"
},
"price": {
"type": "string"
},
"network": {
"type": "string"
},
"payment": {
"type": "string"
},
"note": {
"type": "string"
},
"otherPaidChecks": {
"description": "Other pay-per-call x402 checks, paid the same way",
"type": "array",
"items": {
"type": "object",
"properties": {
"what": {
"type": "string"
},
"request": {
"type": "string"
},
"price": {
"type": "string"
}
},
"required": [
"what",
"request",
"price"
],
"additionalProperties": false
}
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence