Skip to main content
Ace Data Cloud X402 в настоящее время рассчитывается в USDC и поддерживает два типа сетей: EVM и Solana. Способы подписи, адреса активов, поведение gas и применимые сценарии различаются между сетями, поэтому перед интеграцией необходимо сначала выбрать сеть.

Идентификаторы сетей используют CAIP-2

accepts[].network в x402 v2 — это идентификатор CAIP-2, а не сокращения вроде base или skale. При сопоставлении сетей клиент должен сравнивать строки CAIP-2:

Матрица поддержки

upto в настоящее время доступен только в Base. Фактически доступные элементы определяются accepts, возвращаемым API. Вы также можете проверить Facilitator:
Ответ Facilitator /supported:
Пояснение результатов:
  • exact для Base, SKALE и Solana — это путь оплаты с фиксированной суммой.
  • Только Base предоставляет путь пост-учёта upto, который зависит от Permit2 approve.
  • extra.facilitatorAddress в записи upto — это адрес, который клиент должен записать в witness при подписи, и он должен совпадать со значением, возвращённым сервером.

Base

Base использует официальный контракт USDC:
В схеме exact клиент подписывает EIP-712 TransferWithAuthorization. Содержимое подписи включает:
  • from: адрес кошелька плательщика
  • to: адрес получения Ace Data Cloud
  • value: сумма текущего платежа
  • validAfter / validBefore: временное окно действия подписи
  • nonce: случайный nonce размером 32 байта
После проверки подписи Facilitator вызовет в сети transferWithAuthorization USDC для завершения перевода. Base — наиболее рекомендуемая сеть для официальной интеграции, особенно подходящая для пост-учёта upto, поскольку экосистемы Permit2, USDC и кошельков более зрелые. Пример результата проверки Base exact:
Пояснение результатов:
  • Повторная попытка API с оплатой вернула содержимое модели ADC_BASE_E2E_OK.
  • Ончейн-транзакция доступна в BaseScan, номер блока — 46726299.
  • 95215 atomic USDC соответствует 0.095215 USDC и является фактической суммой расчёта за этот вызов API.
Результат выполнения программы оплаты заказа через Base exact:
Пояснение результатов:
  • Итоговый статус заказа платформы — Finished.
  • pay_id заказа записывается в тот же хеш транзакции Base.
  • 1200000 atomic USDC соответствует 1.2 USDC и является исторической фактически уплаченной суммой этого заказа на 10 Credits по старой политике; новые заказы больше не получают дополнительную скидку за способ оплаты X402, конкретная сумма подписи определяется ответом 402 текущего раза.

SKALE

SKALE использует bridged USDC, а способ подписи аналогичен Base — также EIP-3009. Он подходит для EVM-платежей с низкой стоимостью gas; фактические вызовы по-прежнему определяются accepts, возвращаемым API. Типичный accepts 402 для SKALE будет содержать:
SKALE в настоящее время предоставляет только exact. Если вам нужен пост-учёт, используйте Base upto. Пример результата проверки SKALE exact:
Пояснение результатов:
  • Платный повтор API вернул содержимое модели ADC_SKALE_E2E_OK。
  • Транзакцию уже можно найти в SKALE explorer, номер блока — 1969317。
  • Сумма расчёта этого платежа exact составляет 0.095215 USDC.

Solana

Solana использует SPL USDC TransferChecked。Клиент формирует транзакцию перевода, подписывает и отправляет её, после чего помещает подпись транзакции или сериализованную транзакцию в envelope PAYMENT-SIGNATURE。 Особенности Solana:
  • используется Solana wallet adapter или base58 secret key;
  • активом является Solana USDC mint;
  • в настоящее время поддерживается только exact;
  • Facilitator проверяет mint, destination, authority и amount инструкции transfer。
Если используется режим wallet fee payer, кошелёк напрямую отправляет транзакцию, а Facilitator отвечает за подтверждение транзакции и возврат результата settlement。 Пример результата проверки Solana exact:
Пояснение результата:
  • paid retry уже вернул HTTP 200, а модель вывела ADC_SOLANA_E2E_OK。
  • При запросе on-chain signature через публичный RPC можно столкнуться с ограничением частоты запросов。
  • Поскольку публичные RPC-запросы могут ограничиваться по частоте, Solana explorer здесь не указывается。При необходимости строгой сверки используйте собственный Solana RPC или записи settlement на стороне платформы для подтверждения подписи транзакции。

Как выбрать

Независимо от выбранной сети не следует жёстко кодировать цену в клиенте。Цена определяется возвращаемым сервером accepts[].maxAmountRequired。