このサイトはコミュニティが運営する非公式の日本語リソースです。公式ドキュメントはdocs.x402.orgをご参照ください。

エクステンション概要

x402のコアビジネスロジックを変更せずに機能を拡張するオプション機能群です。

エクステンションは支払いライフサイクルにプラグインできるコンポーザブルなオプション機能です。コアの動作を変更せずに、ディスカバリー・ガスレス決済・認証・監査などの機能を追加できます。

エクステンションポイント

リソースサーバーエクステンション

3つのライフサイクルポイントで動作します:

  • 宣言時(ルート登録)enrichDeclaration
  • 402レスポンスの拡張enrichPaymentRequiredResponse
  • 決済レスポンスの拡張enrichSettlementResponse

ファシリテーターエクステンション

メカニズム実装用のキーを提供します。主に決済時のガス代スポンサー処理に使用されます。

登録パターン

エクステンションは registerExtension() でリソースサーバーに登録し、ルート設定の extensions オブジェクトにエクステンションのキーを使って宣言します:

server.registerExtension(bazaarExtension);

const routes = {
  "GET /weather": {
    accepts: [{ scheme: "exact", price: "$0.001", network: "eip155:8453", payTo: "0x..." }],
    extensions: {
      bazaar: { discoverable: true, category: "weather" },
    },
  },
};

利用可能なエクステンション