mcpField
P
pay-for-service

pay-for-service

github.com/coinbase其他1272.9k 次安装12 周前更新
代码仓库

关于 pay-for-service

pay-for-service 是通过 x402 协议发送付费 API 请求的命令行技能,可在 Base 上自动使用 USDC 付款。它提供请求参数和最高付款额设置,需使用已认证的钱包。

主要功能

  1. 01使用 HTTP 方法调用端点
  2. 02提供 JSON 请求体、查询参数和标头
  3. 03设置 USDC 最高付款额
  4. 04使用关联 ID 对操作分组

适用场景

  1. 01向 API 发送付费 GET 请求
  2. 02提交带 JSON 的付费 POST 请求
  3. 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