关于 Payperbyte
Payperbyte 是面向 AI Agent 的 MCP 服务,提供带可验证交付回执的数据源。它支持发现数据源、按次购买和测试网订阅;回执验证交付字节,不保证数据本身正确。
主要功能
- 01搜索发布者并浏览数据源目录
- 02通过 x402 按次购买数据
- 03订阅链上数据流
- 04使用 EIP-712 验证载荷
- 05查看发布者与网络统计
适用场景
- 01按主题查找并选择数据源
- 02按次购买天气或市场数据
- 03在 Agent 采取行动前验证收到的字节
- 04跟踪订阅和发布者活动
MCP 相关
向 MCP 客户端提供 15 个工具,用于发现数据源、购买数据、订阅、发布、查询和验证载荷。x402 购买使用 Base 主网的真实 USDC;链上订阅层运行于 Arbitrum Sepolia 测试网。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.payperbyte.io/mcpclaude mcp add --transport http byte https://mcp.payperbyte.io/mcp{"mcpServers":{"byte":{"type":"http","url":"https://mcp.payperbyte.io/mcp"}}}在 Cursor 中打开{"servers":{"byte":{"type":"http","url":"https://mcp.payperbyte.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"byte":{"type":"http","url":"https://mcp.payperbyte.io/mcp"}}}{"mcpServers":{"byte":{"serverUrl":"https://mcp.payperbyte.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
15| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 返回结果的最大数量(默认 20) |
| query | string | 否 | 要搜索的主题关键词(例如 'weather'、'crypto'、'cve') |
| sortBy | string | 否 | 排序字段:'subscribers'、'revenue'、'messages' |
详细介绍
PayPerByte MCP 服务
一个 Model Context Protocol 服务,可让 AI Agent 直接访问 PayPerByte——为 AI Agent 提供经过密码学证明、可验证来源的数据馈送(X-BYTE-Attestation 收据可证明交付完整性——这些字节正是 PayPerByte 在 BYTE Library 域下提供并证明过的字节;这并不意味着独立数据发布者对其进行了签名,也不代表数据正确)。Agent 可发现数据馈送,通过 x402 按次付费(以 Base 主网上的 USDC 结算),或订阅链上数据流(Arbitrum Sepolia 测试网)。每个付费 x402 响应都附带 EIP-712 PayloadAttestation 收据(X-BYTE-Attestation 标头),Agent 会在采取行动前验证该收据。无需令牌、API 密钥或链下账户。
两条支付轨道——设置
PRIVATE_KEY前请先阅读。
- x402 按次付费(
byte_buy_data):Base 主网(eip155:8453),真实 USDC。 付费数据馈送会结算真实资金——每个价格都会在 402 挑战中报价,并按数据馈送列于 https://x402.payperbyte.io/feeds。例如,[Merchant Screen Oracle](https://x402.payperbyte.io/feeds/merchant-screen) 会对商家的域名和收款地址返回签名的 ALLOW/WARN/BLOCK 检查结果,并针对确切的响应字节提供签名的 EIP-712 证明;在 Agent 向其结算 x402 付款之前运行。它证明真实性和交付完整性,但不保证判定本身正确,也不保证你提供的域名、地址和价格正确;它不会观察或限制你最终结算到的地址。请使用专用钱包,且其中只存放你打算花费的资金。- 链上订阅/发布/查询层(BYTE Library 合约 + 索引器):Arbitrum Sepolia 测试网(链
421614),MockUSDC。 该层的主网部署须等待外部安全审计。无论你通过哪条支付轨道付款,EIP-712 证明的签名域始终锚定在421614。两条轨道共用一个
PRIVATE_KEY。切勿重复使用持有你无法承受损失的资金的密钥。
快速开始
npx -y byte-mcp-server
将其接入你的 MCP 客户端(下方提供 Claude Desktop 配置),之后你的 Agent 就可以:
- 发现数据馈送:"列出 PayPerByte 目录" / "搜索天气发布者"
- 付款前筛查交易对手(x402,无需设置):"结算前检查这个域名和收款地址" → 在 Base 主网上按 402 挑战报价支付真实 USDC;Merchant Screen Oracle 会返回带证明收据的签名 ALLOW/WARN/BLOCK 判定
- 先低成本试用:"获取天气" / "今天有没有震级超过 M4 的地震?" → 按各数据馈送所列价格支付真实 USDC(https://x402.payperbyte.io/feeds),每个响应都有相同的证明收据——以低成本了解「验证后再行动」的工作方式,再花钱获取判定
- 订阅数据流(测试网):"帮我订阅地震数据馈送" → 自动批准 MockUSDC,用于在 Arbitrum Sepolia 上持续结算
- 查询事实预言机(测试网):向已注册的事实预言机发布者发送签名的 EIP-712 问题,获取带引用的链上签名答案——前提是事实预言机发布者已上线(目前尚无发布者进行广播;在发布者注册并广播前,此工具会超时)
实时目录位于 x402.payperbyte.io/feeds——涵盖天气、市场、代码、安全和知识领域的馈送,经过密码学证明且可验证来源。
执行前验证(ForeSeal)
只需一条命令,即可完整体验执行前验证流程——无需安装、注册或钱包:
npx @foreseal/demo
它会在本地运行(不使用真实 USDC),展示 Agent 如何对真实字节执行 ACT,并拒绝四种攻击——篡改字节、伪造签名、缺失回执、签名域分叉——整个过程约一秒。
同一原语以两个软件包的形式提供,可直接集成到你自己的技术栈中:
- Kit —
@payperbyte/sdk:买家在执行操作前验证回执。 - Gate —
@foreseal/gate:卖家为任何 x402 端点添加可验证回执。
两种模式:订阅与购买
| 模式 | 工具 | 支付网络 | 最适合 | 定价 |
|---|---|---|---|---|
| 购买(x402) | byte_buy_data | Base 主网 — 真实 USDC | 一次性需求(针对当前用户查询获取单个快照或判定) | 按数据源计费,在 402 挑战中报价;实时价格列表:https://x402.payperbyte.io/feeds |
| 订阅 | byte_subscribe | Arbitrum Sepolia — 测试网 MockUSDC | 持续数据流(每次天气更新、每次新地震) | 按发布者计费,由发布者的链上架构设定 — 使用 byte_get_publisher 查看 |
购买无需设置、按需付费,且已上线并支持真实结算;订阅则通过经过审计门控的测试网层接收每条广播。根据访问模式选择。
购买判定(POST 预言机)
GET 数据源只需提供 feed。任何 method 包含 POST 的数据源(实时列表:https://x402.payperbyte.io/feeds)都会将查询作为 body 接收 — byte_buy_data 会自动将调用从 GET 切换为 POST。判定预言机 — 返回已签名的 ALLOW/WARN/BLOCK 的数据源 — 包括 merchant-screen、address-reputation、sanctions-screen、pkg-verdict、reasoning-verdict:
// byte_buy_data tool call — screen a merchant/counterparty before settling
{
"feed": "merchant-screen",
"body": { "domain": "example.com", "address": "0x1234…abcd", "observed_price_atomic": "<atomic price the MERCHANT you are screening quoted you>" }
}
付费响应会返回已签名的判定,并附带针对 X-BYTE-Attestation 回执的内联执行前验证结果:
{
"feed": "merchant-screen",
"paid": true,
"price": "$0.100000", // illustrative — the amount the 402 challenge quoted at buy time
"txHash": "0x…",
"data": { "answer": { "verdict": "ALLOW", "reasons": ["…"] }, "attestation": { "…": "…" } },
"verification": { "gatewayVerified": true, "hashMatch": true, "signerMatch": true,
"reason": "gateway delivery verified — these exact bytes were signed by the pinned gateway attester […receipt deadline note appended]" }
}
只有在 verification.gatewayVerified === true 时才执行操作 — 回执证明网关交付的是这些确切字节,而不代表数据正确。其他 POST 请求体:address-reputation {domain,address}、sanctions-screen {address|name}、pkg-verdict {ecosystem,package[,version]}、reasoning-verdict {subject}。对于 GET 数据源(天气、地震等),请完全省略 body。
工具(共 15 个)
发现(只读,无需钱包)
| 工具 | 说明 |
|---|---|
byte_search_publishers | 按主题和排序方式搜索发布者 |
byte_list_feeds | 列出包含价格和频率的活跃数据源目录 |
byte_get_publisher | 获取单个发布者的链上信息(状态、订阅者、消息、USDC 收入、架构) |
byte_get_network_stats | 全网统计数据:发布者、消息、结算总费用 |
byte_check_subscription | subscriber 是否订阅了 publisher? |
byte_list_my_subscriptions | 某个钱包的所有活跃订阅 — 最近 7 天/30 天的消息数和 USDC 支出 |
byte_subscription_health | 发布者的内容漂移信号:稳定 / 中等 / 显著 / 未知 |
byte_get_token_balances | Arbitrum Sepolia 上的 USDC + ETH 余额 |
byte_verify_payload | 执行前验证。 重新计算 Agent 收到的字节的 keccak256,并与发布者链上 EIP-712 PayloadAttestation 进行校验 — 使用你持有的 expectedHash 或结算 txHash 进行锚定(后者还会恢复签名者并确认其为指定发布者)。如果 verified: false,不要基于该数据采取行动 — 这表示字节与已证明的内容不同,或者无法完成验证(未找到证明、签名者不匹配,或未提供 expectedHash 和 txHash)。reason 字段会说明具体原因 |
订阅数据流(需要 PRIVATE_KEY)
| 工具 | 描述 |
|---|---|
byte_subscribe | 订阅发布者的数据流。自动附带 USDC approve(max),除非设置 skipAllowance: true(这可避免一个隐蔽的支付失败问题:合约的跳过授权路径会以 amount=0 交付数据) |
byte_unsubscribe | 取消订阅 — 下一块生效 |
byte_register_publisher | 注册为数据发布者(架构 + 链上注册)。v1 仅限第一方;质押 = 0 |
byte_publish_data | 通过 DataStream 向订阅者发布数据载荷(以 USDC 结算费用)。有关 r2 的信息,请参阅上方的迁移通知 |
按需购买(需要 PRIVATE_KEY)
| 工具 | 描述 |
|---|---|
byte_buy_data | 通过 x402 网关从任意数据源购买一个数据包 — 在 Base 主网上使用真实 USDC。无需订阅或授权。针对 402 挑战签署 EIP-3009 transferWithAuthorization;由中介在链上结算。直接返回数据和交易哈希 |
byte_query_fact | 向可罚没的事实预言机发布者提问。签署 EIP-712 请求(将查询绑定到你的钱包,避免泄露的查询耗尽你的托管资金);答案会附带引用并广播到链上你的地址。需要有在线的事实预言机发布者 — 目前没有发布者在广播,因此在有人注册之前,此调用会超时。 |
配置
Claude Desktop
编辑 ~/.config/claude/claude_desktop_config.json(Linux)或 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):
{
"mcpServers": {
"payperbyte": {
"command": "npx",
"args": ["-y", "byte-mcp-server"],
"env": {
"PRIVATE_KEY": "0x...",
"RPC_URL": "https://sepolia-rollup.arbitrum.io/rpc"
}
}
}
}
PRIVATE_KEY 是可选的 — 无需它即可使用只读工具。添加该变量即可启用订阅、发布、购买和查询功能。
Claude Code
claude mcp add payperbyte -- npx -y byte-mcp-server
环境变量
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
PRIVATE_KEY | 仅写入/购买/查询工具需要 | — | EOA 密钥。为 byte_buy_data 签署真实的 Base 主网 USDC,并为订阅/发布/查询签署测试网交易 — 请使用专用钱包 |
RPC_URL | 否 | https://sepolia-rollup.arbitrum.io/rpc | Arbitrum Sepolia RPC(链上读取/订阅层) |
INDEXER_URL | 否 | https://feeds.payperbyte.io | PayPerByte 索引器 API |
BYTE_GATEWAY_URL | 否 | https://x402.payperbyte.io | x402 网关基础 URL(由 byte_buy_data 使用) |
BYTE_GATEWAY_ATTESTER | 否 | 当前网关证明者(0xB48CCc9e3ab67041e3b5D09700138E45cda6AeA8,于 2026-08-19 轮换) | byte_buy_data 用于固定交付回执的证明者地址。如果网关在此软件包更新之前轮换,请将此值设为 /.well-known/agent.json 中的新 receipt.attester — 固定地址过期会导致购买失败关闭,且发生在支付结算之后 |
MAX_PAYMENT_USDC | 否 | —(无上限) | byte_buy_data 的服务端支出上限,以十进制 USDC 表示(例如 0.25)。设置后,任何超过上限的 402 报价都会在签名前被拒绝;未设置则表示没有上限 — 专用的小额钱包仍是最后一道保障 |
网络
两条支付通道,如实说明:
- x402 支付通道(
byte_buy_data):Base 主网(eip155:8453)。 付费数据源通过 x402.payperbyte.io 网关以真实 USDC 结算;每次付费请求返回的 200 响应都会附带针对准确响应字节的X-BYTE-AttestationEIP-712 回执。 - 链上层(订阅、广播、事实预言机托管、索引器):Arbitrum Sepolia(链
421614)。 BYTE Library 合约的主网部署须通过外部安全审计后才能进行。无论支付通道为何,EIP-712PayloadAttestation签名域都锚定在421614。
合约地址已固定在随附配置中;npm 发布包提供开箱即用的默认值。无代币。
开发
git clone https://github.com/0rkz/byte-mcp-server.git
cd byte-mcp-server
npm install
npm run build && npm start
许可证
MIT — 参见 LICENSE。
入门套件
可选付费套件($39):买方 Agent 套件——一个可购买并验证信息源的 Agent,附带可直接使用的 Claude Desktop / Claude Code / Cursor 配置,以及一次免费的 30 分钟准备情况咨询。npm 软件包始终免费,采用 MIT 许可——该套件出售的是组装好的配置。
链接
- payperbyte.io — PayPerByte 主页
- x402.payperbyte.io/feeds — 实时信息源目录
- Model Context Protocol — MCP 规范
- MCP TypeScript SDK
- gold-402 — 精选的实时 x402 服务目录(其中列有 PayPerByte)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。