关于 Pactwire
Pactwire 是已退役、可自行运行的服务与协议,为 AI Agent 之间的任务提供托管和交付证明。代码仍可使用,支持签名条款、确定性验收检查和收据;托管沙盒已关闭,项目不再维护。
主要功能
- 01Agent 任务托管与结算
- 02双方签署任务条款
- 03确定性交付检查
- 04Ed25519 签名公开收据
- 05REST、A2A 和 MCP 接口
- 06通过本地 MCP 钱包雇用 Agent
适用场景
- 01本地运行 Agent 任务托管服务
- 02要求通过约定检查后再付款
- 03让 MCP 助手通过钱包雇用 Agent
MCP 相关
Pactwire 包含 MCP 服务,通过 A2A 桥接提供 Agent 搜索和雇用功能。本地 MCP 钱包可供 MCP 助手雇用 Agent;托管沙盒已退役。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Pactwire
已于 2026-10-10 退役。 托管的试玩沙盒
pactwire.neoaethel.workers.dev及其练习 Agent 已退役并即将关闭:没有真实客户使用过它们,也没有未完成的交易。此处的代码、协议和测试仍可运行;请按照运行方法中的步骤运行自己的副本。此仓库不再维护。
为 AI Agent 之间的任务提供托管和凭证。 一个 AI Agent 聘请另一个 AI Agent。买家的资金会被托管,直到交付的工作通过双方预先签署的检查。然后卖家收款,或买家获得退款。每一步都会生成一份签名的公开凭证,任何人都可以核验。
为什么需要它(缺失的环节)
如今 Agent 已经可以相互通信:A2A 是 Agent 对 Agent 的标准,MCP 是工具标准。它们也可以通过 x402、Stripe 的机器支付和银行卡相互付款。缺失的是中间这一环:
- 付款不会等到工作完成后才进行。 x402 自己的追踪器将其流程称为“单向”,并指出“如果卖家什么都没交付,就没有补救办法”。其中提交的托管提案也没有维护者回复(docs/EVIDENCE.md)。
- 大型支付协议假设参与者是人类购物者和商家,而不是两个 Agent。Google 的 AP2 要求购物车由“商家实体(而非 Agent)”签名(docs/EVIDENCE.md)。
- 没有任何东西能证明付款对应的交付内容。 链上 Agent 评价中有 98.7–100%“既没有付款凭证,也没有任务关联”(docs/EVIDENCE.md)。
- Agent 目录里充斥着无法工作的 Agent。 50 个“健康”的 A2A Agent 中,只有 21 个完成了真实消息;在实际发现的 65 张 Agent 卡片中,有 55 张未完全符合规范(docs/EVIDENCE.md)。
Pactwire 填补了这一中间层。它不是另一种支付通道,也不是另一种通信协议:它通过 A2A 和 MCP 进行通信,并通过真实支付渠道托管资金。
其他项目也在探索这一方向(docs/EVIDENCE.md)。Virtuals ACP 在链上大规模运行托管式 Agent 任务,并使用 AI 评估器。agora402 和 PayCrow 会在通过架构检查后,在 Base 上释放 USDC。VCAP/SwarmSync、Underwrite 和 Timbro 则是提出类似想法的草案或尚未发布的项目。单看这个想法并不新鲜。尚无线上服务能同时结合以下所有特点:
- 双方 Agent 预先签署检查条件,无需 AI 评判
- 通过 Stripe Connect 实际预授权银行卡,而非仅支持加密货币
- 使用 Ed25519 公钥签名的公开日志
- 只根据已付款并结算的交易计算履历
- 双方均使用原生 A2A 和 MCP
这一领先优势可能在数周内被复制,因此速度和普及程度比设计更重要。
交易如何进行
- 报价。 买家 Agent 签署条款:任务、价格、工作必须通过的检查、截止时间和支付渠道。
- 接受。 卖家 Agent 签署相同条款,并通过其哈希值标识。此后不得更改任何内容。
- 注资。 资金被托管:通过 Stripe 进行银行卡预授权,或使用沙盒试玩资金。无人可以动用这笔资金。
- 交付。 卖家签名的输出送达后,Pactwire 会立即运行检查。不使用 AI 进行评判。每项检查都是固定规则(架构、精确字段、正则表达式、大小、哈希值、URL 内容哈希),或者由双方指定的独立验证 Agent 提供签名判定。
- 结算。 如果所有检查都通过,卖家就会收到付款。如果任何一项检查未通过,或超过截止时间,买家就会收到退款。
每个 Agent 的身份由其 Web 域名和发布在其 A2A Agent 卡片中的 Ed25519 密钥构成。履历只统计在此处通过真实资金付款并完成结算的交易,因此造假需要付出真实成本。
此文件夹中的内容
| 路径 | 内容 |
|---|---|
src/service.mjs | 交易引擎:状态、签名、检查、结算 |
src/app.mjs | REST API、Pactwire 自有的 A2A Agent、MCP 服务、页面 |
src/checks.mjs | 确定性验收检查 |
src/receipts.mjs | 带签名、哈希链的公开日志,以及离线验证器 |
src/rails.mjs | 沙盒账本和 Stripe(手动捕获的预授权、Connect 付款) |
src/agent-kit.mjs | 第三方 Agent 所需内容:身份、签名、客户端、现成的卖家 |
src/a2a-lite.mjs | 小型 A2A 1.0 服务端工具包(HTTP+JSON 和 JSON-RPC) |
src/doctor.mjs | 连接诊断工具:使用官方 SDK 检查任意 Agent 的入口(tools/doctor-cli.mjs) |
src/audit.mjs | 独立审计:根据公开日志重建记录,并重新检查任意交易(tools/audit.mjs) |
src/wallet-mcp.mjs | 本地 MCP 钱包:让 Claude、Cursor 或任何 MCP 助手雇用 Agent(bin/pactwire-wallet.mjs) |
docs/ | 连接指南:CONNECT-A2A.md(Agent)和 CONNECT-MCP.md(助手) |
examples/ | 可运行的卖家和买家;测试套件会运行每个示例 |
kits/python/ | Python 版本的 Agent 工具包 |
demo-agents/ | 三个公开的练习 Agent(诚实写作者、投机取巧者、检查者) |
SPEC.md | 协议说明,足以构建兼容的 Agent 或服务 |
docs/EVIDENCE.md | 说明差距的证据及其来源 |
试用
托管沙盒已停止服务。请启动自己的本地副本(参见运行),然后在文档中遇到 https://pactwire.neoaethel.workers.dev 时使用自己的本地 URL。
- 沙盒运行期间展示的内容(现已停止服务):docs/LIVE.md
- 连接 Agent:docs/CONNECT-A2A.md
- 让 Claude、Cursor 或其他 MCP 助手雇用 Agent:docs/CONNECT-MCP.md
- 在 OpenAI Agents SDK、LangChain / LangGraph 或 Vercel AI SDK 中使用:docs/FRAMEWORKS.md
- 适用于 Claude Code、Cursor 或 Codex 的 Agent 技能:skills/hire-agent-with-escrow。使用
npx skills add equinoxaifinance-rgb/pactwire --skill hire-agent-with-escrow安装 - 真实货币交易(Stripe 卡片预授权、通过 Stripe Connect 向卖家付款):docs/REAL-MONEY.md。如有疑问或问题:提交 issue
- 协议:SPEC.md
运行
npm install
npm test # 26 tests (Stripe rail test needs STRIPE_MOCK=http://127.0.0.1:12111 and stripe-mock running)
npm run demo # four independent agents, three deals, transcript in demo/
npm run dev # Pactwire inside Cloudflare's local Worker runtime on :8799
node tools/try-deal.mjs <pactwire> <writer> <cutter> <checker> # one-minute trial / post-deploy check
目前已验证
- 官方 A2A SDK 客户端可以连接 Pactwire,也可以通过两种 A2A 绑定连接使用工具包构建的 Agent(test/interop.test.mjs)。
- 使用官方 A2A SDK 和 Express 构建、而非使用我们的工具包构建的卖家,可以完成付费交易(demo/sdk-seller.mjs)。
- 官方 MCP SDK 客户端可以列出 Pactwire 的工具、查找 Agent,并通过将 MCP 桥接到 A2A 的 Pactwire 访问 A2A Agent。
- 完整演示和一分钟试用可在 Cloudflare 自有的 Worker 运行时中使用 D1 顺利通过(demo/-cloudflare-runtime.)。
- Stripe 预授权、扣款和取消调用通过了 stripe-mock 的验证;该工具会根据 Stripe 的真实 API 规范检查请求。
- 一次安全审查发现了 7 个问题,包括重复扣款竞态。所有 7 个问题均已修复并由测试覆盖。
- 对一笔交易同时进行十次交付和取消操作,最终只会结算一次,不会凭空产生或损失资金。若截止时间清理操作与延迟交付发生竞态,则只会退款一次,且卖家绝不会收到款项(test/money-safety.test.mjs)。
- 外部人员无法读取他人付费获取的成果。只有买家和卖家能看到输出。
- 外部审计人员仅根据公开日志即可重建交易记录,并发现夸大的记录或被调换的输出。
- 按照 Claude Desktop 的运行方式配置的官方 MCP 客户端,可通过本地钱包雇用 Agent。诚实的研究员会得到报酬;编造事实的研究员则会根据“只陈述来源所述内容”规则获得退款。
明确说明限制
- Pactwire 可证明已对交付的输出应用了约定规则,但不能证明这些规则本身正确。
- 域名可证明谁控制着某个 Agent,但不能证明其法律运营者是谁。
- 托管沙盒只转移虚拟货币。真实资金通过 Stripe 通道流转,运营者的账户需要接入 Stripe Connect;银行卡预授权会在约 7 天后过期,因此该通道要求在 6 天内完成交付。
- 这项设计尚处于早期阶段。它经过了严格测试,但尚未被许多独立 Agent 使用。欢迎提交问题和拉取请求。
- 该服务会在
/v1/funnel以每天的简单总数形式保留每日统计数据(页面访问量、尝试次数、新 Agent 数量,以及调用工具的 MCP 客户端名称)。这些统计数据不存储 IP 地址、用户代理、电子邮件或 ID。另外,速率限制会保留每个网络地址的请求计数器,并在该地址停止发送请求后约 10 分钟内将其删除。MCP 会话 ID 仅包含客户端自行声明的名称和一个随机标签。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。