accepts, и как PAYMENT-SIGNATURE превращает один и тот же API-запрос в запрос с оплатой.
Подготовительные работы
Вам нужно подготовить:
При вызове X402 API Ace Data Cloud не требуется 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может использоваться для авторизации Permit2 в сценарияхupto.
Первый запрос вернет 402
Вы можете сначала использоватьcurl, чтобы посмотреть, что возвращает неоплаченный запрос. Пример ниже не приведет к списанию средств, так как он не содержит PAYMENT-SIGNATURE:
accepts, типичная структура выглядит следующим образом:
PAYMENT-REQUIRED, чтобы клиент мог прочитать требования к оплате, не разбирая тело.
Вывод программы для неоплаченного запроса к производственному API выглядит следующим образом:
- Первый запрос не содержал
AuthorizationилиPAYMENT-SIGNATURE, поэтому вернулся HTTP 402, и списание средств не произошло. acceptsявляется единственным надежным основанием для подписи этого запроса, содержит доступные сети, схему, максимальную сумму, адрес получения и адрес актива.networkявляется идентификатором CAIP-2, клиент должен соответствовать строке CAIP-2 при выборе сети.- Максимальная сумма для минимального запроса чата
gpt-4o-miniсоставляет95215атомных USDC, что соответствует0.095215USDC. - Каждый запрос должен считывать ответ 402, не следует жестко кодировать примерные суммы в бизнес-код.
Завершение оплаты с помощью SDK
Ниже приведен минимальный пример на TypeScript. Он указываетnetwork: 'skale', обработчик выберет требование к оплате SKALE из текущего ответа 402; фактическая сумма и адрес получения будут определяться по accepts.
content ADC_TS_SDK_X402_OK— это фиксированная строка, возвращаемая моделью по запросу, что указывает на то, что после повторной попытки оплаты запрос действительно попал в API модели.payer— это адрес локального подписанного кошелька, приватный ключ не был отправлен в Ace Data Cloud.- SDK выполнил 402 парсинг, подписал
PAYMENT-SIGNATUREи повторил исходный запрос; бизнес-код по-прежнему написан в обычном стиле вызова SDK.
- SDK отправляет обычный API запрос без
Authorization. - Шлюз возвращает
402 Payment Requiredиaccepts. createX402PaymentHandlerвыбирает требование оплатыnetwork = 'skale'и подписываетPAYMENT-SIGNATURE.- SDK повторяет тот же запрос, шлюз вызывает Facilitator для проверки и расчета, после чего пропускает запрос к целевому API.
Просмотр возможностей Facilitator
X402 API не зависит от каталога ресурсов. Клиент напрямую вызывает известный API и использует402 Payment Required и accepts, возвращаемые в реальном времени, как единственные основания для цены и подписи.
Заявление о возможностях Facilitator находится по адресу:
/supported, /verify, /settle и текущие активные платежные сети, не перечисляя ресурсы API.
Производственный адрес Facilitator Ace Data Cloud:
kinds перечисляют сети и схемы, поддерживаемые Facilitator. При фактическом вызове все еще следует ориентироваться на accepts, возвращаемые API.
Вывод Facilitator /supported:
/supportedуказывает, что Facilitator обладает возможностями проверки и расчета для этих сетей и схем.- Base, SKALE и Solana поддерживают
exact;uptoв настоящее время доступен только на Base. - Конкретный API, разрешающий определенную сеть, все еще зависит от 402
acceptsэтого API.

