Короткий ответ: смарт-кошелёк не создаёт бесплатные транзакции. Сетевой gas всё равно оплачивается нативной монетой через предусмотренный механизм. Расход может покрыть депозит самого аккаунта, сервис-спонсор или paymaster, который затем возьмёт токены либо применит лимит. Bundler собирает операции и отправляет их, но не обязан оплачивать пользователя за свой счёт.
Почему операция смарт-кошелька выглядит иначе
Обычный аккаунт подписывает транзакцию и сразу платит ETH. В модели account abstraction пользователь формирует отдельный объект операции. Bundler проверяет его, объединяет с другими и вызывает общий контракт в Ethereum или EVM-сети.
Смарт-кошелёк проверяет подпись и собственные правила: лимиты, модули, несколько ключей. Сеть исполняет итоговую транзакцию bundler, но расходы учитываются для каждой операции. Уведомление «gas sponsored» описывает способ возмещения, а не отсутствие вычислительной работы.
Оплата из депозита кошелька
Смарт-аккаунт может иметь нативную монету или депозит в системном контракте. После выполнения стоимость списывается в пользу bundler. Пользователь экономически платит сам, даже если интерфейс не просит отдельную обычную транзакцию.
Проверьте, какой баланс показывает приложение: доступный ETH кошелька, системный депозит или оба. Наличие токенов не гарантирует оплату, если paymaster не подключён.
Максимальная оценка может быть зарезервирована до выполнения, а фактический расход зависит от использованного gas. Основы параметров объясняет статья о base fee и max fee.
Что делает paymaster
Paymaster подтверждает, что готов покрыть операцию при заданных условиях. Он может спонсировать первый перевод, разрешать только определённый контракт, ограничивать число действий или требовать оплату поддерживаемым токеном.
Сервис сначала проверяет операцию, чтобы не оплачивать произвольные вызовы. Поэтому спонсирование может отказать при изменённом получателе, превышенном лимите, неподдерживаемом токене или недостаточном балансе. Это не обязательно сбой блокчейна.
Если комиссия берётся токеном, сравните курс и максимальную сумму. Paymaster или отдельный обменный механизм конвертирует стоимость gas, добавляя собственные условия. Нативная цена сети никуда не исчезает.
Токен может требовать allowance paymaster-контракту. Тогда экономия на ETH сопровождается правом списания. Проверьте spender и ограничьте сумму предполагаемой платой, если интерфейс позволяет.
Предварительная проверка и окончательный расчёт
До включения bundler симулирует валидацию кошелька и paymaster. Он оценивает пределы для проверки подписи, основного вызова и действий после выполнения. Любая часть способна изменить итоговый gas.
Paymaster может выполнить post-operation-логику, например рассчитать токенную оплату. Пользователь должен видеть максимальный расход до подписи. После блока сравните receipt, списание токена и изменение нативного баланса.
Если цена токена меняется между оценкой и исполнением, сервис может заложить запас или отказать. Не увеличивайте лимит без понимания курса и договора списания.
Роль bundler
Bundler принимает операции, симулирует их и отправляет пакет в сеть. Он авансирует gas итоговой транзакции, но получает возмещение по правилам системного контракта. Операция, которая не проходит симуляцию, обычно не включается.
Разные bundler могут применять собственные ограничения и комиссии. Если один endpoint не отвечает, интерфейс способен переключиться на другой. Не отправляйте много одинаковых операций, пока не проверили nonce смарт-аккаунта и статус первой.
Хеш user operation может отличаться от TxID пакета. Сохраните оба идентификатора: первый находит вашу операцию у bundler, второй подтверждает включение в блок. Это особенно важно, когда один сетевой TxID содержит действия нескольких пользователей.
Почему спонсирование внезапно пропало
Промо-лимит мог закончиться, paymaster – приостановить сервис, актив – потерять поддержку, а вызов – выйти за разрешённую политику. Также могла измениться оценка gas или состояние контракта.
Прочитайте точную ошибку и попробуйте обычную оценку через доверенный RPC. Руководство по ошибке оценки gas помогает отделить откат вызова от отказа спонсора.
Что проверить перед подписью
- Сеть, адрес смарт-кошелька и целевой контракт.
- Кто указан как paymaster и какие вызовы он разрешает.
- В какой монете будет фактически списана плата.
- Максимальный токенный расход и применяемый курс.
- Nonce операции и отсутствие уже ожидающего дубля.
- Итоговые действия внутри пакета.
Если пакет содержит approve, оцените allowance отдельно по статье о точной и безлимитной сумме. Бесплатный gas не делает разрешение безопасным.
Сверьте также адрес получателя после декодирования пакета. Спонсор оплачивает только gas и не отвечает за ошибочное намерение пользователя.
Если операция завершилась ошибкой
Кто понесёт расход, зависит от причины и правил paymaster. Неуспешное исполнение в блоке всё равно использует gas, а отказ на этапе симуляции может не создать транзакцию. Ищите receipt и фактическое изменение баланса.
Для проверки сложного пакета пригодится статья о внутренних вызовах и событиях. Один TxID может включать несколько действий смарт-кошелька.
Что сообщить поддержке
Передайте сеть, адрес смарт-кошелька, хеш операции или TxID, paymaster, bundler endpoint без секретного API-ключа и точную ошибку. Seed-фраза, приватный ключ, пароль и 2FA не нужны для расчёта gas.
Итог
Gas смарт-кошелька оплачивается всегда, но источник денег может быть скрыт удобным интерфейсом. Разделяйте bundler, paymaster и собственный депозит, проверяйте токенный курс и лимиты. Спонсирование – политика сервиса, а не постоянное свойство адреса.



