acedatacloud отвечает за вызовы API, acedatacloud-x402 отвечает за подпись заголовка запроса PAYMENT-SIGNATURE.
Исходный код и адрес пакета:
- SDK репозиторий: https://github.com/AceDataCloud/SDK
- X402 Client репозиторий: https://github.com/AceDataCloud/X402Client
- PyPI SDK: https://pypi.org/project/acedatacloud/
- PyPI X402 Client: https://pypi.org/project/acedatacloud-x402/
Установка зависимостей
upto, вам также нужно один раз вызвать Permit2 approve CLI, который зависит от web3:
acedatacloudиacedatacloud-x402могут быть установлены и импортированы из PyPI.pip install 'acedatacloud-x402[cli]'включает CLIapprove-permit2для предварительного разрешенияupto.
Пример Base или SKALE
Следующий пример не требует API Token. Приватный ключ кошелька подписывается только локально и не отправляется в Ace Data Cloud.dict, поэтому пример использует res["choices"][0]["message"]["content"]. Не предполагайте, что он обязательно имеет атрибут .choices.
Результат выполнения программы SKALE paid call:
- Программа завершила 402 парсинг, подпись
PAYMENT-SIGNATUREи повторный запрос. content ADC_PY_SDK_X402_OK- это фиксированная строка, возвращаемая моделью, указывающая на то, что запрос прошел через платёжный канал X402 к целевому API.id chatcmpl-DlcWajqAHOop3iebmO19XRfT5bTPz- это ID ответа на этот chat completion.
Пример Solana
Solana использует secret key, закодированный в base58:TransferChecked транзакция, затем подпись транзакции будет помещена в PAYMENT-SIGNATURE envelope.
Solana paid retry на производственном API уже вернул HTTP 200 и ADC_SOLANA_E2E_OK. В этом публичном RPC запросе возникли ограничения, стабильное подтверждение подписи в цепочке не было получено; для сверки используйте свой собственный Solana RPC для проверки этой транзакции.
Асинхронный клиент
Тот же обработчик платежей может быть использован дляAsyncAceDataCloud:
Использование upto для последующей оценки
Реальные затраты на API, такие как завершение чата и вызовы модели, могут быть известны только после завершения ответа. В это время API может одновременно вернуть exact и upto. Если вы хотите приоритизировать использование upto:
upto:
content ADC_BASE_UPTO_OKуказывает на то, что запрос действительно попал в модель API.settled value 3 atomic USDCуказывает на то, чтоuptoрассчитывается по фактическому использованию, а не вычитается из полного лимита.settlement txможно открыть в BaseScan, для сверки сохраните tx hash, payer, completion id и сводку запроса.
upto использует разрешение Permit2 на лимит, фактическая сумма расчета не может превышать этот лимит. Перед первым использованием необходимо сделать одно approve(Permit2, amount) на USDC в целевой цепочке.
CLI способ:
{"skipped": true}, не отправляя повторно транзакцию в цепочку.
Низкоуровневая подпись
Если вы не используете SDK, вы также можете напрямую вызывать низкоуровневые функции подписи:create_x402_payment_handler.
