通过 x402 协议和 aws-agents-pay 插件,赋予 Agent 钱包与消费限额,使其能自主调用付费 API、MCP 服务器和网络内容。
本文是 AWS 与 OpenClaw Foundation 的合作文章。
能够在网络上浏览、抓取 API 以及查询 Model Context Protocol(MCP)服务器的自主智能体(Agent),有时会遇到某些服务在返回 HTTP 402 Payment Required 响应后,需要先完成支付才能继续访问。要让 Agent 在每一笔交易时都不必停下来等人介入,就必须预先为它配置好一个在限额内运行的支付路径。安全的设计会将钱包提供商的凭证以及创建或扩展支付会话的权限隔离在面向模型的运行时之外,而运行时仍然可以在既定限额内发起已授权的支付。
AgentCore payments 是 Amazon Bedrock AgentCore 的一项功能,提供了钱包集成、消费限额以及一致的支付层,以应对不断演进的 Agent 支付协议。x402 和 Machine Payments Protocol(MPP)等协议支持智能体与服务之间的程序化支付流程。在本文中,你将把 OpenClaw 连接到由人工通过可信管理路径预先配置的钱包和有界支付会话,然后使用 OpenClaw 的 aws-agents-pay 插件来发起已授权的测试网支付。
自主智能体可以在多个步骤和服务中自主运作,无需人工逐一审查每个操作。长时间运行的调研或工作流智能体可能在无人值守时遇到付费 API 或内容端点。有界的支付层可以让智能体在接收方、资产、网络、单笔支付限额、累计预算和过期时间等由人工预先设定的限制范围内继续运行。
部分 API、内容服务、计算服务和 MCP 工具采用按量计费模式。单笔交易可能不到一美元,甚至不到一美分。最低的银行卡手续费就会让这种规模的交易变得不划算,而稳定币支付则可以支持小额交易并实现近乎实时的结算。这使得 x402 等 HTTP 原生协议非常适合程序化、由智能体发起的支付。
直接实现这一功能需要集成钱包提供商、保护凭证处理、支付授权、确定性限额以及支付可观测性。还需要考虑模型可能受到不可信输入操控的风险。该设计并不能防止提示词注入(prompt injection),而是假设不可信输入可以操控模型,并通过接收方、资产、网络、单笔支付金额、会话预算和过期时间来约束运行时的权限。
AgentCore payments 在智能体支付协议不断演进的过程中提供了统一的支付层。本 OpenClaw 集成演示了使用 x402 v2 的模式。它通过配置好的钱包提供商处理商户的 HTTP 402 挑战,并返回签名授权,客户端用该授权来重放请求。AgentCore Identity 是 Amazon Bedrock AgentCore 的一项功能,用于存储钱包提供商的凭证。AgentCore Observability 是 Amazon Bedrock AgentCore 的一项功能,在配置了遥测传输后,可以通过 Amazon CloudWatch 和 AWS X-Ray 提供日志、指标和追踪。
AgentCore payments 支持 Coinbase 钱包或 Stripe Privy 钱包作为支付连接方式,两者都提供了嵌入式稳定币钱包。在提供商和地理可用性允许的条件下,你或你的终端用户可以通过稳定币或借记卡以法币方式为钱包充值。两家提供商都使用 AgentCore Identity 凭证存储和按会话的消费限额。
本教程使用 OpenClaw,这是一款运行在用户设备上的 AI 助手,通过本地 Gateway 连接模型、工具和消息通道。OpenClaw Foundation 维护该项目,插件则扩展了助手的能力。本教程将人工运行的支付管理与面向模型的运行时分离开来。人工在可信终端中配置钱包、创建支付会话、批准接收方并设定预算。aws-agents-pay 插件对外暴露两个模型可见的工具:get_payment_session_status 用于检查已配置的支付会话,get_paid_content 用于请求已批准的付费 URL 并在配置策略内完成支付。运行时可以发起已批准会话内的支付,但无法创建、扩展或替换会话。
图 1:演示展示了一个与 OpenClaw Gateway 应用中名为"Bob"的 AI 助手的对话。用户问"现在西雅图的天气怎么样?",随后 Bob 为一个付费天气 API 执行了一笔 0.001 USDC 的测试支付,支付在 Base Sepolia 上进行。
典型的支付流程如下:
当前的 Agent Toolkit for AWS 中的 OpenClaw 设置流程提供了 Base Sepolia 用于测试、Base 用于生产的示例,并支持针对其他链的定制,包括 Ethereum、其他 EVM 兼容链以及 Solana。
AWS 与 OpenClaw Foundation 在此集成上进行了合作,包括支持 ClawCon 等社区活动,并与 Foundation 的工程团队直接合作,将 AgentCore payments 纳入插件框架。
"支付是插件在 OpenClaw 中已有功能的自然延伸:通过定义良好的工具为智能体提供新能力,而不是事后追加的特例。我们感谢 AWS 对 OpenClaw 生态系统的支持,从 ClawCon 等活动到与我们的团队直接合作完成这一集成。现在智能体获得了一条生产级的支付路径来为其使用付费,而构建者仍然保持了他们期望的与其他 OpenClaw 插件相同的对话式设置。随着智能体支付成为智能体自主运营的更重要部分,我们期待与 AWS AgentCore 展开更深入的合作。"
——Patrick Erichsen,OpenClaw Foundation 技术员工
以下各节将引导你完成前提条件、在智能体循环外配置钱包和支付会话、配置明确的支付策略,以及完成一笔有界支付。
确保满足以下前提条件。
npm install -g openclaw免责声明:本解决方案的安全性遵循 AWS 共同责任模型。AWS 负责云的安全,而你负责云中的安全。对于本解决方案,你的责任包括配置 IAM 权限、保护钱包提供商凭证以及定义支付策略。请遵循 AgentCore payments IAM roles 指南,将管理操作、服务运营与智能体执行分离开来。
以下步骤将引导你从安装插件到观察智能体为其首个付费内容付费的全过程。
继续之前,确认 @aws/aws-agents-pay 包在 ClawHub 上可用,然后安装它:
openclaw plugins install clawhub:@aws/aws-agents-pay
包名为 @aws/aws-agents-pay,已安装的插件 ID 为 aws-agents-pay,捆绑的 skill 名称为 agents-pay。
查看捆绑的设置指南,运行:
openclaw skills info agents-pay
检查已安装的插件:
openclaw plugins inspect aws-agents-pay
面向模型的运行时只能暴露 get_payment_session_status 和 get_paid_content。如果出现设置、会话创建、shell 或其他面向模型的工具,请停止。意外出现的工具可能表明是其他版本、过时或被修改过的包。
安装插件不会创建支付管理器、连接器、支付工具或支付会话。选择以下配置选项之一。两个选项都使用你的 AWS 凭证在可信终端下运行,会话创建需要你在交互式 TTY 中输入 approve。
选项 A – OpenClaw 辅助设置。询问 OpenClaw:"Help me set up the agents-pay skill"。OpenClaw 可以解释每个步骤,但你必须自行运行管理命令并批准会话创建。OpenClaw 的指导不会移除交互式批准门槛。
选项 B – 完全手动设置。直接按照 OpenClaw 设置指南操作,不涉及 OpenClaw。
无论选择哪个选项,都要在可信、人工监督的终端中按照 OpenClaw 设置指南操作。该指南涵盖创建 AgentCore 项目、配置支付资源、运行设置向导,以及将生成的配置添加到 OpenClaw。你必须自行输入凭证并输入 approve。
在启用插件之前审查生成的配置。它必须包含支付管理器 ARN、支付工具 ID、会话 ID、用户 ID、网络、确切的资产合约、已批准的接收方列表和正向的单笔支付上限。
对于沙盒教程,使用配套代码示例第 3 步中的支付策略。它包含 Base Sepolia 网络、来源、接收方、USDC 资产、支付限额和与下一步中使用的测试端点相匹配的 returnBody 设置。
此沙盒端点在 Coinbase x402 Bazaar 中有列出,但本教程直接调用一个已知 URL。对于发现驱动的 工作流,请参阅 Tutorial with Coinbase Bazaar。
对于固定的商户集,使用商户文档或其他已知可靠来源带外验证 allowedRecipients 中的每个地址。不要仅仅因为某个接收方出现在 HTTP 402 响应中就批准它。对于更广泛的发现场景,设置 allowAnyRecipient: true 以让发布者选择受益人。此选项以接收方允许名单换取灵活性;来源、网络、资产、单笔支付和会话预算控制仍然适用。对于本教程,将 networkPreferences 保持在 Base Sepolia(eip155:84532),并使用设置向导选择的精确 Base Sepolia USDC 合约。
maxPaymentAmountAtomic 以资产的最小单位限制单笔支付。对于六位小数的 USDC 资产,100000 代表 0.10 USDC。支付会话预算单独限制会话到期或耗尽前的累计支出。对于本教程,设置 returnBody 为 true,以便智能体可以使用付费响应。插件将响应上限设为 10 KiB 并标记为 untrusted: true。当智能体只需要响应元数据和摘要时,不设置 returnBody 或将其设为 false。此设置不会暴露签名支付证明。
钱包提供商的密钥不应放在 OpenClaw 配置中。将支付会话 ID、资源标识符、接收方策略和其他配置值视为敏感的运维数据,因为它们描述并授权了运行时的支付路径。
保存 ~/.openclaw/openclaw.json 后重启网关:
openclaw gateway restart
如果你使用受保护的 ~/.x402/config.json 路径而非内联插件配置,插件会检查目录和文件的所有权和权限,并拒绝加载不安全的配置。
询问你的 OpenClaw 智能体会话是否可用:
What's the status of my payment session?
如果会话不可用、已过期或已耗尽,请停止。使用可信的管理路径来审查情况并创建替换会话。面向模型的运行时无法创建或扩展自己的预算。
配套示例将其支付策略固定到本教程使用的 Base Sepolia 端点。请让智能体获取它:
Fetch https://sandbox.node4all.com/v1/x402-test
插件执行有界探测,根据操作员的策略验证返回的挑战,调用 AgentCore payments,等待签名授权生效,然后重放请求。对于本教程启用的 returnBody,该工具返回付费响应正文,content_returned: true,上限为 10 KiB,并标记为 untrusted: true。它不会返回签名支付证明。
将商户响应和所有检索到的内容视为不可信。此设计不能防止提示词注入。它假设模型可以被操控,并通过 IAM 分离、批准的接收方和资产、单笔支付上限、累计会话预算和过期时间来约束支付权限。只有在智能体需要付费响应时才启用 returnBody,并将该响应作为数据而非指令来处理。
再次查询会话状态:
What's my payment session status now?
确认报告的剩余预算反映了该笔支付。
从 OpenClaw 中移除插件并重启网关:
openclaw plugins uninstall aws-agents-pay
openclaw gateway restart
使用相同可信的管理路径在 AWS 上移除支付资源。不要将基础设施删除或会话创建暴露给面向模型的运行时,并保持运行时 IAM 角色没有这些权限。
通过 AgentCore payments,智能体可以访问付费墙 API、按量付费的数据源和计量的 MCP 工具,所有操作都在人工预先设定的限额内进行。AgentCore payments 处理钱包集成、消费限额和支付编排。在本 OpenClaw 模式中,人工将钱包提供商凭证以及对接收方、资产、单笔支付限额、累计会话预算和过期时间的控制权保留在面向模型的运行时之外。智能体只能在其批准的有界范围内发起支付。
从 ClawHub 安装 aws-agents-pay 插件,然后按照 OpenClaw agent with AgentCore payments 示例来配置支付资源并完成端到端的 x402 支付。
感谢 AWS 解决方案架构师 Madhu Samitha Vangara 和 Isaac Lin 对本解决方案的贡献。