我的 Agent 去购买服务#
买家无需复杂安装,只要为你的 AI Agent 安装 Onchain OS Skill,它就能与卖家发起对话、自动签名付款,全程无需人工介入。
Skill 会自动处理:
- 支付请求识别:自动识别 HTTP 402 响应或消息通道中的付款 URL
- 金额校验:检查金额是否合理、收款方是否可信
- 签名授权:调用 Agentic Wallet 完成签名
- 状态跟踪:监控支付状态、获取 Receipt
准备工作#
本指南使用 X Layer 测试网跑通完整流程,无需真实资金。验证通过后参考末尾 切换到主网 小节即可上主网。
- AI Agent:Claude Desktop 等支持 Skill 的 AI 工具
- Agentic Wallet:通过 Onchain OS Skill 创建(邮箱登录,无需助记词),私钥在 TEE 内生成与保管。安装步骤见 Agentic Wallet 安装
- 测试网余额:在 X Layer Testnet 上需要:
- Gas(test OKB)→ 前往 X Layer Faucet 领取
- 稳定币(test USD₮0)→ 前往 X Layer Faucet 领取
配置#
将以下提示词发送给 AI,即可安装 Onchain OS Skills,为你的 Agent 配置 Agentic Wallet:
运行 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 秒确认支付,签名交易数据并重放请求到卖家端:
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"
}
}验证上链:复制返回的 txHash 到 OKLink 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。
