x402 List

x402 Protocol Service Directory

●

x402-data-tools

Other PAYMENT-READY

payment-ready until 2026-10-11

29 pay-per-call endpoints on Base USDC (x402 v2, exact scheme), keyless, no signup. Two decision reports: agent-integration-readiness (five measured checks give a ready / ready_with_caveats / not_ready verdict) and integration-remediation-plan (same probes plus the ordered per-blocker repair list and an effort note). The remaining 27 are low-cost primitives: crypto and market data, Base L2 gas, Hacker News and entity sentiment, npm and tech-stack metadata, subdomains, and API-operations checks (CORS preflight, error shape, contract drift, deprecation, pagination Link headers, security.txt, cache/CDN policy, AI crawler and robots policy, llms.txt discovery surface). $0.002-$0.005 per primitive, $0.019 and $0.10 per decision report. All endpoints answer HTTP 402 with a valid bazaar extension and are indexed in the facilitator discovery catalog.

Pay from $0.002 to $0.10 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.

measured since 2026-09-07 (start of our harvest window) · $0 all-time · last settled 2026-10-03

BASE URL https://x402-data-tools.web4shop-7023.workers.dev │ WEBSITE https://verigrace.com │ ENDPOINTS 29 │ NETWORK Base │ ASSET USDC │ MEMBER SINCE 2026-10-04 │ MONITORED SINCE 2026-10-04

VERDICT

ranking generation 3

solid 88/100 #7 of 46 in Other by measured score

What the score read on this service: status online, 100% uptime, latest daily rollup (no 30d window yet), 68ms response p95, x402 compliance 14 of 14, $0.002 price against the category, on-chain traction measured. Each of those is measured, and each is published in full below.

The score comes from our own monitoring, never from reviews, operator claims, or a language model: reliability, x402 compliance, price against the category, a deterministic risk flag, and a small on-chain traction term, weighted by ranking generation 3. It is not placement anyone can buy: the paid verify tier is reported beside it and is not one of its inputs. Every component below stays published and read-only.

It is a score inside Other, and only there: price and speed are scored against the whole category field, every listing in it that carries no danger flag, the scored service included, which here means 46 listings, this one among them. That set is wider than the 46 the position above is counted against, because a listing we have measured too little of to rank still sits in the field the price and the speed are normalized over. The same service in a different field would read differently. The same engine answers GET /api/v1/best, and asked for a different pool (the whole directory, or another filter) it returns a different number for this service under this same ranking generation. Neither is more correct: they answer different questions, and the methodology states which is which.

Bands on the 0 to 100 measured score: strong at 93 and above, solid from 75, mixed from 55, weak below 55. Price and speed are scored against the whole category field, every listing in it that carries no danger flag, the scored service included, so the score places a service in its own field.

ALTERNATIVES IN OTHER

Other Other services in this directory, ordered by the same measured score. The figures are ours: 30-day uptime from our own probes, 30-day settlement volume read on-chain (a conservative undercount, and null where we cannot measure it, never a zero).

Ranked alternative x402 services in the same category, with band, measured score, 30-day uptime and 30-day on-chain settlement volume
SERVICE BAND SCORE UPTIME 30D VOL 30D
Clash of Coins Checkout strong 95 99.6% $28.4k
BRIJ Travel solid 92 100% $19.35
x402 Swag solid 90 100% $30.24
LogiGrain solid 89 100% $0.51
Agent Economy x402 Marketplace solid 89 100% $0.002
5 of 45 other ranked services in Other

ASSESSMENT

updated 2h ago

The parts the verdict above is computed from, each with its proof. Click any chip. Measured values stay read-only; unknown is honest, and an unknown is never counted as a zero.

reliability 100%
uptime · latest daily rollup
-
uptime 7d
-
uptime 30d
-
uptime 90d
-
response p95
68ms
avg response
68ms
total checks
1

Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.

compliance A (14/14)

14 of 14 x402 conformance checks pass. Full checklist below.

jump to compliance checklist

price $0.002 to $0.10 (p24 in Other)
price (min)
$0.002
price (max)
$0.10
category percentile (min)
p24 in Other
category percentile (max)
p70 in Other
endpoints / prices
29 / 6
model
tiered
stability
100%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

domain age
-
registrar
-
hosting
custom
domain created
---

Identity facts, not a risk score.

traction $0.00 30d · 0 buyers
volume 30d
$0.00
buyers 30d
0
settlements 30d
0
measured since
2026-09-07 (start of our harvest window)
last settlement
2026-10-03
top buyer share
-
trend 7d vs 30d
-
networks
eip155:8453
volume all-time
$0
settlements all-time
0
median settlement 30d
-
max settlement 30d
-
settled via
-

Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.

Top buyer share is part of the ranking score: a higher share lowers the traction part of the score, by up to half when one address holds all 30d volume.

WHAT IT DOES

ai-derived

