accepts 里有什么、PAYMENT-SIGNATURE 又是怎样让同一个 API 请求变成已支付请求的。
准备工作
你需要准备:
X402 调用 Ace Data Cloud API 时不需要 API Token。SDK 第一次请求不带
Authorization,Gateway 会返回 402 Payment Required 和支付要求;SDK 签名后自动重试。
安装 SDK
源码和包地址:- SDK 仓库:https://github.com/AceDataCloud/SDK
- X402 Client 仓库:https://github.com/AceDataCloud/X402Client
- npm:
@acedatacloud/sdk、@acedatacloud/x402-client - PyPI:
acedatacloud、acedatacloud-x402
acedatacloud-x402 中。
干净临时环境的安装和导入检查输出:
- npm 包和 PyPI 包都是真实发布包,不是文档里的占位名称。
acedatacloud-x402[cli]会安装 CLI,approve-permit2子命令可用于upto场景的 Permit2 授权。
第一次请求会返回 402
你可以先用curl 看看未支付请求返回什么。下面示例不会产生扣费,因为它没有携带 PAYMENT-SIGNATURE:
accepts 数组,常见结构如下:
PAYMENT-REQUIRED 响应头中,便于客户端不解析 body 就读取支付要求。
生产 API 未支付请求的程序输出摘要如下:
- 第一次请求没有携带
Authorization或PAYMENT-SIGNATURE,所以返回 HTTP 402,不会产生扣费。 accepts是本次请求唯一可信的签名依据,包含可选网络、scheme、金额上限、收款地址和资产地址。network是 CAIP-2 标识,客户端选网时必须按 CAIP-2 字符串匹配。- 这次
gpt-4o-mini最小聊天请求的上限金额是95215atomic USDC,也就是0.095215USDC。 - 每次请求都应该读取当次 402 响应,不要把示例金额硬编码进业务代码。
用 SDK 完成支付重试
下面是最小 TypeScript 示例。它指定network: 'skale',handler 会从本次 402 响应中选择 SKALE 的 payment requirement;实际金额和收款地址仍以 accepts 为准:
content ADC_TS_SDK_X402_OKはモデルが提示された通りに返した固定文字列であり、支払いを再試行した後、リクエストが実際にモデル API に入ったことを示しています。payerはローカル署名ウォレットアドレスであり、秘密鍵は Ace Data Cloud に送信されていません。- SDK は 402 の解析、
PAYMENT-SIGNATUREの署名、および元のリクエストの再試行を完了しました;ビジネスコードは依然として通常の SDK 呼び出し方法で記述されています。
- SDK は
Authorizationを含まない通常の API リクエストを一度送信します。 - Gateway は
402 Payment Requiredとacceptsを返します。 createX402PaymentHandlerはnetwork = 'skale'の支払い要件を選択し、PAYMENT-SIGNATUREを署名します。- SDK は同じリクエストボディで再試行し、Gateway は Facilitator を呼び出して検証および決済を行い、ターゲット API へのアクセスを許可します。
Facilitator のサポート能力を確認する
X402 API はリソースディレクトリに依存しません。クライアントは既知の API を直接呼び出し、リアルタイムで返される402 Payment Required と accepts を唯一の価格と署名の根拠として使用します。
Facilitator の能力声明は以下にあります:
/supported、/verify、/settle と現在有効な支払いネットワークを記述しており、API リソースは列挙していません。
Ace Data Cloud の生産 Facilitator アドレスは:
kinds は Facilitator がサポートするネットワークとスキームを列挙します。実際の呼び出し時には、API が返す accepts を基準とします。
Facilitator /supported の出力:
/supportedは Facilitator がこれらのネットワークとスキームの検証および決済能力を持っていることを示しています。- Base、SKALE、Solana はすべて
exactをサポートしています;uptoは現在 Base のみで提供されています。 - 特定の API が特定のネットワークを許可するかどうかは、依然としてその API の 402
acceptsに基づきます。

