x402 · EIP-3009 · EIP-712

Почему не проходит мой платёж x402?

Вставьте заголовок X-PAYMENT, который отправил ваш клиент, — или authorization и подпись — и, если есть, ответ 402, на который он отвечает. Проверка пересчитывает дайджест EIP-712, восстанавливает подписанта и выполняет то же, что выполняет transferWithAuthorization у USDC в сети, плюс условия продавца. Если подписант не тот, она называет домен, для которого подпись сделана на самом деле.

Бесплатно · без аккаунта · без кошелька

Заголовок X-PAYMENT или PAYMENT-SIGNATURE (base64), его JSON или {"authorization": {…}, "signature": "0x…", "network": "base"}.

Запись из accepts, всё тело 402 или его заголовок PAYMENT-REQUIRED; берётся первая запись. Без него проверяются подпись, домен токена и окно действия.

Ctrl / ⌘ + Enter

Что проверяется

  • Кто подписал: дайджест 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?

Нет. Фасилитатор проверяет и проводит платежи. Это предполётная проверка: она объясняет, почему фасилитатор или токен откажут, до того как вы потратите запрос, чтобы это выяснить.

Другие бесплатные проверки