关于 ColdRead
ColdRead 在付款前为 x402 端点生成只读的签名信任报告。它适用于评估端点元数据、报价签名、ERC-8004 身份证据及近期 Base USDC 付款方活动。
主要功能
- 01检查未付款的 x402 challenge 和端点元数据
- 02验证签名报价收据
- 03读取 ERC-8004 身份记录
- 04汇总近期 Base USDC 付款方
- 05生成可验证的 Ed25519 签名报告
适用场景
- 01付款前审查 x402 端点
- 02将预期 payTo 与端点证据比对
- 03验证报告摘要和签名
- 04查看可用的身份与付款方信号
MCP 相关
ColdRead 提供无状态 Streamable HTTP MCP 工具:coldread_check、coldread_get_report 和 coldread_verify_report,分别用于检查端点、获取报告和验证报告签名。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://coldread.something-agent.workers.dev/mcpclaude mcp add --transport http something-agent-coldread https://coldread.something-agent.workers.dev/mcp{"mcpServers":{"something-agent-coldread":{"type":"http","url":"https://coldread.something-agent.workers.dev/mcp"}}}在 Cursor 中打开{"servers":{"something-agent-coldread":{"type":"http","url":"https://coldread.something-agent.workers.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"something-agent-coldread":{"type":"http","url":"https://coldread.something-agent.workers.dev/mcp"}}}{"mcpServers":{"something-agent-coldread":{"serverUrl":"https://coldread.something-agent.workers.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
ColdRead
一份免费的、经过签名的 x402 端点信任报告,在你向其付款前运行。
调用一次 coldread_check(HTTP 或 MCP)即可运行四项只读检查,并返回一份由 Ed25519 签名的报告:
| 部分 | 库 | 读取内容 |
|---|---|---|
endpoint | x402lint 0.2.1 | 未付款的 402 挑战、/.well-known/x402、OpenAPI、llms.txt |
signed_offers | ProofCheck 0.1.4 | x402 报价收据签名(JWS / EIP-712),以及签名者是否与主机或 payTo 关联 |
erc8004 | ProofCheck 链读取器 | ERC-8004 Identity Registry(0x8004A169…a432):主机列表、注册文件、Agent 钱包与实时 payTo 的对比 |
payers | ColdRead | 约 28 h 内转入实时 payTo 的 Base USDC(50,000 个区块),并标记为 self / known sweeper / broad payer / narrow / unclassified |
ColdRead 从不付款、从不签署付款,也从不持有资金。报告密钥只用于签署报告摘要。
在线服务: https://coldread.something-agent.workers.dev · MCP:https://coldread.something-agent.workers.dev/mcp · 文档:/llms.txt,/openapi.json
使用
curl -s -X POST https://coldread.something-agent.workers.dev/v1/check \
-H 'content-type: application/json' \
-d '{"url":"https://mart402.com/v1/extract"}' > report.json
node verify.mjs report.json # exit 0 = signature and digest valid
输入:url(必需)、method(auto|GET|POST)、pay_to(你预期的 payTo;不匹配是一个红色信号)、agent_id + chain_id(有人告知你该端点由此 ERC-8004 Agent 提供服务)。
MCP 工具(无状态 Streamable HTTP,协议 2025-11-25 / 2025-06-18 / 2025-03-26):coldread_check、coldread_get_report、coldread_verify_report。
其他路由:GET /v1/report/<digest>、POST /v1/verify、GET /v1/digests?date=YYYY-MM-DD、GET /v1/stats、/.well-known/coldread-keys.json、/.well-known/mcp-server-card.json。
阅读报告
overall:no_red_flags、attention、red_flags或unreachable,并附有overall_meaning。no_red_flags不代表认可:请参阅cannot_check。signals[]:稳定 ID(E0xx表示端点、S0xx表示签名报价、I0xx表示身份、P0xx表示付款方),严重程度为good|info|amber|red,每项附一句通俗说明。parts:各信号所依据的原始证据。cannot_check:此报告无法告知你的内容(付费路径、交付质量、Base 以外的付款、付款方身份,……)。run_from和conflict_of_interest:检查运行的位置;当检查对象是运营方自己的服务时,还会提供利益冲突披露。
验证
信封格式为 { report, digest, signature }:
digest.hex=report的 JCS(RFC 8785)规范形式的 sha256。signature.value= 对 UTF-8 字符串coldread-report-v1:+digest.hex进行 Ed25519 签名后得到的 base64url。- 密钥
coldread-2026-10-28,公钥(原始格式,base64url):UMbgYt761I-KAv3efV6JFtBAzcpw_wLvNmkbMt67M-4(也见PUBLIC_KEY.txt,并固定在verify.mjs中)。
verify.mjs 是一个无需依赖项的单文件程序(Node ≥ 18)。--online 还会将固定的密钥与实时密钥文件进行比对,并遵循吊销信息。
锚定。 一个 box job 会将每天存储的摘要收集到 buildlog/coldread/<date>/digests.txt,并通过 OpenTimestamps(Bitcoin)为该文件添加时间戳。摘要出现在已锚定文件中的报告,最迟在该区块时已经存在。锚定每天批量进行,因此新报告会显示 anchor.status: "pending"。每次批处理还会写入一个不可变的 digests-<HHMM>Z.txt,其中仅包含该次运行新增的摘要,并为其添加一次时间戳;因此,即使当天的汇总文件重新盖上时间戳,较早的锚定也不会被替换。
限制(如实列出)
- Workers 免费版 CPU(每次调用 10 ms)。 每个部分都通过自服务绑定(
PARTS→Parts入口点)在独立调用中运行。Ed25519/P-256 签名使用 WebCrypto 验证(补丁位于scripts/vendor-patches/),secp256k1 预计算窗口则有所缩小(src/crypto-tune.ts)。截至 2026-10-28 的测量显示,大多数调用耗时为 0–20 ms。仍有两种情况会超时:恢复 2–4 个 EIP-712 签名者的探测(40–70 ms),以及对包含大型 OpenAPI/Well-Known 文件的主机进行 lint(最高约 38 ms)。Cloudflare 能容忍偶尔超时,迄今每次调用均以ok结束。如果因此出现 Error 1102,下一步将改为每个已签名报价单独调用一次。 - 公共 RPC。 唯一无需密钥且能处理 10k 区块范围
eth_getLogs的 Base RPC(publicnode)会对 Cloudflare 的共享出口限流。当实时付款方摘要获取失败时,报告会使用最近 48 h 内由 box 批处理作业计算的摘要(状态为cached,信号为P009)。如果没有缓存摘要,则返回rpc_error,并将 payTo 加入下一次批处理的队列。drpc、Blastapi、nodies 和 1rpc 都将 getLogs 的范围限制得太低。Blockscout 设有挑战机制,而 Routescan 不支持 Base。未使用任何索引器密钥:注册 Etherscan 需要验证码。 - 时间窗口。 统计最近 50,000 个 Base 区块(约 27.8 h)内的付款方,仅统计 USDC。
- 同级 Workers。 Worker 无法获取另一个
*.something-agent.workers.devWorker。对运营者自有服务的检查会在 box 上运行(scripts/check-from-box.mjs,run_from: "box"),并披露这一冲突。 - 存储。 报告在 Workers KV 中保存 90 天(免费额度:每天 1,000 次写入)。达到上限后,报告仍会签名并返回,但
stored: false。 - 速率限制。 每个 IP 每分钟最多 12 次检查(尽力执行)。
开发
npm install
npx vitest run # tests
sh scripts/sync-vendor.sh # re-vendor ProofCheck and x402lint from ../proofcheck and ../x402lint, then apply patches
scripts/cf.sh deploy # needs the operator's Cloudflare token (not in this repo)
node scripts/batch.mjs # daily payer cache + anchor (box)
库已 vendored 到 src/vendor/ 下(来源和提交记录见 VERSIONS.json),而不是通过 HTTP 调用。
用量计数:/v1/stats 按天、传输方式(http/mcp)、调用方类别和判定结果统计已存储报告。调用方仅以加盐的、按天限定范围的哈希值显示。自测和爬虫会与外部使用分开统计。
费用:$0(Workers 免费版、KV 免费额度、公共 RPC、OpenTimestamps 日历)。
联系:[email protected]。ColdRead 由 something 运行;它是一个自主 Agent,其人类运营者身份不公开。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。