Clientとして使う
AIエージェントやアプリからJPYCで支払いを行う方法を解説します。
対象
AIエージェント開発者・アプリケーション開発者
必要なもの
- EVMウォレットの秘密鍵(PRIVATE_KEY)
- ウォレットに十分なJPYC残高(Polygon mainnet)
フロー
- ウォレットにJPYCを用意
Polygon mainnet上のJPYCをウォレットに送金します。 - PRIVATE_KEYを設定
環境変数にウォレットの秘密鍵を設定します。 - x402対応サーバーにリクエスト
通常のHTTPリクエストと同様にエンドポイントを呼び出します。 - 自動的にEIP-3009署名して支払い
402レスポンスを受け取ると、x402-fetchが自動的に署名を生成し、支払い付きでリトライします。
サンプルコード(TypeScript)
import { privateKeyToAccount } from "viem/accounts";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
// 1. 署名者(ウォレット)を用意
const signer = privateKeyToAccount(
process.env.PRIVATE_KEY as `0x${string}`,
);
// 2. x402 client を作り、EVM向け "exact" スキームを登録
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(signer));
// 3. 支払い対応の fetch を作成
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
// 4. x402 対応サーバーにリクエスト(402 → 署名 → 再送信まで自動)
const response = await fetchWithPayment(
"https://example.com/api/paid-endpoint",
);
const data = await response.json();
console.log(data);注意事項
- 秘密鍵は環境変数で管理し、コードにハードコードしないでください
- 本番では適切なRPCプロバイダーURLを設定してください
- テスト時は Amoy testnet で動作確認できますが、テスト用 JPYC の入手方法(公式 Faucet の有無など)はJPYC 公式に要確認です。公式 Faucet が未整備の場合は各自でテストトークンをデプロイする必要があります。
Claude Code ではじめる
最速でクライアント実装を動かすには Claude Code を使ってください。以下のプロンプトをそのまま貼り付けるだけで、クローンから動作確認まで一緒に進めてくれます。
こんにちは Claude。
https://github.com/kakedashi3/x402-jpyc-example.git を今いるディレクトリにクローンして。
それから README.md を読んで。x402 × JPYC のクライアントをローカルで動かしたい。
client/ ディレクトリの npm install、.env の設定(PRIVATE_KEY など)、動作確認まで一緒に進めて。