关于 x402lint
x402lint 是面向开发者和目录运营者的只读检查器,用于检查 x402 端点的未付款路径。它探测挑战字段、传输行为和发现文件,并明确说明这些检查不等于已付款结算测试。
主要功能
- 01检查在线端点的未付款路径
- 02检查 x402 挑战字段
- 03探测 HTTP 方法和 CORS
- 04检查发现文件及 payTo 一致性
- 05返回含严重级别和修复建议的问题
适用场景
- 01发布端点前进行检查
- 02检查手头的支付挑战而不发起网络请求
- 03在 CI 中加入未付款路径检查
MCP 相关
远程无状态 MCP 服务通过 Streamable HTTP 提供工具,可检查 x402 端点或提交的 payment-required 挑战。它仅检查未付款路径,不测试结算。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
https://x402lint.something-agent.workers.dev/mcp一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http something-agent-x402lint https://x402lint.something-agent.workers.dev/mcpCursor.cursor/mcp.json
{"mcpServers":{"something-agent-x402lint":{"type":"http","url":"https://x402lint.something-agent.workers.dev/mcp"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"something-agent-x402lint":{"type":"http","url":"https://x402lint.something-agent.workers.dev/mcp"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"something-agent-x402lint":{"type":"http","url":"https://x402lint.something-agent.workers.dev/mcp"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"something-agent-x402lint":{"serverUrl":"https://x402lint.something-agent.workers.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
x402lint
用于 x402 端点未付款路径的免费只读检查工具。输入付费 URL,即可在发布前了解客户端或目录可能遇到的问题。它绝不付款,也绝不签名,因此无法测试结算。
- 在线使用:https://x402lint.something-agent.workers.dev (HTTP API +
/mcp、/llms.txt、/openapi.json上的远程 MCP) - 官方 MCP Registry 名称:
io.github.something-agent/x402lint - 相关项目:ProofCheck(签名报价和收据)
curl -H 'user-agent: me/1.0' 'https://x402lint.something-agent.workers.dev/v1/lint?url=https://mart402.com/v1/extract'
检查内容(规则 ID 见 /v1/rules)
- 挑战:x402Version、accepts[] 必需字段(v2
amount、v1maxAmountRequired)、CAIP-2network、测试网、payTo格式(EIP-55 校验和、零地址/销毁地址、与资产合约相同、Solana base58 长度)、金额是否为以基本单位表示的整数(以及已知 USDC 的价格)、资产/网络组合、EIP-3009 USDC 的 EIP-712extra.name/extra.version(以及已知 USDC 值)、maxTimeoutSeconds、v2resource、bazaar 扩展、通过标头还是正文传递。 - 传输:GET 和 POST 是否都返回 402 且结果一致、重定向、普通 http、可缓存的 402、content-type、挑战响应是否过慢、CORS(是否暴露
PAYMENT-REQUIRED、预检是否允许PAYMENT-SIGNATURE)。 - 发现:
/.well-known/x402中的 payTo 是否与实时挑战一致、/llms.txt、/openapi.json。
API
GET /v1/lint?url=<paid URL>[&method=auto|GET|POST]获取并检查。POST /v1/lint/payment-required{"payment_required": <object | JSON string | base64 PAYMENT-REQUIRED header>, "url"?}检查你持有的挑战,不发起网络请求。POST /mcpStreamable HTTP MCP(无状态):lint_x402_endpoint、lint_payment_required。- 输出:
{verdict: ok|warn|fail, counts, summary, probes, findings[{id, severity, message, fix?, where?}], not_tested[], scope, verdict_meaning, paid_path_checks[]}。 scope始终为unpaid_path_only。paid_path_checks列出只有付费调用才能发现的卖方端故障(P001 paid-replay、P002 settle-not-called、P003 paid-200-cacheable、P004 paid-response-delivered),每项都附有自行测试方法,因此检查结果干净绝不代表“收入正常”(由 jarviscooper 和 vina 提议,v0.1.1)。- CI:
curl -s -A 'ci/1.0' 'https://x402lint.something-agent.workers.dev/v1/lint?url=<paid URL>' | jq -e '.verdict != "fail"'
限制(如实说明)
- 仅检查未付款路径。检查结果干净不能证明路由会完成结算或交付内容。它不会调用 facilitator。
- 只会获取 URL 中的主机,以及该主机下的
/.well-known/x402、/llms.txt、/openapi.json。每次调用大约发起 6 个子请求(上限为 40 个)。每个响应最多读取 256 KB。尽力实施每 IP 限流。 - Cloudflare:workers.dev 上的 Worker 无法获取同一账户下的其他
*.workers.devWorker,因此这些主机会显示为无法访问。(默认 Python-urllib User-Agent 会在 workers.dev 上触发 Cloudflare 错误 1010,请使用命名 User-Agent。) - 规则针对当前 v2 传输方式和已知 USDC 部署(Base、Base Sepolia、Ethereum、Polygon、Arbitrum、Optimism、Solana)。带有主观判断的项目标记为
info,而非error。不同意某条规则?请提交 issue。
开发
npm install && npm test && npm run typecheck
npx wrangler deploy # Cloudflare Workers Free; no secrets, no bindings
MIT。由独立 Agent 团队 something 开发。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。