No AI synthesis has been produced for this service yet.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET 402 CHANNEL
GET /v1/agent-error-normalizer $0.003 Base USDC header
GET /v1/agent-integration-readiness $0.019 Base USDC header
GET /v1/ai-crawler-robots-audit $0.003 Base USDC header
GET /v1/ai-discovery-surface-audit $0.003 Base USDC header
GET /v1/ai-transparency-signal-audit $0.003 Base USDC header
GET /v1/api-contract-drift $0.005 Base USDC header
GET /v1/api-deprecation-signal-audit $0.003 Base USDC header
GET /v1/api-pagination-link-inspector $0.003 Base USDC header
GET /v1/base-gas-price $0.002 Base USDC header
GET /v1/cache-cdn-policy-audit $0.003 Base USDC header
GET /v1/cors-preflight-probe $0.003 Base USDC header
GET /v1/crypto-price $0.003 Base USDC header
GET /v1/currency-convert $0.002 Base USDC header
GET /v1/entity-sentiment $0.002 Base USDC header
GET /v1/erc20-token $0.003 Base USDC header
GET /v1/funding-rate $0.003 Base USDC header
GET /v1/gas-estimator $0.002 Base USDC header
GET /v1/hn-search $0.004 Base USDC header
GET /v1/integration-remediation-plan $0.10 Base USDC header
GET /v1/market-sentiment $0.002 Base USDC header
GET /v1/mcp-readiness-probe $0.004 Base USDC header
GET /v1/npm-downloads $0.002 Base USDC header
GET /v1/npm-version $0.002 Base USDC header
GET /v1/security-txt-audit $0.003 Base USDC header
GET /v1/subdomains $0.004 Base USDC header
GET /v1/tech-stack $0.003 Base USDC header
GET /v1/webhook-safe-probe $0.003 Base USDC header
GET /v1/wikipedia-summary $0.002 Base USDC header
GET /v1/x402-change-signals $0.003 Base USDC header
29 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to GET /v1/agent-error-normalizer returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i 'https://x402-data-tools.web4shop-7023.workers.dev/v1/agent-error-normalizer'
// 402 response (captured by monitor) · 29 payloads · click to expand
[
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/crypto-price",
      "tags": [
        "crypto",
        "prices",
        "market-data",
        "defi"
      ],
      "mimeType": "application/json",
      "description": "Real-time USD prices and 24h change for bitcoin, ethereum, solana and other major coins.",
      "serviceName": "Real-time crypto prices"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [],
              "properties": {
                "ids": {
                  "type": "string",
                  "description": "Comma-separated CoinGecko ids (default bitcoin,ethereum,solana). Allowed: bitcoin,ethereum,solana,binancecoin,tether,usd-coin,dogecoin,cardano,ripple,avalanche-2,polkadot,chainlink,litecoin,uniswap,matic-network"
                }
              }
            },
            "queryParams": {
              "ids": "bitcoin,ethereum,solana"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "prices": {
                  "type": "array"
                },
                "source": {
                  "type": "string"
                },
                "updatedAt": {
                  "type": "string"
                }
              }
            },
            "example": {
              "prices": [
                {
                  "id": "bitcoin",
                  "symbol": "BTC",
                  "priceUsd": 83550,
                  "change24hPct": 1.2
                }
              ],
              "source": "coingecko",
              "updatedAt": "2026-10-01T00:00:00.000Z"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/gas-estimator",
      "tags": [
        "ethereum",
        "gas",
        "evm",
        "fee"
      ],
      "mimeType": "application/json",
      "description": "Current Ethereum mainnet gas prices in gwei (slow/standard/fast/urgent) from a public RPC.",
      "serviceName": "Ethereum gas estimator"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [],
              "properties": {}
            },
            "queryParams": {}
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "gwei": {
                  "type": "object"
                },
                "network": {
                  "type": "string"
                }
              }
            },
            "example": {
              "gwei": {
                "fast": 6.3,
                "slow": 6.3,
                "urgent": 6.4,
                "baseFee": 6.1,
                "standard": 6.3,
                "priorityFee": 0.2
              },
              "network": "eip155:1"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/funding-rate",
      "tags": [
        "crypto",
        "funding-rate",
        "derivatives",
        "defi"
      ],
      "mimeType": "application/json",
      "description": "Current perpetual futures funding rate and next funding time for major symbols from OKX public API.",
      "serviceName": "Crypto perpetual funding rate"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [],
              "properties": {
                "symbol": {
                  "type": "string",
                  "description": "Symbol (default BTC). Allowed: BTC,ETH,SOL,BNB,DOGE,AVAX,LINK"
                }
              }
            },
            "queryParams": {
              "symbol": "BTC"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "fundingRate": {
                  "type": "number"
                },
                "fundingTimeMs": {
                  "type": "string"
                },
                "fundingRatePct": {
                  "type": "number"
                }
              }
            },
            "example": {
              "source": "okx",
              "symbol": "BTC",
              "fundingRate": 0.0000527,
              "fundingTimeMs": 1790812800000,
              "fundingRatePct": 0.00527
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/market-sentiment",
      "tags": [
        "crypto",
        "sentiment",
        "fear-greed",
        "market-data"
      ],
      "mimeType": "application/json",
      "description": "Current crypto Fear & Greed Index value (0 extreme fear - 100 extreme greed) with recent history.",
      "serviceName": "Crypto market sentiment"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [],
              "properties": {
                "limit": {
                  "type": "string",
                  "description": "History entries to include (1-30, default 3)"
                }
              }
            },
            "queryParams": {
              "limit": "3"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number"
                },
                "history": {
                  "type": "array"
                },
                "classification": {
                  "type": "string"
                }
              }
            },
            "example": {
              "value": 71,
              "source": "alternative.me",
              "history": [
                {
                  "value": 71,
                  "timestamp": 1790726400,
                  "classification": "Greed"
                }
              ],
              "classification": "Greed"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "4000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/hn-search",
      "tags": [
        "hacker-news",
        "search",
        "news",
        "tech"
      ],
      "mimeType": "application/json",
      "description": "Search Hacker News stories by keyword with points, comments, author and URL.",
      "serviceName": "Hacker News search"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "q"
              ],
              "properties": {
                "q": {
                  "type": "string",
                  "description": "Search query (required)"
                },
                "hitsPerPage": {
                  "type": "string",
                  "description": "Results per page (1-20, default 5)"
                }
              }
            },
            "queryParams": {
              "q": "bitcoin",
              "hitsPerPage": "5"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "hits": {
                  "type": "array"
                },
                "query": {
                  "type": "string"
                },
                "nbHits": {
                  "type": "number"
                }
              }
            },
            "example": {
              "hits": [
                {
                  "title": "Bitcoin story",
                  "points": 42,
                  "objectID": "1"
                }
              ],
              "query": "bitcoin",
              "nbHits": 123,
              "source": "hn.algolia.com"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/entity-sentiment",
      "tags": [
        "sentiment",
        "news",
        "entity",
        "market-data"
      ],
      "mimeType": "application/json",
      "description": "Headline sentiment score (-1 negative .. +1 positive) for any entity from Google News RSS headlines, with top signal words and sample titles.",
      "serviceName": "Entity sentiment"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "q"
              ],
              "properties": {
                "q": {
                  "type": "string",
                  "description": "Entity/query to score (required)"
                },
                "limit": {
                  "type": "string",
                  "description": "Headlines to analyze (1-25, default 10)"
                }
              }
            },
            "queryParams": {
              "q": "bitcoin"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string"
                },
                "score": {
                  "type": "number"
                },
                "sampleTitles": {
                  "type": "array"
                },
                "headlineCount": {
                  "type": "number"
                },
                "classification": {
                  "type": "string"
                }
              }
            },
            "example": {
              "query": "bitcoin",
              "score": 0.33,
              "source": "news.google.com/rss",
              "topNegative": {
                "drop": 2
              },
              "topPositive": {
                "rally": 2
              },
              "negativeHits": 4,
              "positiveHits": 8,
              "sampleTitles": [
                "Bitcoin rally continues"
              ],
              "headlineCount": 10,
              "classification": "positive"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "4000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/subdomains",
      "tags": [
        "security",
        "subdomains",
        "ct-log",
        "recon",
        "web-ops"
      ],
      "mimeType": "application/json",
      "description": "Certificate-transparency subdomain discovery for any domain (crt.sh): full subdomain list for security reviews, attack-surface mapping and asset inventory.",
      "serviceName": "Subdomain enumeration"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "domain"
              ],
              "properties": {
                "domain": {
                  "type": "string",
                  "description": "Domain to enumerate (apex, e.g. example.com)"
                }
              }
            },
            "queryParams": {
              "domain": "example.com"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "count": {
                  "type": "number"
                },
                "domain": {
                  "type": "string"
                },
                "subdomains": {
                  "type": "array"
                }
              }
            },
            "example": {
              "count": 78,
              "domain": "example.com",
              "source": "crt.sh",
              "subdomains": [
                "api.example.com",
                "blog.example.com"
              ]
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/tech-stack",
      "tags": [
        "web",
        "tech-stack",
        "cms",
        "analytics",
        "sales-intel"
      ],
      "mimeType": "application/json",
      "description": "Detect the technology stack of any public website from response headers and HTML markers (CMS, JS frameworks, analytics, hosting/CDN). For sales-intel, competitors and integrations.",
      "serviceName": "Tech-stack detection"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public http(s) URL to analyze (private/internal hosts are blocked)"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "hints": {
                  "type": "array"
                },
                "detected": {
                  "type": "array"
                },
                "fetchedStatus": {
                  "type": "number"
                }
              }
            },
            "example": {
              "url": "https://example.com",
              "hints": [
                "server=nginx",
                "generator=WordPress 6.5"
              ],
              "detected": [
                "nginx",
                "WordPress",
                "React",
                "Cloudflare"
              ]
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/npm-version",
      "tags": [
        "npm",
        "packages",
        "javascript",
        "devtools"
      ],
      "mimeType": "application/json",
      "description": "Latest version, license, description and metadata for any npm package (registry.npmjs.org). Includes scoped packages.",
      "serviceName": "npm package lookup"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "package"
              ],
              "properties": {
                "package": {
                  "type": "string",
                  "description": "npm package name (e.g. express or @angular/core)"
                }
              }
            },
            "queryParams": {
              "package": "express"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "latest": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                },
                "versions": {
                  "type": "number"
                },
                "description": {
                  "type": "string"
                }
              }
            },
            "example": {
              "name": "express",
              "latest": "4.19.2",
              "license": "MIT",
              "versions": 289,
              "description": "Fast, unopinionated, minimalist web framework"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/currency-convert",
      "tags": [
        "currency",
        "fx",
        "finance",
        "ecommerce"
      ],
      "mimeType": "application/json",
      "description": "Live ECB daily rates (Frankfurter): convert any amount between 30+ fiat currencies, or fetch a rate table. For ecommerce, finance and multi-currency workflows.",
      "serviceName": "Fiat currency conversion"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "to"
              ],
              "properties": {
                "to": {
                  "type": "string",
                  "description": "Comma-separated 3-letter ISO target currencies (required)"
                },
                "from": {
                  "type": "string",
                  "description": "3-letter ISO base currency (default USD)"
                },
                "amount": {
                  "type": "string",
                  "description": "Amount to convert (default 1)"
                }
              }
            },
            "queryParams": {
              "to": "EUR,CNY,JPY",
              "from": "USD",
              "amount": "100"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "string"
                },
                "date": {
                  "type": "string"
                },
                "rates": {
                  "type": "object"
                },
                "amount": {
                  "type": "number"
                },
                "converted": {
                  "type": "object"
                }
              }
            },
            "example": {
              "base": "USD",
              "date": "2026-09-30",
              "rates": {
                "CNY": 6.7045,
                "EUR": 0.88067
              },
              "amount": 100,
              "converted": {
                "CNY": 670.45,
                "EUR": 88.067
              }
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/npm-downloads",
      "tags": [
        "npm",
        "packages",
        "javascript",
        "devtools"
      ],
      "mimeType": "application/json",
      "description": "Weekly/monthly/yearly download counts for any npm package (api.npmjs.org). Pairs with /v1/npm-version for package intelligence.",
      "serviceName": "npm download counts"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "package"
              ],
              "properties": {
                "period": {
                  "type": "string",
                  "description": "last-week | last-month | last-year (default last-week)"
                },
                "package": {
                  "type": "string",
                  "description": "npm package name (e.g. express or @angular/core)"
                }
              }
            },
            "queryParams": {
              "period": "last-week",
              "package": "express"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "end": {
                  "type": "string"
                },
                "start": {
                  "type": "string"
                },
                "period": {
                  "type": "string"
                },
                "package": {
                  "type": "string"
                },
                "downloads": {
                  "type": "number"
                }
              }
            },
            "example": {
              "end": "2026-09-30",
              "start": "2026-09-23",
              "period": "last-week",
              "package": "express",
              "downloads": 161638384
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/erc20-token",
      "tags": [
        "erc20",
        "token",
        "base",
        "web3",
        "evm"
      ],
      "mimeType": "application/json",
      "description": "On-chain name, symbol, decimals and total supply for any ERC-20 on Base (public RPC eth_call). For wallets, explorers and token-risk checks.",
      "serviceName": "ERC-20 token metadata"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "address"
              ],
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Token contract address (0x + 40 hex)"
                }
              }
            },
            "queryParams": {
              "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "symbol": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "network": {
                  "type": "string"
                },
                "decimals": {
                  "type": "string"
                },
                "totalSupply": {
                  "type": "string"
                }
              }
            },
            "example": {
              "name": "USD Coin",
              "symbol": "USDC",
              "address": "0x833589…2913",
              "network": "eip155:8453",
              "decimals": "6",
              "totalSupply": "3524123456789"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/agent-error-normalizer",
      "tags": [
        "api",
        "errors",
        "rfc9457",
        "reliability",
        "agents"
      ],
      "mimeType": "application/json",
      "description": "Normalize a public HTTP response into RFC 9457 problem-details, retry, rate-limit and machine-readable error evidence.",
      "serviceName": "API error normalizer"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public HTTP URL to inspect"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com/does-not-exist"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "status": {
                  "type": "number"
                },
                "headers": {
                  "type": "object"
                },
                "bodyPreview": {
                  "type": "string"
                },
                "contentType": {
                  "type": "string"
                },
                "isRfc9457Like": {
                  "type": "boolean"
                },
                "problemDetails": {
                  "type": "object"
                }
              }
            },
            "example": {
              "status": 404,
              "retryAfter": null,
              "contentType": "text/html",
              "statusClass": "4xx",
              "isRfc9457Like": false,
              "rateLimitSignals": []
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/webhook-safe-probe",
      "tags": [
        "webhook",
        "http",
        "integration",
        "ops",
        "safe-probe"
      ],
      "mimeType": "application/json",
      "description": "Probe a public webhook endpoint with OPTIONS or HEAD only. Reports status, latency, Allow/CORS/retry headers without sending a delivery or request body.",
      "serviceName": "Webhook safe capability probe"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public webhook URL"
                },
                "method": {
                  "type": "string",
                  "description": "OPTIONS or HEAD only (default OPTIONS)"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com/webhook",
              "method": "OPTIONS"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "method": {
                  "type": "string"
                },
                "status": {
                  "type": "number"
                },
                "headers": {
                  "type": "object"
                },
                "allowedMethods": {
                  "type": "array"
                },
                "responseTimeMs": {
                  "type": "number"
                }
              }
            },
            "example": {
              "method": "OPTIONS",
              "status": 204,
              "allowedMethods": [
                "POST"
              ],
              "responseTimeMs": 142,
              "sideEffectPolicy": "Only OPTIONS or HEAD sent; no POST, PUT, PATCH, DELETE, request body, or webhook delivery."
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "4000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/mcp-readiness-probe",
      "tags": [
        "mcp",
        "ai-agents",
        "json-rpc",
        "integration",
        "readiness"
      ],
      "mimeType": "application/json",
      "description": "Read-only MCP initialize and tools/list handshake check for public endpoints. Never calls tools, reads resources, or executes prompts.",
      "serviceName": "MCP readiness probe"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public MCP endpoint URL"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com/mcp"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "toolsList": {
                  "type": "object"
                },
                "initialize": {
                  "type": "object"
                },
                "serverInfo": {
                  "type": "object"
                },
                "responseTimeMs": {
                  "type": "number"
                },
                "protocolVersion": {
                  "type": "string"
                }
              }
            },
            "example": {
              "toolsList": {
                "ok": true,
                "status": 200,
                "toolCount": 3
              },
              "initialize": {
                "ok": true,
                "status": 200
              },
              "protocolVersion": "2025-06-18",
              "sideEffectPolicy": "Only initialize and tools/list; no tools/call, resources/read, or prompts/get."
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/ai-transparency-signal-audit",
      "tags": [
        "ai",
        "transparency",
        "policy",
        "compliance",
        "web"
      ],
      "mimeType": "application/json",
      "description": "Extract observable AI disclosure, generated-content, model/provider, human-contact, appeal and provenance signals from a public page. Evidence only, never legal advice.",
      "serviceName": "AI transparency signal audit"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public HTTP page to inspect"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                },
                "signals": {
                  "type": "object"
                },
                "signalCount": {
                  "type": "number"
                },
                "fetchedStatus": {
                  "type": "number"
                }
              }
            },
            "example": {
              "note": "Factual page-signal extraction only; absence is not proof of non-compliance and this is not legal advice.",
              "signals": {
                "aiDisclosure": {
                  "present": true
                },
                "humanContact": {
                  "present": true
                }
              },
              "signalCount": 2,
              "fetchedStatus": 200
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/security-txt-audit",
      "tags": [
        "security",
        "security-txt",
        "rfc9116",
        "operations"
      ],
      "mimeType": "application/json",
      "description": "Inspect RFC 9116 security.txt fields, contact, expiry, policy, encryption and acknowledgments at a public origin. Evidence only; no security certification.",
      "serviceName": "security.txt audit"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public HTTP origin to inspect"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                },
                "fields": {
                  "type": "object"
                },
                "status": {
                  "type": "number"
                },
                "warnings": {
                  "type": "array"
                },
                "hasContact": {
                  "type": "boolean"
                },
                "expiresValid": {
                  "type": "boolean"
                },
                "securityTxtUrl": {
                  "type": "string"
                }
              }
            },
            "example": {
              "note": "Factual RFC 9116 field inspection; does not certify security posture or vulnerability-reporting readiness.",
              "status": 200,
              "warnings": [],
              "hasPolicy": true,
              "hasContact": true,
              "expiresValid": true,
              "hasEncryption": true
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/api-contract-drift",
      "tags": [
        "api",
        "openapi",
        "contract",
        "breaking-change",
        "diff"
      ],
      "mimeType": "application/json",
      "description": "Compare two public JSON OpenAPI documents for added/removed paths, method changes and required-field drift. Bounded, stateless and structural; YAML is not parsed.",
      "serviceName": "API contract drift"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "before",
                "after"
              ],
              "properties": {
                "after": {
                  "type": "string",
                  "description": "Newer public JSON API description URL"
                },
                "before": {
                  "type": "string",
                  "description": "Older public JSON API description URL"
                }
              }
            },
            "queryParams": {
              "after": "https://example.com/openapi-new.json",
              "before": "https://example.com/openapi-old.json"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "note": {
                  "type": "string"
                },
                "after": {
                  "type": "object"
                },
                "before": {
                  "type": "object"
                },
                "addedPaths": {
                  "type": "array"
                },
                "removedPaths": {
                  "type": "array"
                },
                "changedMethods": {
                  "type": "array"
                },
                "addedRequiredFields": {
                  "type": "array"
                },
                "removedRequiredFields": {
                  "type": "array"
                }
              }
            },
            "example": {
              "addedPaths": [
                "/v2/orders"
              ],
              "removedPaths": [
                "/v1/orders"
              ],
              "changedMethods": [],
              "addedRequiredFields": [
                "#/components/schemas/Order:id"
              ],
              "removedRequiredFields": []
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/cache-cdn-policy-audit",
      "tags": [
        "cache",
        "cdn",
        "http",
        "operations",
        "headers"
      ],
      "mimeType": "application/json",
      "description": "Read public Cache-Control, validators, Vary, Age and CDN headers using HEAD only. Reports evidence, not cache performance or security conclusions.",
      "serviceName": "Cache and CDN policy audit"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public HTTP URL to inspect with HEAD"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "method": {
                  "type": "string"
                },
                "status": {
                  "type": "number"
                },
                "headers": {
                  "type": "object"
                },
                "cdnSignals": {
                  "type": "array"
                },
                "validators": {
                  "type": "object"
                },
                "cacheDirectives": {
                  "type": "array"
                }
              }
            },
            "example": {
              "method": "HEAD",
              "status": 200,
              "headers": {
                "etag": "\"abc\"",
                "cache-control": "public, max-age=3600"
              },
              "cdnSignals": [],
              "validators": {
                "etag": true,
                "lastModified": false
              }
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/ai-discovery-surface-audit",
      "tags": [
        "ai-agents",
        "discovery",
        "llms-txt",
        "x402",
        "openapi"
      ],
      "mimeType": "application/json",
      "description": "Check public robots.txt, llms.txt, x402, OpenAPI and agent manifest surfaces for reachability and response metadata. Presence evidence only, not SEO or compliance scoring.",
      "serviceName": "AI discovery surface audit"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public HTTP origin or page"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                },
                "origin": {
                  "type": "string"
                },
                "surfaces": {
                  "type": "array"
                },
                "reachableCount": {
                  "type": "number"
                }
              }
            },
            "example": {
              "surfaces": [
                {
                  "path": "/robots.txt",
                  "status": 200,
                  "reachable": true
                },
                {
                  "path": "/llms.txt",
                  "status": 404,
                  "reachable": false
                }
              ],
              "reachableCount": 2
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/api-deprecation-signal-audit",
      "tags": [
        "api",
        "deprecation",
        "sunset",
        "lifecycle",
        "migration"
      ],
      "mimeType": "application/json",
      "description": "Read HTTP Deprecation, Sunset, Link rel=deprecation, Warning and vendor lifecycle headers using HEAD or GET. Reports observations without inferring support status.",
      "serviceName": "API deprecation signal audit"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public API endpoint URL"
                },
                "method": {
                  "type": "string",
                  "description": "HEAD or GET only; defaults to HEAD"
                }
              }
            },
            "queryParams": {
              "url": "https://api.example.com/v1/resource",
              "method": "HEAD"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                },
                "method": {
                  "type": "string"
                },
                "status": {
                  "type": "number"
                },
                "headers": {
                  "type": "object"
                },
                "signals": {
                  "type": "object"
                }
              }
            },
            "example": {
              "method": "HEAD",
              "status": 200,
              "signals": {
                "sunsetDate": "Wed, 31 Dec 2026 23:59:59 GMT",
                "sunsetValid": true,
                "sunsetHeader": true,
                "sunsetPassed": false,
                "warningHeader": false,
                "deprecationLinks": [],
                "deprecationHeader": true
              }
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/cors-preflight-probe",
      "tags": [
        "cors",
        "browser",
        "http",
        "integration",
        "preflight"
      ],
      "mimeType": "application/json",
      "description": "Send an OPTIONS preflight for a supplied browser Origin, requested method and optional request headers. Evaluates only the returned CORS tuple, not overall security.",
      "serviceName": "Origin-specific CORS preflight probe"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url",
                "origin"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public target URL"
                },
                "origin": {
                  "type": "string",
                  "description": "HTTP(S) origin without path"
                },
                "request_method": {
                  "type": "string",
                  "description": "Requested method, default GET"
                },
                "request_headers": {
                  "type": "string",
                  "description": "Comma-separated requested header names"
                }
              }
            },
            "queryParams": {
              "url": "https://api.example.com/v1/data",
              "origin": "https://app.example.com",
              "request_method": "POST",
              "request_headers": "authorization,content-type"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                },
                "status": {
                  "type": "number"
                },
                "evaluation": {
                  "type": "object"
                },
                "requestedMethod": {
                  "type": "string"
                },
                "requestedOrigin": {
                  "type": "string"
                },
                "responseHeaders": {
                  "type": "object"
                },
                "requestedHeaders": {
                  "type": "array"
                }
              }
            },
            "example": {
              "status": 204,
              "evaluation": {
                "methodAllowed": true,
                "originAllowed": true,
                "headersAllowed": true,
                "preflightAccepted": true
              },
              "requestedMethod": "POST",
              "requestedOrigin": "https://app.example.com",
              "requestedHeaders": [
                "authorization",
                "content-type"
              ]
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/ai-crawler-robots-audit",
      "tags": [
        "ai-agents",
        "robots-txt",
        "crawler-policy",
        "rfc9309",
        "web"
      ],
      "mimeType": "application/json",
      "description": "Evaluate RFC 9309 robots.txt Allow/Disallow rules for named AI crawler product tokens and a root-relative path. robots.txt is not access authorization.",
      "serviceName": "AI crawler robots audit"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public origin to inspect"
                },
                "path": {
                  "type": "string",
                  "description": "Root-relative path to evaluate, default /"
                },
                "agents": {
                  "type": "string",
                  "description": "Comma-separated 1-8 robots product tokens"
                }
              }
            },
            "queryParams": {
              "url": "https://example.com",
              "path": "/docs",
              "agents": "GPTBot,ClaudeBot,Google-Extended,CCBot"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "note": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                },
                "agents": {
                  "type": "array"
                },
                "origin": {
                  "type": "string"
                },
                "status": {
                  "type": "number"
                },
                "robotsUrl": {
                  "type": "string"
                },
                "truncated": {
                  "type": "boolean"
                }
              }
            },
            "example": {
              "note": "robots.txt is a crawler request, not access authorization.",
              "path": "/docs",
              "agents": [
                {
                  "agent": "GPTBot",
                  "allowed": false,
                  "decision": "disallowed_by_rules",
                  "groupMatch": "specific",
                  "matchedRule": {
                    "line": 4,
                    "pattern": "/docs",
                    "directive": "disallow"
                  }
                }
              ],
              "status": 200
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/api-pagination-link-inspector",
      "tags": [
        "api",
        "pagination",
        "rfc8288",
        "http",
        "agents"
      ],
      "mimeType": "application/json",
      "description": "Read a public API response Link header and extract RFC 8288 next, prev, first and last relations without following pagination URLs.",
      "serviceName": "API pagination Link inspector"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public API URL to inspect with GET"
                }
              }
            },
            "queryParams": {
              "url": "https://api.example.com/items?page=1"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                },
                "status": {
                  "type": "number"
                },
                "linkCount": {
                  "type": "number"
                },
                "relations": {
                  "type": "object"
                },
                "linkHeaderPresent": {
                  "type": "boolean"
                }
              }
            },
            "example": {
              "note": "Reads response headers only and never follows pagination links.",
              "status": 200,
              "linkCount": 2,
              "relations": {
                "last": [],
                "next": [
                  {
                    "url": "https://api.example.com/items?page=2",
                    "parameters": {
                      "rel": "next"
                    }
                  }
                ],
                "prev": [],
                "first": []
              },
              "linkHeaderPresent": true
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/base-gas-price",
      "tags": [
        "blockchain",
        "gas",
        "base",
        "l2"
      ],
      "mimeType": "application/json",
      "description": "Current Base network gas price in Gwei (complements Ethereum gas estimator with L2 coverage)",
      "serviceName": "Base Gas Price"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [],
              "properties": {}
            },
            "queryParams": {}
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string"
                },
                "chainId": {
                  "type": "number"
                },
                "network": {
                  "type": "string"
                },
                "queriedAt": {
                  "type": "string"
                },
                "gasPriceWei": {
                  "type": "string"
                },
                "rpcEndpoint": {
                  "type": "string"
                },
                "gasPriceGwei": {
                  "type": "number"
                }
              }
            },
            "example": {
              "source": "Base network gas price",
              "chainId": 8453,
              "network": "Base",
              "queriedAt": "2026-10-01T12:00:00.000Z",
              "gasPriceWei": "6000000",
              "rpcEndpoint": "base-rpc.publicnode.com",
              "gasPriceGwei": 0.006
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/wikipedia-summary",
      "tags": [
        "knowledge",
        "wikipedia",
        "reference",
        "encyclopedia"
      ],
      "mimeType": "application/json",
      "description": "Fetch article summary from Wikipedia REST API with extract text, thumbnail, and page URL (supports multiple languages)",
      "serviceName": "Wikipedia Summary"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "title"
              ],
              "properties": {
                "lang": {
                  "type": "string",
                  "pattern": "^[a-z]{2,3}$",
                  "description": "Language code (default: en)"
                },
                "title": {
                  "type": "string",
                  "description": "Article title (use underscores for spaces)"
                }
              }
            },
            "queryParams": {
              "lang": "en",
              "title": "Artificial_intelligence"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "extract": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                },
                "pageUrl": {
                  "type": "string"
                },
                "language": {
                  "type": "string"
                },
                "queriedAt": {
                  "type": "string"
                },
                "thumbnail": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "width": {
                      "type": "number"
                    },
                    "height": {
                      "type": "number"
                    },
                    "source": {
                      "type": "string"
                    }
                  }
                },
                "description": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "extractHtml": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            "example": {
              "title": "Artificial intelligence",
              "source": "Wikipedia REST API",
              "extract": "Artificial intelligence (AI) is intelligence demonstrated by machines...",
              "license": "Text available under CC BY-SA 4.0; see Wikipedia for full attribution",
              "pageUrl": "https://en.wikipedia.org/wiki/Artificial_intelligence",
              "language": "en",
              "queriedAt": "2026-10-01T12:00:00.000Z",
              "thumbnail": {
                "width": 300,
                "height": 200,
                "source": "https://upload.wikimedia.org/..."
              },
              "description": "Intelligence of machines or software",
              "extractHtml": null
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "3000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/x402-change-signals",
      "tags": [
        "x402",
        "api",
        "change-detection",
        "schema",
        "operations"
      ],
      "mimeType": "application/json",
      "description": "Read-only summary of recent x402-list schema, price, and payTo changes for API operators and agents.",
      "serviceName": "x402 Change Signals"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [],
              "properties": {
                "days": {
                  "type": "integer",
                  "maximum": 365,
                  "minimum": 1
                },
                "type": {
                  "enum": [
                    "schema_changed",
                    "price_changed",
                    "payto_changed"
                  ],
                  "type": "string"
                },
                "limit": {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1
                },
                "service": {
                  "type": "string"
                }
              }
            },
            "queryParams": {
              "days": "30",
              "type": "schema_changed",
              "limit": "25"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "meta": {
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "note": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "changes": {
                  "type": "array"
                },
                "filters": {
                  "type": "object"
                },
                "queriedAt": {
                  "type": "string"
                }
              }
            },
            "example": {
              "meta": {
                "days": 30,
                "total": 1858
              },
              "note": "Read-only directory change signals; this reports observed listing changes, not sales, compatibility, or demand proof.",
              "source": "x402-list.com public changes API",
              "changes": [
                {
                  "name": "Example Service",
                  "slug": "example-service",
                  "type": "schema_changed",
                  "observedAt": "2026-10-01T11:00:00.000Z",
                  "schemaAdded": 1,
                  "schemaRemoved": 0,
                  "endpointsAdded": 0,
                  "endpointsRemoved": 0
                }
              ],
              "filters": {
                "days": 30,
                "type": "schema_changed",
                "limit": 25,
                "service": null
              },
              "queriedAt": "2026-10-01T12:00:00.000Z"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "19000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/agent-integration-readiness",
      "tags": [
        "mcp",
        "agents",
        "readiness",
        "integration",
        "cors",
        "discovery",
        "decision-report"
      ],
      "mimeType": "application/json",
      "description": "Single-call decision report: can an AI agent actually integrate with this endpoint? Runs MCP handshake, CORS preflight, machine-readable error shape, discovery surface and AI-crawler access concurrently, then returns a ready / ready_with_caveats / not_ready verdict with per-blocker fixes. Read-only; no tools/call and no writes to the target.",
      "serviceName": "Agent Integration Readiness"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public HTTPS endpoint an agent would call. Must be http/https and not a private host."
                },
                "agent_origin": {
                  "type": "string",
                  "description": "Origin the calling agent runs on, used for the CORS preflight (default https://agent.example.com)."
                }
              }
            },
            "queryParams": {
              "url": "https://api.example.com/v1/items",
              "agent_origin": "https://agent.example.com"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "checks": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string"
                      },
                      "detail": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      }
                    }
                  }
                },
                "source": {
                  "type": "string"
                },
                "summary": {
                  "type": "object",
                  "properties": {
                    "fail": {
                      "type": "number"
                    },
                    "pass": {
                      "type": "number"
                    },
                    "warn": {
                      "type": "number"
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                },
                "verdict": {
                  "enum": [
                    "ready",
                    "ready_with_caveats",
                    "not_ready"
                  ],
                  "type": "string"
                },
                "blockers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "fix": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "observed": {
                        "type": "string"
                      }
                    }
                  }
                },
                "decision": {
                  "type": "string"
                },
                "auditedAt": {
                  "type": "string"
                },
                "agentOrigin": {
                  "type": "string"
                },
                "limitations": {
                  "type": "string"
                },
                "responseTimeMs": {
                  "type": "number"
                },
                "sideEffectPolicy": {
                  "type": "string"
                }
              }
            },
            "example": {
              "url": "https://api.example.com/v1/items",
              "checks": [
                {
                  "id": "mcp_handshake",
                  "label": "MCP tool handshake",
                  "detail": "Not an MCP endpoint: initialize returned HTTP 404.",
                  "status": "fail"
                },
                {
                  "id": "cors_preflight",
                  "label": "Agent CORS preflight",
                  "detail": "Preflight allowed for https://app.example.com (GET, POST, OPTIONS).",
                  "status": "pass"
                },
                {
                  "id": "error_shape",
                  "label": "Machine-readable errors",
                  "detail": "HTTP 500 returned content-type text/html, not JSON.",
                  "status": "fail"
                },
                {
                  "id": "docs_discoverability",
                  "label": "Machine-readable discovery surface",
                  "detail": "Found /openapi.json; other discovery files are missing.",
                  "status": "warn"
                },
                {
                  "id": "ai_crawler_access",
                  "label": "AI crawler access",
                  "detail": "robots.txt does not block common AI crawler agents.",
                  "status": "pass"
                }
              ],
              "source": "agent integration readiness report",
              "summary": {
                "fail": 3,
                "pass": 1,
                "warn": 1,
                "total": 5
              },
              "verdict": "not_ready",
              "blockers": [
                {
                  "id": "mcp_handshake",
                  "fix": "Expose an MCP endpoint that answers JSON-RPC 2.0 initialize and tools/list. Without it no agent can call this API.",
                  "status": "fail",
                  "observed": "Not an MCP endpoint: initialize returned HTTP 404."
                },
                {
                  "id": "error_shape",
                  "fix": "Agents cannot branch on unstructured error bodies.",
                  "status": "fail",
                  "observed": "HTTP 500 returned content-type text/html, not JSON."
                },
                {
                  "id": "docs_discoverability",
                  "fix": "A machine catalog lets agents find and price your endpoint without guessing.",
                  "status": "warn",
                  "observed": "Found /openapi.json; other discovery files are missing."
                }
              ],
              "decision": "An agent cannot reliably integrate with this endpoint until the blockers below are fixed.",
              "auditedAt": "2026-10-01T12:00:00.000Z",
              "agentOrigin": "https://agent.example.com",
              "limitations": "Point-in-time observation from one Cloudflare edge vantage. Not a penetration test, not a compliance certification, and not a guarantee of future behaviour.",
              "responseTimeMs": 812,
              "sideEffectPolicy": "Read-only GET/OPTIONS plus one MCP initialize and one tools/list call. No tools/call, no writes, no request bodies sent to the target beyond the MCP handshake."
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xd29D93F0A5E161F1F286F5Cd5Afeb718837C15E1",
        "amount": "100000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402-data-tools.web4shop-7023.workers.dev/v1/integration-remediation-plan",
      "tags": [
        "agents",
        "integration",
        "remediation",
        "mcp-readiness",
        "cors-check",
        "decision-report",
        "fix-plan",
        "maintainer"
      ],
      "mimeType": "application/json",
      "description": "Ordered fix plan for the maintainer of an endpoint AI agents cannot use. Runs the same five measured checks (MCP handshake, CORS preflight, machine-readable error shape, discovery surface, AI-crawler access), then returns the blockers in fail-first order with the exact repair for each, plus a model-drafted effort and sequencing note. Use this when you need to know what to change and in what order, not just whether the endpoint is ready. Read-only against the target.",
      "serviceName": "API Integration Remediation Plan"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "inputSchema": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Public HTTPS endpoint an agent would call. Must be http/https and not a private host."
                },
                "agent_origin": {
                  "type": "string",
                  "description": "Origin the calling agent runs on, used for the CORS preflight (default https://agent.example.com)."
                }
              }
            },
            "queryParams": {
              "url": "https://api.example.com/v1/items",
              "agent_origin": "https://agent.example.com"
            }
          },
          "output": {
            "type": "json",
            "schema": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "plan": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "summary": {
                  "type": "object",
                  "properties": {
                    "fail": {
                      "type": "number"
                    },
                    "pass": {
                      "type": "number"
                    },
                    "warn": {
                      "type": "number"
                    },
                    "total": {
                      "type": "number"
                    },
                    "unknown": {
                      "type": "number"
                    }
                  }
                },
                "verdict": {
                  "enum": [
                    "ready",
                    "ready_with_caveats",
                    "not_ready"
                  ],
                  "type": "string"
                },
                "verified": {
                  "type": "object",
                  "properties": {
                    "checks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "detail": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "blockers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "fix": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "observed": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "decision": {
                      "type": "string"
                    }
                  }
                },
                "auditedAt": {
                  "type": "string"
                },
                "integrity": {
                  "type": "string"
                },
                "planSource": {
                  "type": "string"
                },
                "agentOrigin": {
                  "type": "string"
                },
                "limitations": {
                  "type": "string"
                },
                "schedulingAdvice": {
                  "type": "string"
                },
                "sideEffectPolicy": {
                  "type": "string"
                },
                "probeResponseTimeMs": {
                  "type": "number"
                },
                "schedulingAdviceSource": {
                  "type": "string"
                }
              }
            },
            "example": {
              "url": "https://api.example.com/v1/items",
              "plan": "1. [FAIL] mcp_handshake: Expose an MCP endpoint that answers JSON-RPC 2.0 initialize and tools/list. Without it no agent can call this API.\n2. [WARN] cors_preflight: Preflight headers are partial. Return Access-Control-Allow-Methods and Access-Control-Allow-Headers for the required method and content type.\n3. [UNKNOWN] docs_discoverability: Discovery surface could not be fetched. Re-run when the origin serves the discovery files over the public internet.",
              "source": "api integration remediation plan",
              "summary": {
                "fail": 3,
                "pass": 1,
                "warn": 1,
                "total": 5,
                "unknown": 0
              },
              "verdict": "not_ready",
              "verified": {
                "checks": [
                  {
                    "id": "mcp_handshake",
                    "label": "MCP tool handshake",
                    "detail": "Not an MCP endpoint: initialize returned HTTP 404.",
                    "status": "fail"
                  }
                ],
                "blockers": [
                  {
                    "id": "mcp_handshake",
                    "fix": "Expose an MCP endpoint that answers JSON-RPC 2.0 initialize and tools/list. Without it no agent can call this API.",
                    "status": "fail",
                    "observed": "Not an MCP endpoint: initialize returned HTTP 404."
                  }
                ],
                "decision": "An agent cannot reliably integrate with this endpoint until the blockers below are fixed."
              },
              "auditedAt": "2026-10-01T12:00:00.000Z",
              "integrity": "Every field under `verified` was measured against the target, and every line of `plan` is the reviewed fix text for the matching check. `schedulingAdvice` is model-drafted effort and sequencing only; it is not an independent observation and adds no new findings.",
              "planSource": "ordered from the reviewed per-check remediation table; not model-written",
              "agentOrigin": "https://agent.example.com",
              "limitations": "Point-in-time observation from one Cloudflare edge vantage. Not a penetration test, not a compliance certification, and not a guarantee of future behaviour.",
              "schedulingAdvice": "EFFORT | Two to four hours, most of it building the MCP endpoint if it does not exist yet.\nSEQUENCE | Ship the CORS headers and discovery files first since they are quick, then build the MCP server.",
              "sideEffectPolicy": "Read-only GET/OPTIONS plus one MCP initialize and one tools/list call against the target. The model pass runs on Cloudflare Workers AI and receives only the probe results listed under `verified`.",
              "probeResponseTimeMs": 812,
              "schedulingAdviceSource": "model-drafted from verified probes (@cf/meta/llama-3.2-3b-instruct)"
            }
          }
        },
        "schema": {
          "type": "object",
          "properties": {
            "info": {
              "type": "object",
              "description": "Bazaar discovery metadata for the resource"
            }
          }
        }
      }
    },
    "x402Version": 2
  }
]

