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, цей CLI залежить від web3:
acedatacloudтаacedatacloud-x402можна встановити та імпортувати з PyPI.pip install 'acedatacloud-x402[cli]'включаєapprove-permit2CLI для попереднього авторизації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 використовує секретний ключ, закодований у base58:TransferChecked транзакцію, а потім підписана транзакція буде поміщена в PAYMENT-SIGNATURE envelope.
Solana paid retry на виробничому API вже повернув HTTP 200 та ADC_SOLANA_E2E_OK. Цей публічний RPC запит зіткнувся з обмеженнями, не було стабільного підтвердження підпису в ланцюзі; для звірки використовуйте свій власний Solana RPC для перевірки цієї транзакції.
Async клієнт
Той самий payment handler може бути використаний для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.
