开发者平台
主题

我的 Agent 去购买服务#

买家无需复杂安装,只要为你的 AI Agent 安装 Onchain OS Skill,它就能与卖家发起对话、自动签名付款,全程无需人工介入。

Skill 会自动处理:

  • 支付请求识别:自动识别 HTTP 402 响应或消息通道中的付款 URL
  • 金额校验:检查金额是否合理、收款方是否可信
  • 签名授权:调用 Agentic Wallet 完成签名
  • 状态跟踪:监控支付状态、获取 Receipt

准备工作#

本指南使用 X Layer 测试网跑通完整流程,无需真实资金。验证通过后参考末尾 切换到主网 小节即可上主网。


配置#

将以下提示词发送给 AI,即可安装 Onchain OS Skills,为你的 Agent 配置 Agentic Wallet:

text
运行 npx skills add okx/onchainos-skills 安装 Onchain OS skills
注意:请安装到当前 Agent 对应的 skill 目录
同时,帮我根据这个文档安装最新版本的CLI https://github.com/okx/onchainos-skills

验证#

下文用官方 Mock Merchant 作为验证目标——已部署在 X Layer Testnet 上,无需任何本地服务。

登录:

onchainos wallet login

请求 Mock Merchant 资源:

访问该服务 https://www.okx.com/api/v1/pay/mock-merchant/resource

获取到支付信息,说明请求成功:

服务返回了一个 x402 支付要求 响应(HTTP 402)。内容如下:

  - x402 版本: 2
  - 资源: /api/v1/pay/mock-merchant/resource
  - 支付方式: exact — 单次支付
  - 网络: eip155:1952 (X Layer Testnet)
  - 代币: USD₮0 (0x9e29b3aada05bf2d2c827af80bd28dc0b9b4fb0c)
  - 金额: 10000 (最小单位,即 0.01 USD₮0)
  - 收款地址: 0x3509655ad99effc7f3f74205482b1cb337ca08f7
  - 超时: 60 秒

确认支付,签名交易数据并重放请求到卖家端:

bash
PAYMENT_PAYLOAD=$(python3 -c "
      import json, base64
      payload = {
          'x402Version': 2,
          'resource': {'url': '/api/v1/pay/mock-merchant/resource', 'mimeType': 'application/json'},
          'accepted': {'scheme': 'exact', 'network': 'eip155:1952', 'asset':
      '0x9e29b3aada05bf2d2c827af80bd28dc0b9b4fb0c', 'amount': '10000', 'payTo':
      '0x3509655ad99effc7f3f74205482b1cb337ca08f7', 'maxTimeoutSeconds': 60, 'extra': {'name': 'USD₮0', 'version': '1'}},
          'payload': {
              'signature': '0x...',
              'authorization': {'from': '0x...', 'nonce':
              '0x...', 'to': '0x3509655ad99effc7f3f74205482b1cb337ca08f7', 'validAfter': '0', 'validBefore': '...', 'value': '10000'}
          }
      }
      print(base64.b64encode(json.dumps(payload, separators=(',', ':')).encode()).decode())
      ")
curl -s -D - https://www.okx.com/api/v1/pay/mock-merchant/resource -H "PAYMENT-SIGNATURE: $PAYMENT_PAYLOAD"

获取到卖家端返回的资源:

⏺ 支付成功!返回内容:

  {
    "data": "premium content from mock merchant",
    "payment": {
      "status": "success",
      "payer": "0x...",
      "txHash": "0x...",
      "network": "eip155:1952"
    }
  }

验证上链:复制返回的 txHashOKLink X Layer Testnet 查询,确认交易成功上链。


切换到主网#

测试网验证通过后,切到主网只需把请求目标换成主网上的付费服务,并确保钱包有真实的 OKB(Gas)+ 稳定币(USDG / USD₮0)余额。

买家侧无需修改任何网络配置:网络(eip155:196)与代币地址由卖家在 402 响应中返回,Agent 自动跟随。


常见问题#

Agent 自动签名安全吗?

安全。Agentic Wallet 私钥保管在 TEE(可信执行环境)中不可导出;Skill 在调用签名前会做金额、收款方等校验(见上文);每笔签名都带 nonce 和有效期,无法被重放。批量支付的 Session Key 签名单独无法上链,必须经 TEE 重签后聚合上链,即使被截获也无法直接扣款。

支持哪些钱包?

单次支付支持任何兼容 EIP-3009 的 EVM 钱包。批量支付必须使用 Agentic Wallet。

付款失败怎么办?

付款失败时(如 KYT 检查不通过、余额不足)卖家不会交付服务,买家也不会被扣款。具体错误码会返回到 Agent,可在日志中看到原因。

不用 Agentic Wallet 也能用吗?

可以,但功能会受限。任何 EIP-3009 钱包都能完成单次支付;要使用批量支付,必须用 Agentic Wallet。