Read only x402 catalogue: payability verdicts, prices, drift, host status, signatures. No wallet.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Size and health of the x402 catalogue as of the latest full scan: resources, hosts, verdict counts, and payable endpoints per network.
This tool takes no arguments.
Size and health of the x402 catalogue as of the latest full scan: resources, hosts, verdict counts, and payable endpoints per network.
No arguments.
{
"type": "object",
"title": "catalogue_statsArguments",
"properties": {}
}Verdict changes between the two latest full scans (catalogue wide, or for one host), plus the declared model drift watch.
| Argument | Type | Description |
|---|---|---|
| host | string |
{
"type": "object",
"title": "drift_statusArguments",
"properties": {
"host": {
"type": "string",
"title": "Host",
"default": ""
}
}
}Search the catalogue by host or URL substring. Returns up to `limit` endpoints (max 50) with their latest verdict, plus the total match count. Use this first when you do not know the exact resource URL. Rows with in_latest_scan=false were not in the latest full scan; read last_checked_at for when they were last probed. Optional network filter (for example eip155:8453 or solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and sort=price for the cheapest first. last_checked_at is the currency claim: the last time any scan or reprobe looked at this resource. in_latest_scan means only that the resource was in the latest full scan; a row reprobed the same day can carry in_latest_scan=false and still be current. verdict_since is when the current verdict was first observed in the unbroken run that leads to it. A scan that did not contain the resource does not break the run, so verdict_since can span weeks nobody measured. How current a row is comes from last_checked_at and in_latest_scan, not from verdict_since alone.
| Argument | Type | Description |
|---|---|---|
| sort | string | |
| limit | integer | |
| query* | string | |
| network | string |
{
"type": "object",
"title": "find_endpointsArguments",
"required": [
"query"
],
"properties": {
"sort": {
"type": "string",
"title": "Sort",
"default": ""
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25
},
"query": {
"type": "string",
"title": "Query"
},
"network": {
"type": "string",
"title": "Network",
"default": ""
}
}
}Summary for a host (no time series): first/last seen, current verdict mix, n_resources, total verdict changes, gone_since if absent from the latest full scan, and a small resources_sample. Sample rows with in_latest_scan=false were not in the latest full scan; read last_checked_at for when they were last probed. n_resources counts every resource ever seen for this host; current_verdict_mix and n_payable_last_full count only the latest full scan. last_checked_at is the currency claim: the last time any scan or reprobe looked at this resource. in_latest_scan means only that the resource was in the latest full scan; a row reprobed the same day can carry in_latest_scan=false and still be current. verdict_since is when the current verdict was first observed in the unbroken run that leads to it. A scan that did not contain the resource does not break the run, so verdict_since can span weeks nobody measured. How current a row is comes from last_checked_at and in_latest_scan, not from verdict_since alone.
| Argument | Type | Description |
|---|---|---|
| host* | string |
{
"type": "object",
"title": "host_summaryArguments",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"title": "Host"
}
}
}Latest payability observation for one exact resource URL (path and query included), with the meaning of the verdict, remediation if it cannot be paid, and the per-network options seen. last_checked_at is the currency claim: the last time any scan or reprobe looked at this resource. in_latest_scan means only that the resource was in the latest full scan; a row reprobed the same day can carry in_latest_scan=false and still be current. verdict_since is when the current verdict was first observed in the unbroken run that leads to it. A scan that did not contain the resource does not break the run, so verdict_since can span weeks nobody measured. How current a row is comes from last_checked_at and in_latest_scan, not from verdict_since alone.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"title": "payability_verdictArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
}
}
}Published weekly payability reports (from the signed manifest).
No arguments.
{
"type": "object",
"title": "reportsArguments",
"properties": {}
}Offline EIP-191 verify of a signed nsgoods response. Identifies the service from the manifest (or the optional `service` arg), strips exactly that service's post-sign fields, canonicalises (JCS, both ASCII modes), recovers the signer and checks it against the published manifest signers. Reproduction-attestation (JCS/byte-length) and envelope (signer/signature, components) shapes are reported as unsupported_shape, not verified here. Refusals carry a distinct status: malformed_signature (signature is not a 65-byte 0x-prefixed hex string), schema_rejected (the body carries a signed_by/signature pair but fails the required field shape for every service the claimed signer covers; recovery was not attempted, checked is false, reasons lists the failed candidates), signature_mismatch (well-formed but recovers a different address than signed_by under every candidate service recipe of this signer), no_flat_recipe (signed_by is a manifest signer but every service it covers uses an envelope shape, so there is no flat recipe to check; recovery was not attempted, checked is false), unknown_signer (signed_by is not a manifest signer; recovery was not attempted, checked is false), unsupported_shape, or the no-signed_by/signature-pair case. checked is true only when EIP-191 recovery actually ran; every other refusal reports checked false.
| Argument | Type | Description |
|---|---|---|
| service | string | |
| response_json* | string |
{
"type": "object",
"title": "verify_signatureArguments",
"required": [
"response_json"
],
"properties": {
"service": {
"type": "string",
"title": "Service",
"default": ""
},
"response_json": {
"type": "string",
"title": "Response Json"
}
}
}Current x401 emitter adoption across the scanned catalogue (from the daily watcher).
No arguments.
{
"type": "object",
"title": "x401_statusArguments",
"properties": {}
}