网络标识使用 CAIP-2
x402 v2 的accepts[].network 是 CAIP-2 标识,不是 base、skale 这类简称。客户端匹配网络时必须按 CAIP-2 字符串比较:
支持矩阵
upto 目前只在 Base 上提供。实际可用项以 API 返回的 accepts 为准。你也可以查看 Facilitator:
/supported 的返回:
- Base、SKALE 和 Solana 的
exact是固定金额支付路径。 - 只有 Base 提供
upto后置计量路径,依赖 Permit2 approve。 upto条目里的extra.facilitatorAddress是客户端签名时要写入 witness 的地址,必须和服务端返回值一致。
Base
Base 使用官方 USDC 合约:exact 方案中,客户端签署 EIP-712 TransferWithAuthorization。签名内容包括:
from:付款钱包地址to:Ace Data Cloud 收款地址value:本次支付金额validAfter/validBefore:签名有效时间窗口nonce:32 字节随机 nonce
transferWithAuthorization 完成转账。
Base 是最推荐的正式接入网络,尤其适合 upto 后置计量,因为 Permit2、USDC 和钱包生态都更成熟。
Base exact 验证结果示例:
- API paid retry 返回模型内容
ADC_BASE_E2E_OK。 - 链上交易已在 BaseScan 可查,区块号是
46726299。 95215atomic USDC 对应0.095215USDC,是这次 API 调用的实际结算金额。
exact 的程序运行结果:
- 平台订单最终状态是
Finished。 - 订单
pay_id写入同一个 Base 交易哈希。 1200000atomic USDC 对应1.2USDC,是旧政策下该笔 10 Credits 订单的历史实付金额;新订单不再额外享受 X402 支付方式折扣,具体签名金额以本次 402 响应为准。
SKALE
SKALE 使用 bridged USDC,签名方式与 Base 类似,也是 EIP-3009。它适合低 gas 成本的 EVM 支付场景;实际调用仍以 API 返回的accepts 为准。
SKALE 的典型 402 accepts 中会包含:
exact。如果你需要后置计量,请使用 Base upto。
SKALE exact 验证结果示例:
- API paid retry 返回模型内容
ADC_SKALE_E2E_OK。 - 交易已在 SKALE explorer 可查,区块号是
1969317。 - 这次
exact支付的结算金额是0.095215USDC。
Solana
Solana 使用 SPL USDCTransferChecked。客户端会构造一笔转账交易,签名并提交,之后把交易签名或序列化交易放入 PAYMENT-SIGNATURE envelope。
Solana 的特点:
- 使用 Solana wallet adapter 或 base58 secret key;
- 资产是 Solana USDC mint;
- 当前只支持
exact; - Facilitator 会校验 transfer instruction 的 mint、destination、authority 和 amount。
exact 验证结果示例:
- paid retry 已经返回 HTTP 200,并且模型输出
ADC_SOLANA_E2E_OK。 - 公开 RPC 查询链上 signature 时可能遇到限流。
- 因为公开 RPC 查询可能限流,这里不写 Solana explorer。需要严格对账时,请使用自有 Solana RPC 或平台侧结算记录确认交易签名。
如何选择
无论选择哪条链,都不要在客户端硬编码价格。价格由服务器返回的
accepts[].maxAmountRequired 决定。
