Anchor Browser 与 Amazon Bedrock AgentCore payments 集成,支持 AI 智能体自动完成 x402 付费请求
Building agents that transact with Anchor Browser and AgentCore payments
Anchor Browser 与 Amazon Bedrock AgentCore payments 集成,支持 AI 智能体在同一浏览器会话中自动处理 x402 付费网页和 API 请求,相关能力已在 AWS Marketplace 提供。
文章完整拆解了从 402 挑战到签名、重试和预算控制的处理流程,并给出 cURL 与 JavaScript 配置示例。
AI 代理越来越需要访问按请求计价的 Web 资源。例如,高级数据集按查询收费,研究 API 按调用计费,付费墙出版商则要求付费后才能访问内容。当 AI 代理遇到这类资源时,服务器会返回 HTTP 402 Payment Required。代理没有内置的支付机制,会话也没有附带预算,更没有以编程方式满足请求的手段。任务因此停滞,并需要人工干预。
Anchor Browser with Agentic Payments 代表代理处理机器对机器的支付工作流。该产品由 AWS Generative AI Innovation Center Partner Agent Factory 协作开发,现已在 AWS Marketplace 上线。本文介绍 Anchor Browser 如何集成 Amazon Bedrock AgentCore payments,使 AI 代理能够自主支付受 x402 保护的页面和 API。x402 协议是一种用于基于 HTTP 的机器对机器支付的开放标准。服务器会返回 402 Payment Required,以及代理用于完成交易的金额、可接受的支付方式和支付地址。
Anchor Browser 是一款基于云的浏览器自动化解决方案,专为 AI 代理打造。每个代理会话都在托管的浏览器环境中运行,该环境会维护身份验证状态、处理导航、捕获网络请求,并提供页面交互的实时视图。
Amazon Bedrock AgentCore 提供大规模构建、连接和优化代理的功能。Amazon Bedrock AgentCore payments 是 AgentCore 中一项完全托管的功能,AI 代理可以利用它自主发现、访问并支付 API、Model Context Protocol(MCP)服务器和 Web 内容。AgentCore payments 管理钱包连接,在基础设施层强制执行可配置的支出限额,并通过 x402 协议处理支付。它还通过 Amazon CloudWatch 提供支付尝试、批准、拒绝和结算的可观测性。
当在 Anchor Browser 中运行的代理遇到 402 响应时,AgentCore payments 会在配置的预算内授权并完成交易。工作流将不间断地继续执行。
挑战
当自主代理遇到受 x402 保护的资源时,工作流会停滞。代理发出请求,例如获取高级研究报告或调用付费数据丰富 API,服务器则返回 HTTP 402 Payment Required。如果没有支付机制,原本应自主运行的任务现在需要人工干预。
目前,开发者必须构建完整的支付技术栈。这项工作涉及四类复杂性:
支付协议处理
- 从 HTTP 响应中检测并解析 402 挑战,并将需要支付的响应与其他 4xx 错误区分开来。
- 使用商家所要求的确切格式,构造包含加密证明的正确支付标头。
- 支持多种支付方案(exact、upto 以及协议变体),而无需将特定于供应商的逻辑硬编码到代理中。
- 在不同的 x402 商家实现之间保持兼容性,因为它们在挑战格式、支持的稳定币或结算时间方面可能有所不同。
安全性和密钥管理
- 存储用于签署支付的私钥,这要求在暴露于不可信输入的环境中安全存储密钥。
- 管理钱包生命周期操作,包括密钥轮换、凭证刷新和提供商故障转移。
运营韧性
- 在保留会话状态、Cookie 和请求上下文的同时,使用支付标头重新提交原始请求。
- 提供幂等性,这对钱包操作至关重要。
- 对每个会话和每笔交易实施支出限额,并实时跟踪多个并发智能体执行过程中的预算。
可观测性与合规性
- 在审计日志中记录每次支付尝试、批准、拒绝和结算,以满足合规与对账要求。
如果没有托管支付服务,智能体就必须将整个支付技术栈整合到自身中。每当调用受 x402 保护的接口并收到 402 响应时,智能体都必须在内部编排完整的支付流程,包括:
- 对证明进行签名。
- 附加正确的标头。
- 重试请求。
- 结算交易。
- 记录结果。
开发者必须为上述每个步骤编写、保护并维护自定义代码。图 1 展示了这种架构。智能体包含八个紧密耦合的组件(钱包、私钥、预算控制、签署证明、附加标头、重试逻辑、结算支付和日志记录)。智能体连接到 x402 API,402 挑战返回,重试请求则向前发送。
图 1:智能体支付技术栈
安全方面的考量不止于工程投入。
支出失控。如果基础设施层没有强制执行硬性支出限额,那么漏洞、重试循环、提示注入或意外访问都可能触发非预期支付。智能体在循环中重试付费端点时,会持续授权支付,直至有人手动干预。
密钥暴露。私钥存放在智能体运行时环境中时,就会与不可信网页、第三方工具和外部依赖共享执行环境。这些途径可能会无意中泄露控制真实资金的凭证。
签名流程暴露。如果运行时环境可以访问签名基础设施,威胁行为者就可能试图访问密钥,或将支付重定向到未经授权控制的地址。要有效缓解这一风险,就必须从一开始避免让密钥进入运行时环境。
基于浏览器的智能体还面临一项额外限制:支付必须在同一个浏览器会话中完成。否则,会话录制和实时视图就无法与实际执行的操作对应。
解决方案
Anchor Browser 和 AgentCore Payments 通过将整个支付技术栈迁移到托管基础设施中,解决了这一复杂问题。
不同于无状态的工具调用,Anchor Browser 提供真实的云浏览器,具有持久身份、可重复且确定性的工作流,以及可靠登录、导航并完成任务所需的会话上下文。身份验证、导航、网络请求、录制和实时视图都在同一个浏览器会话中进行。需要支付时,交易也会在该会话中完成。录制内容会完整记录从请求、402 响应、支付到内容交付的整个过程。Anchor 智能体内置 x402 工具,可在浏览器上下文中原生处理付费 API 调用。该内置工具无需修改现有基于 Playwright、Puppeteer 或 Chrome DevTools Protocol 的工作流。
AgentCore payments 充当支付层。该服务的核心是 Payment Manager,它是负责协调 AWS 账户支付操作的顶层资源。创建 Payment Manager 时,需要指定授权器类型和 IAM 角色。随后,AgentCore 会在 Amazon Bedrock AgentCore Identity 中配置相应的工作负载身份。
其余组件将 Payment Manager 连接到外部钱包基础设施:
- PaymentConnector 将 Payment Manager 与外部钱包提供商集成,支持 Coinbase Developer Platform (Coinbase CDP) 或 Stripe Privy。
- PaymentCredentialProvider 在 AgentCore Identity 中安全存储钱包提供商凭证。
- PaymentInstrument 标识资金来源的具体钱包地址。
Anchor Browser 通过受支持的钱包提供商,利用 AgentCore payments 设置钱包,无需将钱包密钥或私钥存放在代理运行时中。AgentCore payments 通过已配置的提供商处理钱包操作。对于端点发现,AgentCore 通过 Amazon Bedrock AgentCore Gateway 提供精选的 Coinbase x402 Bazaar MCP 服务器,让代理能够以编程方式发现可用的按使用付费 x402 端点。
AgentCore payments 重构了支付架构。敏感操作从代理运行时移至托管服务层。Anchor Agent 仅持有两个支付相关组件:预算会话和 x402 工具。基础设施(包括身份验证、钱包密钥、支付限额、可观测性和支付证明签名)则位于 AgentCore payments 层。图 2 展示了 Anchor Agent 如何连接到 AgentCore payments 托管层,该层负责处理与 Coinbase CDP 或 Stripe Privy 的钱包提供商集成。
图 2:Anchor Browser 与 AgentCore payments 集成
支付流程的工作原理
以下步骤说明了端到端的流程:从浏览器会话遇到受 x402 保护的资源,到代理收到响应并继续执行任务。
- Anchor Browser 为浏览器会话创建专用的 AgentCore PaymentSession。当会话启用 x402 后,Anchor Browser 会通过 AgentCore payments 配置一个 PaymentSession,将浏览器会话关联到已配置的支付工具和预算。
- 浏览器收到 HTTP 402 Payment Required 响应。代理导航到某个 URL,或发起 fetch 或 XMLHttpRequest (XHR) 请求。商家会返回 402 挑战,其中指定金额、接受的支付方式和支付地址。
- 浏览器选择兼容的支付方式。Anchor Browser 读取 402 挑战负载,并将请求的支付方式与关联到 PaymentSession 的支付工具进行匹配。
- AgentCore 验证会话预算并生成加密支付证明。AgentCore payments 会验证支付金额是否在会话支出限额内。随后,该服务使用已配置的钱包提供商(Coinbase CDP 或 Stripe Privy)对交易签名,并返回加密证明。浏览器或代理运行时不会接触任何密钥材料。
- 浏览器在请求中添加支付标头并重试原始请求。浏览器将已签名的证明作为
PAYMENT-SIGNATURE(适用于 x402 v2)或X-PAYMENT(适用于 x402 v1)附加,然后仅重试一次原始请求。 - 商家验证并结算付款,然后返回受保护的资源。商家会验证加密证明、在链上结算交易,并提供内容。智能体继续执行任务。
在整个流程中,钱包凭证始终保留在 AgentCore 和已配置的钱包提供商处。
前提条件
开始之前,请确保你拥有有效的 Anchor Browser API 密钥(ANCHOR_API_KEY)。如需创建密钥,请参阅 Anchor Browser 快速入门指南。
设置自动 x402 付款
为 Anchor Browser 设置智能体付款需要配置一个会话属性。将 session.x402 设置为 true。该属性默认值为 false。启用后,浏览器会话可以自动访问受 x402 保护的网站,并由 AgentCore payments 签署付款,且在同一浏览器会话中重试。启用 session.x402 即授权浏览器使用已配置的支付工具进行实际付款。
以下示例展示如何使用 cURL 和 JavaScript 为 Anchor Browser 创建启用付款功能的会话:
cURL
curl --request POST
--url https://api.anchorbrowser.io/v1/sessions
--header "anchor-api-key: $ANCHOR_API_KEY"
--header "content-type: application/json"
--data '{"session":{"x402":true}}'JavaScript
const response = await fetch('https://api.anchorbrowser.io/v1/sessions', {
method: 'POST',
headers: {
'anchor-api-key': process.env.ANCHOR_API_KEY,
'content-type': 'application/json',
},
body: JSON.stringify({ session: { x402: true } }),
});
const { data: session } = await response.json();
console.log(session.cdp_url);通过 Chrome DevTools Protocol 连接后,智能体即可正常导航。你无需在自动化代码中加入钱包密钥或付款标头。浏览器会透明地处理 402 挑战、付款签名和重试,适用于文档导航、fetch 和 XHR 请求。
付款会话限制与行为
Anchor Browser 通过 AgentCore payments 集成在会话级别实施以下防护措施。每个支持付款的浏览器会话都在已配置的支出和时间限制内运行。具体限制请参阅 Anchor Browser 技术文档。
如果商家响应格式错误、没有提供兼容的网络、预算已用尽,或 AgentCore payments 拒绝付款,浏览器会将原始 402 响应原样返回给页面。此时,你的自动化代码可以像处理标准 HTTP 错误一样处理 402。
x402 会话属性仅控制向第三方资源付款。该属性不会取代 Anchor credits,也不会为浏览器会话付款。
Anchor Browser 的自动化代码
Anchor Browser 的自动化代码无需更改。以下示例展示无需编写任何付款专用代码:
const { chromium } = require('playwright');
// Connect to the x402-enabled session via CDP
const browser = await chromium.connectOverCDP(session.cdp_url);
const page = await browser.newPage();
// Navigate to an x402-protected resource exactly as with a free page
await page.goto('https://premium-research.example.com/market-report');
// The page loaded, the payment was handled automatically
// Extract content as normal
const content = await page.textContent('article');无需钱包逻辑、无需构造付款标头,也无需编写重试代码。智能体导航至该 URL。如果服务器返回 402,Anchor Browser 会与 AgentCore payments 协同,签署付款证明,使用相应的付款标头重试请求,并将内容传送至页面。你的自动化代码会收到最终渲染的页面,不会察觉发生过付款。
此模式普遍适用于付费墙新闻、授权金融数据、受限 API 文档、计量收费研究数据库,以及其他通过 402 挑战限制内容访问的资源。
使用内置 x402 工具调用 API
付费资源并不限于网页。许多资源是需要 POST、PUT 或其他 HTTP 方法的 API。常见示例包括数据丰富服务、高级推理端点和授权内容 API。对于这些使用场景,Anchor Browser 智能体内置了 x402 工具,你可以在浏览器上下文中像调用标准 HTTPS API 一样调用它。
你的代理通过 fetch 或 XHR 发起 API 调用。如果服务器返回 402 挑战,浏览器会通过 AgentCore payments 协调支付签名,并使用签名后的支付标头重试请求。你的代码收到响应时,就像该端点是免费的。该工具不绑定特定供应商、模型或框架。支付作为会话级功能运行在现有工具之下,无需更改代理代码。
// Fetch call to a paid API endpoint within the x402-enabled session
const response = await page.evaluate(async () => {
const res = await fetch('https://data-enrichment.example.com/api/v1/enrich', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({ company_domain: 'example.com' }),
});
return res.json();
});
// If the API returned 402, AgentCore handled payment automatically
// The response contains the enriched data
console.log(response);你的自动化代码不会收到钱包凭证。只有在 session.x402 设置为 true 时,才可使用自动支付;同时仍受上一节所述的支出限额和有效期限制。
主要优势
这项集成将支付从应用程序代码转移到基础设施层:
无需构建支付基础设施。无需集成钱包 SDK,无需编写 402 响应解析器,无需实现重试循环,无需维护标头构造逻辑,也无需构建自定义审计日志记录。AgentCore payments 管理整个支付栈。
无需更改现有工具。Playwright 脚本、Puppeteer 自动化、Chrome DevTools Protocol 命令以及 Anchor Browser 中的代理流程均可照常运行。支付是附加到浏览器的会话功能,不会修改代理逻辑、提示词或工具定义。
私钥不会进入运行时。签名和结算均在 AgentCore payments 内完成。该服务通过 AgentCore Identity 中的安全凭证存储与 Coinbase CDP 或 Stripe Privy 通信。代理运行时无法访问能够转移资金的密钥材料。
预算在基础设施层强制执行。每个会话都在规定的支出限额内运行,AgentCore 会在授权支付前执行该限额。Amazon Bedrock AgentCore Observability 通过 Amazon CloudWatch 提供完整的支付审计跟踪。会话达到支出限额时,AgentCore payments 会拒绝支付。
付费任务能够顺利完成。付费 GET 页面可以加载。付费 API 调用会返回响应。代理能够完成工作流,而不是在遇到 402 响应时停止并需要人工介入。
账单合并结算。Anchor Browser 会以额度形式结算第三方 x402 费用,并与浏览器会话时长一同计入同一张发票。无需管理单独的加密货币托管,无需监控 USDC 余额,财务团队也无需对账链上结算。
结论
Anchor Browser 与 AgentCore payments 集成后,可让 AI 代理自主应对付费墙网页和付费 API 端点的 x402 支付挑战。钱包凭证不会进入代理代码,也无需构建自定义支付基础设施。
随着越来越多的网络服务转向按请求计价,缺少支付机制的代理将无法完成涉及付费资源的任务。这项集成弥补了这一缺口:代理可以端到端完成付费工作流,在规定预算内运行,通过 AgentCore Observability 实现全面可观测性,并且运行时不包含加密密钥材料。
如需开始使用,请查看以下资源:
- Anchor Browser 中的自动 x402 支付
- AgentCore payments 开发者指南
- AgentCore payments 与浏览器集成
- AWS Marketplace 上的 Anchor Browser
关于作者
Cher Simon
Cher 是 AWS 的首席深度学习架构师,负责帮助客户、初创公司和 AWS 合作伙伴构建大规模、高性能的 AI/ML 解决方案。她是已出版的作者,专长是将 AI 研究转化为可投入生产的解决方案。
Guy Ben Simhon
Guy 是 Anchor Browser 的联合创始人兼首席产品官,负责产品和战略。他专注于构建基础设施,让 AI 智能体能够可靠地与 Web 交互,并大规模操作真实的计算机环境。
Elay Gelbart
Elay 是 Anchor Browser 的创始工程师兼首席工程师,负责开创其浏览器基础设施和核心工程。他专长于大规模浏览器基础设施、分布式系统,以及为 AI 智能体构建可靠的执行环境。
Chethan Shriyan
Chethan 是 AWS 的首席技术产品经理。他在产品和业务管理方面拥有 12 年以上的经验。Chethan 热衷于构建和交付能够对客户生活产生切实影响的技术产品。
Peter Jiang
Peter 是 AWS 的高级软件开发人员,常驻华盛顿州西雅图。他是 Amazon Bedrock AgentCore 支付计划背后工程团队的核心成员,该计划为 AI 智能体提供支付能力。Peter 在金融和支付行业拥有 8 年以上的经验,已推出多个从零开始的项目,涵盖银行、加密货币和智能体系统。
来源:AWS Machine Learning Blog · aws.amazon.com

