源头核验研究

x402 智能体支付:验证、结算与幂等恢复雷达

7 分鐘

本文正文暫以英文原文展示,翻譯版本需完成來源複核後再發布。

直接答案

x402 重试不能按普通无状态 HTTP 重试处理。Coinbase 的协议流程把付款要求、签名授权、验证、结算与资源响应分开;故障可能发生在签名前、验证阶段、链上结算中,或结算完成但资源尚未返回时。运营方需要稳定付款标识、有限重试、权威结算查询、签名收据、网络核对,以及防止同一逻辑请求重复付款的规则。

收起完整分析

已核验的来源事实

1. x402 使用 HTTP 402 付款要求、签名付款载荷以及协调器验证和结算流程。 2. Coinbase 说明了不同的验证与结算错误原因,包括签名无效、余额不足、节点故障与确认超时。 3. x402 扩展包含用于重复调用处理的 Payment Identifier,以及记录结算前约定的 Offer Receipt。 4. 链上结算成功与资源交付成功是两个需要分别留证的事件。

对照表

文章表格:可橫向滑動,或聚焦表格區域後使用方向鍵。

决策层应核对内容最低安全动作
付款要求价格、资产、网络与收款方签名前验证
授权签名付款载荷绑定准确请求
标识一次逻辑购买持久化稳定 ID
验证签名与策略检查分类 invalidReason
结算链上转账结果保存交易证据
交付已付费资源响应独立记录完成
重试可重复的具体阶段使用有限分阶段规则
收据条款与结算确认保留签名证明
网络CAIP-2 链身份拒绝不匹配
对账付款、账本与服务输出周期匹配

1. 控制测试:付款要求

交易控制披露只有转换成可测试规则才有意义。付款要求需要检查价格、资产、网络与收款方。应使用沙箱、非生产环境或最小可逆测试,然后签名前验证。可以保存配置和事件证据,但绝不能记录凭据,并应验证文档所述的撤单、拒绝、减量或历史记录行为。

审计要模拟失败路径,而不只看设置流程。需要追问哪套策略拥有 maker 与 taker 订单、平台按哪个账户边界判断、哪个消息能证明干预,以及部分成交或断线后如何对账。平台文档只能说明支持什么,不能证明操作者配置正确。服务端变化因此必须保留为明确缺口。

付款要求这一行最终应形成一条与价格、资产、网络与收款方绑定的监控规则。执行者应签名前验证,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,服务端变化仍是独立生产风险。

2. 控制测试:授权

授权需要检查签名付款载荷。应使用沙箱、非生产环境或最小可逆测试,然后绑定准确请求。

审计要模拟失败路径,而不只看设置流程。重放因此必须保留为明确缺口。

授权这一行最终应形成一条与签名付款载荷绑定的监控规则。执行者应绑定准确请求,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,重放仍是独立生产风险。

3. 控制测试:标识

标识需要检查一次逻辑购买。应使用沙箱、非生产环境或最小可逆测试,然后持久化稳定 ID。

审计要模拟失败路径,而不只看设置流程。冲突因此必须保留为明确缺口。

标识这一行最终应形成一条与一次逻辑购买绑定的监控规则。执行者应持久化稳定 ID,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,冲突仍是独立生产风险。

4. 控制测试:验证

验证需要检查签名与策略检查。应使用沙箱、非生产环境或最小可逆测试,然后分类 invalidReason。

审计要模拟失败路径,而不只看设置流程。策略漂移因此必须保留为明确缺口。

验证这一行最终应形成一条与签名与策略检查绑定的监控规则。执行者应分类 invalidReason,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,策略漂移仍是独立生产风险。

5. 控制测试:结算

结算需要检查链上转账结果。应使用沙箱、非生产环境或最小可逆测试,然后保存交易证据。

审计要模拟失败路径,而不只看设置流程。节点超时因此必须保留为明确缺口。

结算这一行最终应形成一条与链上转账结果绑定的监控规则。执行者应保存交易证据,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,节点超时仍是独立生产风险。

6. 控制测试:交付

交付需要检查已付费资源响应。应使用沙箱、非生产环境或最小可逆测试,然后独立记录完成。

审计要模拟失败路径,而不只看设置流程。结算后失败因此必须保留为明确缺口。

交付这一行最终应形成一条与已付费资源响应绑定的监控规则。执行者应独立记录完成,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,结算后失败仍是独立生产风险。

