Skip to main content
Python SDK 适合后端服务、数据任务、自动化 Agent 和批处理脚本。acedatacloud 负责 API 调用,acedatacloud-x402 负责签出 PAYMENT-SIGNATURE 请求头。 源码与包地址:

安装依赖

如果要使用 upto,还需要一次性调用 Permit2 approve CLI,该 CLI 依赖 web3:
干净 Python venv 的安装和导入检查输出:
结果说明:
  • acedatacloud 和 acedatacloud-x402 均可从 PyPI 安装并导入。
  • pip install 'acedatacloud-x402[cli]' 会带上 approve-permit2 CLI,用于 upto 前置授权。

Base 或 SKALE 示例

下面示例不需要 API Token。钱包私钥只在本地签名,不会发送给 Ace Data Cloud。
Python SDK 当前返回的是 dict,所以示例使用 res["choices"][0]["message"]["content"]。不要直接假设它一定有 .choices 属性。 SKALE paid call 的程序运行结果:
结果说明:
  • 程序完成了 402 解析、PAYMENT-SIGNATURE 签名和原请求重试。
  • content ADC_PY_SDK_X402_OK 是模型真实返回的固定字符串,说明请求已经通过 X402 付费链路进入目标 API。
  • id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPz 是这次 chat completion 响应 ID。
使用 SKALE 时只需要改网络名:

Solana 示例

Solana 使用 base58 编码的 secret key:
Solana 路径会构造并提交 SPL USDC TransferChecked 交易,然后把交易签名放进 PAYMENT-SIGNATURE envelope。 Solana paid retry 在生产 API 上已返回 HTTP 200 和 ADC_SOLANA_E2E_OK。本次公开 RPC 查询遇到限流,未稳定确认链上 signature;需要对账时请用你自己的 Solana RPC 查询该次交易。

Async 客户端

同一个 payment handler 可以用于 AsyncAceDataCloud:

使用 upto 后置计量

聊天补全、模型调用等 API 的真实成本可能需要等响应结束后才知道。此时 API 可能同时返回 exact 和 upto。如果要优先使用 upto:
Base upto 的程序运行结果:
链上确认:
结果说明:
  • content ADC_BASE_UPTO_OK 说明请求真实进入模型 API。
  • settled value 3 atomic USDC 说明 upto 按实际用量结算,而不是扣完整上限。
  • settlement tx 可在 BaseScan 打开,对账时保存 tx hash、payer、completion id 和请求摘要。
upto 使用 Permit2 授权一个上限,实际结算金额不能超过该上限。第一次使用前,需要对目标链上的 USDC 做一次 approve(Permit2, amount)。 CLI 方式:
程序方式:
该 helper 是幂等的。如果 allowance 已经足够,会返回 {"skipped": true},不会重复发链上交易。

低层签名

如果你不使用 SDK,也可以直接调用低层签名函数:
低层函数适合测试、代理层、网关集成或非官方 SDK。普通业务代码优先使用 create_x402_payment_handler。