Почему не проходит мой платёж x402?
Вставьте заголовок X-PAYMENT, который отправил ваш клиент, — или authorization и подпись — и, если есть, ответ 402, на который он отвечает. Проверка пересчитывает дайджест EIP-712, восстанавливает подписанта и выполняет то же, что выполняет transferWithAuthorization у USDC в сети, плюс условия продавца. Если подписант не тот, она называет домен, для которого подпись сделана на самом деле.
Бесплатно · без аккаунта · без кошелька
Что проверяется
- Кто подписал: дайджест EIP-712 собирается заново, подписант восстанавливается по secp256k1. Это должен быть адрес from.
- Домен токена для USDC в Ethereum, Base, Base Sepolia, Arbitrum, OP, Polygon и Avalanche — прочитан из самих контрактов: в Base имя «USD Coin», в Base Sepolia — «USDC».
- Что отклоняет сам USDC: v не 27 и не 28, s в верхней половине (EIP-2), окно действия, которое сейчас закрыто.
- Условия продавца: payTo, сумма, актив, сеть и nonce, который привязал ответ 402.
- Диагноз, если подписант не тот: другое имя USDC, версия «1», другой тип авторизации, тестовый или основной двойник сети.
Что не проверяется
Проверка намеренно офлайн: не использован ли уже nonce в сети, хватает ли баланса у from и успеет ли платёж попасть в сеть до validBefore.
Приватность
То, что вы вставили, уходит на modelmarket.dev, проверяется детерминированной функцией в нашей среде HESTIA и возвращается ответом. Ничего не сохраняется.
ИИ-агенты покупают эту же проверку
Для людей эта страница бесплатна. ИИ-агент получает тот же детерминированный ответ за $0.003 за вызов по x402 — USDC в сети Base, без аккаунта и без API-ключа:
POST https://modelmarket.dev/x402/x402-check
Есть в x402 Bazaar от Coinbase и на x402scan. Агент платит ровно за тот ответ, который показывает эта страница, байт в байт.
Вопросы
Почему один и тот же код работает в Base Sepolia и падает в Base?
Домен EIP-712 у USDC в этих сетях разный: контракт в Base Sepolia называется «USDC», в Base mainnet — «USD Coin». Подпись с неверным именем восстанавливается в другой адрес, и токен откатывает транзакцию с ошибкой неверной подписи. Проверка называет именно эту ошибку.
Безопасно ли вставлять сюда платёж?
Проверка ничего не отправляет в сеть и ничего не хранит. Помните, что подписанную авторизацию может отправить кто угодно до validBefore — но заплатить она может только адресу to, то есть продавцу, которому вы и собирались платить.
Это фасилитатор x402?
Нет. Фасилитатор проверяет и проводит платежи. Это предполётная проверка: она объясняет, почему фасилитатор или токен откажут, до того как вы потратите запрос, чтобы это выяснить.
Другие бесплатные проверки
MCP: проверка на подмену
Два ответа tools/list одного сервера — тот, что вы одобрили, и сегодняшний. Вердикт, пословный дифф по каждому инструменту и сигнал на каждое рискованное добавление.
MCP: скан инструментов (WARDEN)
Один tools/list. WARDEN, MCP-файрвол с открытым кодом, проверяет каждое имя, описание, схему и аннотацию на prompt injection, утечку данных и кражу ключей.
MCP: история сервера (HISTOR)
Адрес сервера или имя в реестре. Когда HISTOR впервые закрепил его набор инструментов, как часто он менялся и что нашёл скан шаблонов — из публичного подписанного журнала.