Когда API, источник данных или MCP-инструмент отвечает вашему агенту кодом 402 Payment Required, MetaMask Agent Wallet может оплатить запрос в USDC без регистрации и API-ключей. Агент считывает предложение сервера, показывает вам актив, сумму, сеть и получателя, а после вашего подтверждения подписывает одноразовую авторизацию платежа. Приватный ключ остаётся в кошельке. Запрос на подпись также проходит проверку на угрозы в сервисе кошелька.
Отказ от ответственности: это руководство предназначено только для ознакомления. Оно не является финансовой консультацией или призывом к действию и не предназначено для аудитории из Великобритании. Криптоплатежи, совершаемые ИИ-агентами, сопряжены с риском и подходят не всем пользователям.
Это практическое руководство по оплате через x402 с помощью Agent Wallet. Что такое x402, как работает 402-handshake и кто управляет протоколом, читайте в материале что такое x402. Разработчикам, которые встраивают платежи x402 на основе делегирования в собственные приложения, лучше сразу обратиться к руководствам по x402 в Smart Accounts Kit. Если Agent Wallet ещё не настроен, начните с краткого руководства.
Почему агенты платят за каждый вызов, а не хранят API-ключи
Платный API обычно означает аккаунт и долгоживущий API-ключ. Для ИИ-агента этот ключ должен храниться там, где агент может его прочитать, и поэтому он становится мишенью. В исследовании, опубликованном 5 февраля 2026 года, Snyk проанализировала 3984 навыка (skills) на маркетплейсе ClawHub и обнаружила 283 навыка (около 7,1%), которые передавали API-ключи, пароли или номера карт через контекстное окно модели или в текстовые файлы памяти в открытом виде, откуда их может извлечь prompt injection.
x402 избавляет от постоянного секрета. Агент платит за каждый запрос с помощью подписанной авторизации на точную сумму конкретному получателю, действующей в течение короткого времени. В Agent Wallet эту подпись выдаёт сервис кошелька через mm wallet sign-typed-data, поэтому агент никогда не работает ни с приватным ключом, ни с API-ключом. Каждая авторизация содержит случайный nonce, поэтому её нельзя провести дважды. Более широкий взгляд на то, что x402 меняет в агентной коммерции, включая агентов, которые продают услуги другим агентам, будет в следующем материале.
Как устроен x402: разбор по шагам
Поддержка x402 поставляется в виде вспомогательного Python-скрипта внутри навыка metamask-agent-wallet, а не как подкоманда mm. Ваш агент вызывает его, когда запрос возвращает 402. Обычно достаточно просто попросить обычным языком («Получи премиум-данные по этой ссылке и заплати, если вернётся 402»), а агент выполнит все эти шаги за вас.
Шаг | Команда (выполняется агентом) | Что делает | Тратит средства |
Проверка HTTP 402 | x402_pay.py inspect
| Считывает предложение сервера: актив, сумму, сеть, получателя, ресурс | Нет |
Оплата HTTP 402 | x402_pay.py pay --confirm
| Подписывает авторизацию, повторяет запрос, возвращает хеш расчёта и ответ | Да |
Проверка платного MCP-инструмента | x402_pay.py mcp-inspect --challenge
| Считывает платёжный запрос, который вернул платный MCP-инструмент | Нет |
Подпись для платного MCP-инструмента | x402_pay.py mcp-sign --challenge --confirm
| Подписывает авторизацию и выводит payload для повторного вызова инструмента | Да |
Выбор между предложениями | --asset или --network
| Выбирает один вариант, если сервер предлагает несколько | н/д |
Оплата эндпоинта не с методом GET | --method POST --data ''
| Повторяет тот же запрос с приложенной оплатой | н/д |
Полное описание — в руководстве по платежам x402 и в справочнике по x402 навыка.
Теперь, когда вы понимаете процесс, вот 9 советов по использованию платежей x402 через Agent Wallet.
1. Пополните баланс USDC в той сети, которую запрашивает сервис
Сервер сам решает, какие активы и сети он принимает. Агент может оплатить только тот вариант, который предлагает сервер.
Agent Wallet оплачивает только предложения в сетях EVM, входящих в список mm chains list. Балансы привязаны к конкретным сетям, поэтому USDC в Ethereum не покроет предложение в Base. Если у вас есть USDC в другой сети, вы также можете попросить агента перевести средства в нужную сеть. Сам платёж — это офчейн-авторизация без газа. Фасилитатор сервиса проводит расчёт ончейн, поэтому на вашем кошельке не нужны нативные токены для оплаты комиссии сети за этот платёж.
2. Проверяйте предложение перед оплатой
inspect считывает ответ 402 без подписи и без трат. Команда возвращает актив, сумму в удобном для чтения виде, сеть, получателя payTo и ресурс. Навык предписывает агенту показать вам эти данные и дождаться вашего подтверждения, прежде чем запускать pay, а pay отказывается выполняться без --confirm.
Перед подписью выполняется ряд проверок. URL ресурса должен начинаться с https://. Скрипт не следует за редиректами, поэтому редирект на другой хост не сможет перенаправить платёж на сервер, который вы не выбирали. Сумма должна быть положительным целым числом в наименьших единицах токена, а получатель и актив должны быть корректными адресами. Для схемы exact подписанная сумма равна предложенной. Это не верхний предел, до которого сервер может списать средства.
3. Включите подтверждение каждого платежа по умолчанию
Навык Agent Wallet может поручить агенту по умолчанию подтверждать с вами актив, сумму, сеть, получателя и ресурс перед каждым платежом x402. Подтверждение происходит в вашем диалоге с агентом. Оно не связано с 2FA, которую сервис кошелька запускает, только если запрос помечен как подозрительный или выходит за рамки вашей политики.
Это подходит агенту, который за одну сессию покупает исследовательский отчёт, несколько выборок данных или подарочную карту. Для цикла, который вызывает платный эндпоинт каждые несколько секунд, такой вариант не годится, потому что каждый вызов ждёт вашего ответа. Если покупка состоит из нескольких шагов и списание происходит на нескольких из них, агент будет спрашивать на каждом.
4. Узнайте, что Guard Mode проверяет при платеже x402
В режиме server-wallet каждый запрос на подпись отправляется в сервис кошелька, который перед подписью выполняет сканирование угроз. Помеченный запрос приостанавливается в статусе AWAITING_MFA, пока вы его не одобрите. У авторизаций x402 короткий срок действия, который задаёт сервер. Если Guard Mode приостанавливает подпись для 2FA, а вы подтверждаете её после окончания этого срока, авторизация истекает неиспользованной. Попросите агента заново запустить pay: он получит новый ответ 402 и подпишет новые значения. Запросы на подтверждение приходят туда, куда их отправляет ваш способ входа: ссылкой по электронной почте при входе через Google или email либо в меню уведомлений MetaMask Mobile при входе по QR-коду.
Скользящий 24-часовой лимит на исходящие средства здесь работает иначе. Политика исходящих средств учитывает переводы токенов, свопы и депозиты, а по состоянию на 27 октября 2026 года в ней указано, что подписи, например Permit2, в расчёт исходящих средств не входят. Авторизация x402 — это подпись, поэтому 24-часовой лимит нельзя считать надёжным ограничением расходов по x402. Шаг подтверждения зависит от того, следует ли агент навыку, а жёстким пределом остаётся баланс токенов в кошельке, с которого идёт оплата. Ограничить риск можно с помощью отдельного кошелька, который пополняется только для платных вызовов API. Управлять несколькими кошельками можно командами mm wallet create и mm wallet select.
5. Выберите один вариант, если сервер предлагает несколько
Если в ответе 402 одна и та же схема указана для нескольких поддерживаемых сетей или активов, скрипт останавливается с ошибкой «multiple eligible options» и не выбирает за вас. Например, это может произойти, если сервис принимает USDC и в Base, и в Monad. Запустите команду заново с параметром --network (например, eip155:8453 для Base) или --asset с контрактом токена. Сообщите агенту, в какой сети у вас есть средства, и он сможет передать нужный параметр с первой попытки.
6. Убедитесь, что Agent Wallet может подписать это предложение
Помощник подписывает схему exact с помощью EIP-3009 transferWithAuthorization в сетях EVM для протокола x402 версий v1 и v2. Он возвращает понятную ошибку и ничего не подписывает, если видит следующее:
Предложение | Почему оно отклоняется |
Только метод передачи актива Permit2 | Помощник подписывает только EIP-3009 |
upto или другие схемы
| Поддерживается только exact |
Solana или другие сети, не относящиеся к EVM | Только сети EVM из списка mm chains list |
Отсутствуют name и version домена EIP-712 | Помощник не станет угадывать домен подписи |
Ответ 402, не являющийся стандартным запросом x402 | Схемы «сначала оплатить, потом отправить хеш» не относятся к x402 |
Если сервис предлагает и Permit2, и EIP-3009 для одного и того же актива, используется вариант EIP-3009. Все ошибки перечислены на странице устранения неполадок.
7. Не запускайте платёж повторно вслепую
Скрипт не хранит записей о прошлых платежах. Nonce EIP-3009 не позволяет одной и той же подписанной авторизации исполниться дважды, но каждый новый запуск pay создаёт новый платёж. Если pay возвращает «payment not accepted», прежде чем повторять попытку, проверьте результат расчёта и не истёк ли срок действия авторизации. Повторный запуск для того же ресурса — это второе списание, и руководство по x402 советует вызывающим сторонам защищаться от повторных вызовов.
8. Оплачивайте также инструменты MCP и эндпоинты POST
x402 не ограничивается запросами GET. Передайте --method и --data, и помощник повторит то же тело запроса с приложенным платежом, так что платный POST (например, эндпоинт AI chat completion) работает так же, как платная загрузка.
Платные инструменты MCP используют транспорт MCP из x402 v2. Вызов инструмента без оплаты возвращает результат с ошибкой, содержащей платёжный запрос. Агент запускает mcp-inspect, показывает вам предложение, после вашего одобрения запускает mcp-sign --confirm и повторяет вызов инструмента с подписанными данными в _meta["x402/payment"]. Скрипт подписывает, но не работает по протоколу MCP, поэтому повторный вызов отправляет собственная сессия MCP агента. Если в ответ на повторный вызов приходит новый платёжный запрос, значит, платёж не прошёл, и агент сообщает об этом вам, а не подписывает снова.
Что агенты покупают через x402
Один из вариантов — платные данные: торговый агент может получать сигналы или исследовать dev до совершения действий, а затем передавать исполнение свопам или перпам. Несколько сервисов, которые принимают x402, с данными из их собственной документации по состоянию на 27 октября 2026 года:
Сервис | Что может купить агент | Цены x402 | Платёжные сети |
Nansen | Ончейн-аналитика: профили кошельков, скринеры токенов, потоки Smart Money | $0,01 за вызов (базовый), $0,05 (премиум и Smart Money) | USDC в Base, Monad (только x402 v2) |
Messari | Рыночные данные, метрики сетей, привлечение инвестиций, новости, сигналы, разблокировки токенов, Messari AI | $0,00–$1,00 за запрос в зависимости от эндпоинта | USDC в сети Base |
Bitrefill | Подарочные карты, пополнение мобильного счёта и eSIM в более чем 180 странах | Цена товара | USDC через x402 и другие способы |
Каждый сервис задаёт свой формат предложения, поэтому сначала попросите агента выполнить inspect, чтобы убедиться, что Agent Wallet может подписать это предложение (совет 6). Например, эндпоинты Nansen x402 принимают запросы POST и поддерживают только x402 v2. Пример запроса: «Получи net flows Smart Money от Nansen для Ethereum. Если вернётся 402, покажи мне стоимость и оплати после моего подтверждения». Чтобы найти другие сервисы x402, воспользуйтесь x402scan — обозревателем экосистемы x402.
Что Agent Wallet не делает для x402
Не ограничивает расходы по x402 лимитом на исходящие платежи. Сейчас политика исходящих платежей не учитывает подписи при расчёте за 24 часа.
Не подписывает все предложения x402. Предложения только с Permit2, с upto и не для EVM отклоняются.
Не исключает повторные платежи. Журнала платежей пока нет. Повторный запуск pay приведёт к повторной оплате.
Не позволяет продавать через x402. Помощник работает только со стороны покупателя. Размещение платного эндпоинта для других агентов настраивается отдельно.
Не запускается как команда mm. Это скрипт на Python 3 в составе навыка. Он всегда выводит JSON, поэтому --toon и --format не применяются.
Да. Если установлен навык metamask-agent-wallet и доступен Python 3, агент распознаёт ответ 402, показывает вам предложение и после вашего подтверждения подписывает авторизацию платежа EIP-3009 с помощью mm wallet sign-typed-data. Это работает как для HTTP-эндпоинтов, так и для платных MCP-инструментов.
Не за сам платёж. Кошелёк подписывает офчейн-авторизацию, а фасилитатор сервиса отправляет ончейн-расчёт. Вам нужно достаточное количество запрошенного токена, как правило USDC, в сети, которую указывает сервис.
По состоянию на 27 октября 2026 года политика в отношении оттока средств предусматривает, что подписи, такие как Permit2, не учитываются при расчёте оттока, а авторизация x402 является подписью. Сервис кошелька по-прежнему проверяет запрос на подпись на наличие угроз, а skill требует, чтобы агент подтверждал каждый платёж с вами.
Agent Wallet можно настроить именно так. По умолчанию skill дает агенту указание запрашивать у вас подтверждение для каждого платежа x402.
Если срок действия авторизации истёк, пока вы ждали 2FA, снова запустите pay, чтобы подписать новые значения. Если сервер отклонил платёж, проверьте результат settlement, прежде чем повторять попытку, поскольку каждый запуск pay создаёт новый платёж.
Agent Wallet предназначен для ИИ-агента, которым вы управляете и который платит из собственного кошелька через mm CLI и skill. Smart Accounts Kit предназначен для разработчиков, которые встраивают платежи x402 в собственные приложения с помощью делегирований ERC-7710, в том числе с повторяющимися бюджетами.