Base Sepolia 測試網 · 不涉及真錢

用 HTTP 402 幫 API 收錢

x402 讓 API 直接回「402 Payment Required」,呼叫方用錢包簽一筆 USDC 授權後重送請求,就拿得到資料。沒有帳號、沒有 API key、沒有月結帳單。

流程

  1. 呼叫 GET /api/fortune,伺服器回 402,PAYMENT-REQUIRED header 寫明要付多少、付給誰。
  2. 呼叫方用錢包簽一筆 EIP-3009 授權(不用付 gas),放進 PAYMENT-SIGNATURE header 重送。
  3. 伺服器交給 facilitator 驗證並上鏈結算,成功後回傳資料,結算結果放在 PAYMENT-RESPONSE header。

自己試

用錢包付費開啟 →

按上面的按鈕看回應。

—

「用錢包付費開啟」會跳出 x402 的付款頁,需要 MetaMask 之類的錢包,以及 Base Sepolia 的測試 USDC(到 faucet.circle.com 免費領)。

用程式付費

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PAYER_PRIVATE_KEY);
const pay = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:84532", client: new ExactEvmScheme(account) }],
});
const res = await pay("https://x402.yth.tw/api/fortune");
console.log(await res.json());

這支 API 的設定

價格:$0.001(USDC)

網路:eip155:84532(Base Sepolia)

收款地址:0x205e40C9B3585A8326C35DAF643220Abd8231961