StableOps

Agent Payments

让自主 Agent 在不获得无限制钱包权限的前提下,通过受控的 GET、POST、PUT、PATCH 或 DELETE 请求购买 x402 资源,并让每笔稳定币支付始终遵守明确的钱包、策略、预算、审批和签名边界。

Agent Payments 是 StableOps 的 Agent 支付控制层。运营者预先登记付款钱包、激活不可变支出策略、设置预算并签发受限 Agent Key。Agent 运行时只能在这些边界内购买收费资源。

一笔支付如何完成

  1. Agent SDK 按预定请求方法和请求体访问收费资源,并读取 HTTP 402 响应中的 x402 付款要求。
  2. StableOps 控制面校验来源、收款地址、网络、资产、金额、策略和两级日预算。
  3. 需要人工决定时,Intent 进入审批。通过后继续使用同一个 Intent。
  4. 客户自行部署的签名器伴随服务校验短时执行授权,再使用本地密钥或 AWS KMS 签名。
  5. Agent SDK 携带支付凭证重试原资源,控制面异步对账资源响应与链上结算状态。

信任边界

  • Agent 运行时只持有受限 Agent Key 和伴随服务鉴权令牌,不能修改钱包、策略、预算或审批。
  • 签名器只签署与 StableOps 执行授权完全一致的付款载荷或预构建交易,不提供任意签名接口。
  • 付款钱包私钥或 KMS 权限始终留在客户环境中。
  • StableOps 不代理业务请求、不广播付款交易,也不持有客户私钥。
  • 支付状态与资源状态分别记录。拿到资源不等于已经确认链上结算。

软件包

软件包运行位置职责
@stableops/agent-payments-api-sdk运营者服务端管理 Agent、钱包、策略、预算、审批和支付查询
@stableops/agent-payments-sdkAgent 运行时请求收费资源,协调 Intent、审批、签名与结果查询
@stableops/agent-payments-signer客户签名环境校验执行授权,并通过本地钱包私钥或 AWS KMS 签名

支持范围

  • 服务端 Node.js 20 或更高版本。不支持浏览器或边缘运行时。
  • 支持通过 HTTPS 使用 x402 v2 exact 购买 GETPOSTPUTPATCHDELETE 资源。非 GET 请求体由 Agent SDK 直接发给资源服务,StableOps 只保存其 SHA-256 摘要和内容类型。
  • 当前资产固定为下表中的 USDC;TRON 主网和 Nile 测试网暂不支持。
  • 沙盒只能使用测试网,正式环境只能使用主网。正式环境默认关闭,组织完成风控与恢复演练门禁后由 StableOps 开通。

沙盒和正式环境的网络限制会在策略、钱包、支付意图和授权接口中分别校验,不能通过自行构造请求跨环境使用网络。

第一笔沙盒付款推荐使用 Base Sepolia,第一笔正式付款推荐使用 Base。不同 x402 收费服务可能要求不同网络。选择标为使用前确认的网络前,请先确认收费服务提供下表所列的准确网络和 USDC,并在开启自动付款前完成一笔需要人工审批的小额付款。

正式环境网络

Ethereum

使用前确认
EIP-3009
网络标识
eip155:1
合约或 Mint
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
资产
USDC
位数
6

Base

推荐
EIP-3009
网络标识
eip155:8453
合约或 Mint
0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
资产
USDC
位数
6

Arbitrum

使用前确认
EIP-3009
网络标识
eip155:42161
合约或 Mint
0xaf88d065e77c8cc2239327c5edb3a432268e5831
资产
USDC
位数
6

Polygon

使用前确认
EIP-3009
网络标识
eip155:137
合约或 Mint
0x3c499c542cef5e3811e1192ce70d8cc03d5c3359
资产
USDC
位数
6

Optimism

使用前确认
EIP-3009
网络标识
eip155:10
合约或 Mint
0x0b2c639c533813f4aa9d7837caf62653d097ff85
资产
USDC
位数
6

BNB Smart Chain

使用前确认
Permit2
网络标识
eip155:56
合约或 Mint
0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d
资产
USDC
位数
18

Solana

使用前确认
SVM 预签名交易
网络标识
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
合约或 Mint
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
资产
USDC
位数
6

沙盒网络

Ethereum Sepolia

使用前确认
EIP-3009
网络标识
eip155:11155111
合约或 Mint
0x1c7d4b196cb0c7b01d743fbc6116a902379c7238
资产
USDC
位数
6