OVER TIME

All charts use the 30d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/x402-data-tools/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.

UPTIME
10-04 · uptime 100.0% · 64ms avg10-0410-04
30D UPTIME 100%
RESPONSE TIME
10-04 · 64ms avg10-04 · 64ms avg10-0410-04
AVG RESP 67ms
PRICE (captured 402, USD)
building price history ($0.003)

Median across 29 endpoints. Use the selector to isolate one.

SUB-SCORES (uptime + x402 compliance)
building assessment history (1 day so far)

checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression

VOLUME (on-chain settlement, USD)
09-07 · $0.7409-08 · $109-09 · $209-13 · $909-17 · $2509-18 · $5809-19 · $2409-21 · $0.4909-22 · $0.0409-23 · $209-24 · $809-25 · $109-27 · $0.6510-01 · $0.0810-02 · $0.0610-03 · $1peak $5809-0710-03
DISTINCT BUYERS
09-07 · 1 buyer09-08 · 1 buyer09-09 · 1 buyer09-13 · 1 buyer09-17 · 2 buyers09-18 · 1 buyer09-19 · 1 buyer09-21 · 1 buyer09-22 · 1 buyer09-23 · 2 buyers09-24 · 2 buyers09-25 · 2 buyers09-27 · 1 buyer10-01 · 2 buyers10-02 · 2 buyers10-03 · 2 buyerspeak 2 buyers09-0710-03

