Идентификаторы сетей используют CAIP-2
accepts[].network в x402 v2 — это идентификатор CAIP-2, а не сокращения вроде base или skale. При сопоставлении сетей клиент должен сравнивать строки CAIP-2:
Матрица поддержки
upto в настоящее время доступен только в Base. Фактически доступные элементы определяются accepts, возвращаемым API. Вы также можете проверить 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 Cloudvalue: сумма текущего платежаvalidAfter/validBefore: временное окно действия подписиnonce: случайный nonce размером 32 байта
transferWithAuthorization USDC для завершения перевода.
Base — наиболее рекомендуемая сеть для официальной интеграции, особенно подходящая для пост-учёта upto, поскольку экосистемы Permit2, USDC и кошельков более зрелые.
Пример результата проверки Base exact:
- Повторная попытка API с оплатой вернула содержимое модели
ADC_BASE_E2E_OK. - Ончейн-транзакция доступна в BaseScan, номер блока —
46726299. 95215atomic USDC соответствует0.095215USDC и является фактической суммой расчёта за этот вызов API.
exact:
- Итоговый статус заказа платформы —
Finished. pay_idзаказа записывается в тот же хеш транзакции Base.1200000atomic USDC соответствует1.2USDC и является исторической фактически уплаченной суммой этого заказа на 10 Credits по старой политике; новые заказы больше не получают дополнительную скидку за способ оплаты X402, конкретная сумма подписи определяется ответом 402 текущего раза.
SKALE
SKALE использует bridged USDC, а способ подписи аналогичен Base — также EIP-3009. Он подходит для EVM-платежей с низкой стоимостью gas; фактические вызовы по-прежнему определяютсяaccepts, возвращаемым API.
Типичный accepts 402 для SKALE будет содержать:
exact. Если вам нужен пост-учёт, используйте Base upto.
Пример результата проверки SKALE exact:
- Платный повтор API вернул содержимое модели
ADC_SKALE_E2E_OK。 - Транзакцию уже можно найти в SKALE explorer, номер блока —
1969317。 - Сумма расчёта этого платежа
exactсоставляет0.095215USDC.
Solana
Solana использует SPL USDCTransferChecked。Клиент формирует транзакцию перевода, подписывает и отправляет её, после чего помещает подпись транзакции или сериализованную транзакцию в envelope PAYMENT-SIGNATURE。
Особенности Solana:
- используется Solana wallet adapter или base58 secret key;
- активом является Solana USDC mint;
- в настоящее время поддерживается только
exact; - Facilitator проверяет mint, destination, authority и amount инструкции transfer。
exact:
- paid retry уже вернул HTTP 200, а модель вывела
ADC_SOLANA_E2E_OK。 - При запросе on-chain signature через публичный RPC можно столкнуться с ограничением частоты запросов。
- Поскольку публичные RPC-запросы могут ограничиваться по частоте, Solana explorer здесь не указывается。При необходимости строгой сверки используйте собственный Solana RPC или записи settlement на стороне платформы для подтверждения подписи транзакции。
Как выбрать
Независимо от выбранной сети не следует жёстко кодировать цену в клиенте。Цена определяется возвращаемым сервером
accepts[].maxAmountRequired。