7. 控制测试:重试

重试需要检查可重复的具体阶段。应使用沙箱、非生产环境或最小可逆测试,然后使用有限分阶段规则。

审计要模拟失败路径,而不只看设置流程。重复付款因此必须保留为明确缺口。

重试这一行最终应形成一条与可重复的具体阶段绑定的监控规则。执行者应使用有限分阶段规则,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,重复付款仍是独立生产风险。

8. 控制测试:收据

收据需要检查条款与结算确认。应使用沙箱、非生产环境或最小可逆测试,然后保留签名证明。

审计要模拟失败路径,而不只看设置流程。格式变化因此必须保留为明确缺口。

收据这一行最终应形成一条与条款与结算确认绑定的监控规则。执行者应保留签名证明,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,格式变化仍是独立生产风险。

9. 控制测试:网络

网络需要检查CAIP-2 链身份。应使用沙箱、非生产环境或最小可逆测试,然后拒绝不匹配。

审计要模拟失败路径,而不只看设置流程。测试网混淆因此必须保留为明确缺口。

网络这一行最终应形成一条与CAIP-2 链身份绑定的监控规则。执行者应拒绝不匹配,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,测试网混淆仍是独立生产风险。

10. 控制测试:对账

对账需要检查付款、账本与服务输出。应使用沙箱、非生产环境或最小可逆测试,然后周期匹配。

审计要模拟失败路径,而不只看设置流程。延迟终局因此必须保留为明确缺口。

对账这一行最终应形成一条与付款、账本与服务输出绑定的监控规则。执行者应周期匹配,保存平台响应,并为异常指定责任人。文档质量是积极信号,但不能认证交易所或交易系统;在真实观察之前,延迟终局仍是独立生产风险。

决策场景

场景 1:当付款要求成为关键约束

假设读者最关心的是价格、资产、网络与收款方,正确做法不是寻找一个适用于所有人的赢家,而是签名前验证,保存证据,并在投入资金或权限前定义停止条件。只要证据变化,就重新打开决策,而不是继续沿用旧结论。这样得到的是一条能够重复执行的操作规则,而不是一次性的主观看法。

场景 2:当授权成为关键约束

假设读者最关心的是签名付款载荷,正确做法不是寻找一个适用于所有人的赢家,而是绑定准确请求,保存证据,并在投入资金或权限前定义停止条件。

场景 3:当标识成为关键约束

假设读者最关心的是一次逻辑购买,正确做法不是寻找一个适用于所有人的赢家,而是持久化稳定 ID,保存证据,并在投入资金或权限前定义停止条件。

场景 4:当验证成为关键约束

假设读者最关心的是签名与策略检查,正确做法不是寻找一个适用于所有人的赢家,而是分类 invalidReason,保存证据,并在投入资金或权限前定义停止条件。

场景 5:当结算成为关键约束

假设读者最关心的是链上转账结果,正确做法不是寻找一个适用于所有人的赢家,而是保存交易证据,保存证据,并在投入资金或权限前定义停止条件。

场景 6:当交付成为关键约束

假设读者最关心的是已付费资源响应,正确做法不是寻找一个适用于所有人的赢家,而是独立记录完成,保存证据,并在投入资金或权限前定义停止条件。

常见问题

本文是否建议使用或避开某个平台或产品?

不是。它是一套基于来源的决策框架。最终结论取决于用户地区、签约实体、账户、产品、交易规模、风险承受能力与实时条款。

公布的费率或控制措施是否永久有效?

不是。公开费率和控制规则会变化,实际条款也可能针对账户。应核对登录后的实时页面。

页面返回 HTTP 200 是否证明产品正常可用?

不能。公开页面存在,不代表特定地区或账户一定能使用该产品,账户级证据才是最终依据。

为什么必须公开列出未知事项?

因为用假设填补证据空白会制造虚假精确。未知事项说明下一步应该核验什么。

最安全的第一步是什么?

写清具体任务,核验官方来源,采用最小权限和最可逆的路径,并在适合时先做小额测试。

来源与编辑方法

來源與證據

04
  1. Coinbase Developer Platformx402 overview
  2. Coinbase Developer Platformx402 FAQ and extensions
  3. Coinbase Developer Platformx402 troubleshooting
  4. RFC EditorHTTP 402 Payment Required