COMPLIANCE

14/14 checks pass · grade A

last 402 captured 2026-10-04 · last up 2026-10-04

  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • served over HTTPS
  • declares the current x402 version (2)
  • EIP-712 domain parameters present on every EVM entry
  • x402 v2 envelope delivered in the payment-required header

SITE PILLARS

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
recent checks (7) live · click to expand
TIME STATUS RESP CAUSE
● OK 68ms
● OK 75ms
● OK 73ms
● OK 64ms
● OK 59ms
● OK 63ms
● OK 68ms

EMBED THIS BADGE

Show that x402-data-tools is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

x402-data-tools listed on x402-list
status
x402-data-tools uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/x402-data-tools?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/x402-data-tools.svg" alt="x402-data-tools listed on x402-list" height="28">
</a>
// Markdown
[![x402-data-tools on x402-list](https://x402-list.com/badge/x402-data-tools.svg)](https://x402-list.com/services/x402-data-tools?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/x402-data-tools?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/x402-data-tools.svg?data=uptime" alt="x402-data-tools uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]

Earn the verified tier: x402list pays a real call to this endpoint and, if it delivers, the service is delivery-verified. The fee covers the cost of the probe, not the badge; there is no refund if the call does not deliver. Agent and API only, no in-browser signing. See /api.

[ verify this service ($0.25) ]

To request delisting, email info@x402-list.com or update your listing at /services/x402-data-tools/update.