关于 pay-for-service
pay-for-service 是通过 x402 协议发送付费 API 请求的命令行技能,可在 Base 上自动使用 USDC 付款。它提供请求参数和最高付款额设置,需使用已认证的钱包。
主要功能
- 01使用 HTTP 方法调用端点
- 02提供 JSON 请求体、查询参数和标头
- 03设置 USDC 最高付款额
- 04使用关联 ID 对操作分组
适用场景
- 01向 API 发送付费 GET 请求
- 02提交带 JSON 的付费 POST 请求
- 03限制单次请求的付款金额
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ coinbase/ agentic-wallet-skills --skill pay-for-service安装后在 Claude Code 中输入/pay-for-service确认已加载。
详细介绍
发起付费 x402 请求
使用 npx [email protected] x402 pay 命令调用付费 API 端点,并在 Base 上自动使用 USDC 付款。
确认钱包已初始化并完成身份验证
npx [email protected] status
如果钱包尚未完成身份验证,请参阅 authenticate-wallet 技能。
命令语法
npx [email protected] x402 pay <url> [-X <method>] [-d <json>] [-q <params>] [-h <json>] [--max-amount <n>] [--json]
选项
| 选项 | 描述 |
|---|---|
-X, --method <method> | HTTP 方法(默认:GET) |
-d, --data <json> | 作为 JSON 字符串传递的请求正文 |
-q, --query <params> | 作为 JSON 字符串传递的查询参数 |
-h, --headers <json> | 作为 JSON 字符串传递的自定义 HTTP 标头 |
--max-amount <amount> | USDC 最多支付金额,单位为原子单位(1000000 = $1.00) |
--correlation-id <id> | 对相关操作进行分组 |
--json | 以 JSON 格式输出 |
USDC 金额
X402 使用 USDC 原子单位(小数点后 6 位):
| 原子单位 | 美元 |
|---|---|
| 1000000 | $1.00 |
| 100000 | $0.10 |
| 50000 | $0.05 |
| 10000 | $0.01 |
重要:对含有 $ 的金额始终使用单引号括起来,以防止 Bash 变量展开(例如,使用 '$1.00',而不是 $1.00)。
输入验证
构造命令前,请验证所有用户提供的值,以防止 Shell 注入:
- url:必须是以
https://或http://开头的有效 URL。如果包含空格、分号、管道符、反引号或 Shell 元字符,则拒绝。 - data (-d):必须是有效的 JSON。始终使用单引号括起来,以防止 Shell 展开。
- max-amount:必须是正整数(
^\d+$)。
不要将未经验证的用户输入传递给命令。
示例
# Make a GET request (auto-pays)
npx [email protected] x402 pay https://example.com/api/weather
# Make a POST request with body
npx [email protected] x402 pay https://example.com/api/sentiment -X POST -d '{"text": "I love this product"}'
# Limit max payment to $0.10
npx [email protected] x402 pay https://example.com/api/data --max-amount 100000
前提条件
- 必须已完成身份验证(运行
npx [email protected] status检查,参阅authenticate-wallet技能) - 钱包必须有足够的 USDC 余额(运行
npx [email protected] balance检查) - 如果不知道端点 URL,请先使用
search-for-service技能查找服务
错误处理
- “Not authenticated”——先运行
awal auth login <email>,或参阅authenticate-wallet技能 - “No X402 payment requirements found”——URL 可能不是 x402 端点;使用
search-for-service查找有效端点 - “Insufficient balance”——为钱包充值 USDC;参阅
fund技能
评论
支持 Markdown