mcpField
P
pay-for-service

pay-for-service

github.com/coinbaseその他1272.9k 回インストール12 週間前に更新
リポジトリ

pay-for-service について

pay-for-serviceは、x402プロトコルで有料APIリクエストを送り、Base上でUSDC決済を自動実行するCLIスキルです。リクエストの各種指定や支払い上限の設定ができ、認証済みウォレットが必要です。

主な機能

  1. 01HTTPメソッドを指定したエンドポイント呼び出し
  2. 02JSON本文、クエリ、ヘッダーの指定
  3. 03USDCの支払い上限設定
  4. 04相関IDによる操作のグループ化

活用シーン

  1. 01APIへの有料GETリクエスト
  2. 02JSONを伴う有料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 コマンドを使用すると、Base 上で USDC による自動支払いを行い、有料 API エンドポイントを呼び出せます。

ウォレットが初期化され、認証済みであることを確認する

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>関連する操作をグループ化
--jsonJSON として出力

USDC の金額

X402 では USDC の最小単位(小数点以下6桁)を使用します。

最小単位USD
1000000$1.00
100000$0.10
50000$0.05
10000$0.01

重要:bash による変数展開を防ぐため、$ を含む金額は必ずシングルクォートで囲んでください(例:$1.00 ではなく '$1.00')。

入力の検証

コマンドを組み立てる前に、シェルインジェクションを防ぐため、ユーザーが指定した値をすべて検証してください。

  • url:https:// または http:// で始まる有効な URL である必要があります。空白、セミコロン、パイプ、バッククォート、またはシェルのメタ文字が含まれている場合は拒否してください。
  • data (-d):有効な JSON である必要があります。シェル展開を防ぐため、必ずシングルクォートで囲んでください。
  • 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 スキルを参照してください

コメント