Base Sepolia

推荐
EIP-3009
网络标识
eip155:84532
合约或 Mint
0x036cbd53842c5426634e7929541ec2318f3dcf7e
资产
USDC
位数
6

Arbitrum Sepolia

使用前确认
EIP-3009
网络标识
eip155:421614
合约或 Mint
0x75faf114eafb1bdbe2f0316df893fd58ce46aa4d
资产
USDC
位数
6

Polygon Amoy

使用前确认
EIP-3009
网络标识
eip155:80002
合约或 Mint
0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582
资产
USDC
位数
6

Optimism Sepolia

使用前确认
EIP-3009
网络标识
eip155:11155420
合约或 Mint
0x5fd84259d66cd46123540766be93dfe6d43130d7
资产
USDC
位数
6

BNB Smart Chain 测试网

使用前确认
Permit2
网络标识
eip155:97
合约或 Mint
0x64544969ed7ebf5f083679233325356ebe738930
资产
USDC
位数
18

Solana Devnet

使用前确认
SVM 预签名交易
网络标识
solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1
合约或 Mint
4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
资产
USDC
位数
6

如果收费服务要求使用 BNB Smart Chain,请先确认它接受下表所列资产,并完成所需的 Permit2 授权。主网资产是 Binance-Peg USDC,测试网资产是社区锚定测试代币,两者都不是 Circle 发行的 USDC。

签名器与燃料费

  • EVM 网络无论使用 EIP-3009 还是 Permit2,沙盒都使用 LocalTestSigner,正式环境都使用 AwsKmsSignerAwsKmsSigner 仅支持 EVM 网络。
  • 对于 EIP-3009,x402 结算服务提交付款交易,付款钱包不需要为每笔付款准备原生代币。
  • 对于 Permit2,付款钱包必须先授权规范 Permit2 合约(0x000000000022D473030F116dDEE9F6B43aC78BA3)使用 USDC。授权额度应以资金管理策略实际需要为限。广播前必须逐项核对网络、代币、被授权方和金额。该授权交易由钱包广播,因此钱包需要持有对应网络的原生代币支付燃料费。后续 x402 付款交易仍由结算服务提交。
  • Solana 在沙盒和正式环境中都使用 LocalSvmSigner。Solana 私钥必须留在客户环境。结算服务的费用支付方负责交易费,付款钱包无需为 x402 付款持有 SOL。

金额单位

支付报价、审批和回执中的金额使用上表所列资产位数。策略和预算则始终使用 6 位 USDC 预算单位:1000000 表示 1 USDC。以高级网络 BNB Smart Chain 为例,1 USDC 的支付金额为 1000000000000000000,但策略限额仍为 1000000

从沙盒迁移到正式环境

沙盒和正式环境彼此隔离。不能在正式环境中复用沙盒的 Agent、Agent Key、钱包、策略、预算、签名器实例、授权记录存储或幂等键。

首次主网付款前应完成以下检查:

  1. 完成 StableOps 组织风控审核和恢复演练,并确认正式环境已经开通、收款地址风险筛查链路健康。
  2. 创建正式环境 Agent Payments 管理 API Key 和新的正式环境 Agent,在收费服务接受的网络上登记并绑定专用钱包。除非收费服务要求其它网络且小额测试付款已经成功,否则从 Base 开始。
  3. 使用 6 位预算单位重新创建策略和预算,并把生产资源来源、收款地址、网络及上表列出的 USDC 合约固定到策略中。
  4. 把签名器配置为 environment: 'LIVE' 和目标主网的准确 CAIP-2 标识;每个签名器实例使用独立、持久的授权记录存储。
  5. 使用 BNB Smart Chain 时核对 Permit2 授权余额和原生代币燃料费余额;所有网络都应独立核对钱包 USDC 余额。
  6. 先执行一笔金额很小且需要人工审批的验证付款。确认收费资源响应、StableOps 支付与回执、签名 Webhook、结算服务结果和钱包余额全部一致后,再启用自动付款。

ak_sandbox_... Agent Key 不能访问正式环境,必须重新签发并安全保存 ak_live_... Key。主网请求返回 403 风控错误,表示组织尚未完成开通;返回 503 风险筛查错误时必须保持拒绝并升级处理,不能通过创建第二个 Intent 重试付款。

从哪里开始

这篇文档怎么样?

最后更新

本页内容