Короткий ответ: итоговая комиссия Ethereum равна количеству фактически использованного gas, умноженному на эффективную цену gas. В транзакции нового типа кошелёк задаёт предел max fee и предел вознаграждения валидатору priority fee. Сеть отдельно определяет base fee для каждого блока. Неиспользованный запас по лимитам не списывается.
За что отвечает каждый параметр
Base fee – базовая цена единицы gas, которую протокол рассчитывает для очередного блока в зависимости от загрузки предыдущего. Она одинакова для операций, попавших в один блок, и сжигается. Отправитель не назначает её вручную, но должен предусмотреть достаточно высокий предел, чтобы транзакция могла дождаться включения.
Priority fee – дополнительное вознаграждение валидатору за единицу использованного gas. В интерфейсах его также называют чаевыми. Указанное значение является верхней границей: реальная надбавка может оказаться ниже, если общий предел max fee не позволяет заплатить всю сумму сверх base fee.
Max fee – максимум цены одной единицы gas, на который согласен отправитель. Это не сумма, которая обязательно уйдёт со счёта. Эффективная цена ограничена меньшим из двух значений: max fee либо base fee плюс допустимая priority fee. Разницу между установленным потолком и реальной ценой кошелёк не тратит.
Как посчитать итоговую комиссию
Предположим, операция использовала 50 000 gas. В её блоке base fee составила 20 gwei, а доступная priority fee – 2 gwei. При max fee 40 gwei эффективная цена будет 22 gwei, а плата – 50 000 × 22 gwei. Оставшиеся 18 gwei из ценового запаса не умножаются на gas и не списываются.
Отдельно существует gas limit – предел вычислительной работы для всей операции. Он не равен max fee: первый измеряется в единицах gas, второй – в цене одной единицы. Связь между ними подробнее разобрана в материале о том, почему кошелёк не всегда может оценить gas.
Кошелёк при отправке проверяет, хватает ли нативной монеты на максимально возможные расходы, поэтому может временно показать резерв, близкий к gas limit × max fee. После исполнения списывается фактическая плата. Если операция использовала меньше установленного gas limit, остаток лимита сам по себе не оплачивается.
В квитанции подтверждённой транзакции обычно доступны gas used и effective gas price. Их произведение позволяет проверить реальное списание независимо от предварительной оценки кошелька. Максимальные параметры берите из самой транзакции, а base fee – из блока. Такой расчёт особенно полезен, когда интерфейс до подписи показывает большой резерв и пользователь принимает его за окончательную комиссию.
Почему транзакция остаётся в ожидании
Если max fee ниже текущей base fee, валидатор не может включить операцию в этот блок. Она может дождаться снижения базовой цены либо быть заменена новой транзакцией с тем же nonce и более подходящими параметрами. Слишком маленькая priority fee тоже снижает привлекательность операции при конкуренции, хотя решающим ограничением остаётся общий потолок.
Не создавайте повторный перевод с новым nonce только ради ускорения. Он не вытеснит исходный и способен исполниться после него. Правильный порядок описан в инструкции, как заменить ожидающую транзакцию.
Перед заменой откройте адрес отправителя в обозревателе нужной сети и проверьте статус, nonce, параметры платы и наличие другой операции с тем же nonce. Если исходная транзакция уже подтверждена, повышение комиссии не отменит перевод.
Сеть не назначает единую «быструю» цену на длительный срок. Base fee меняется от блока к блоку, поэтому запас, подходящий сейчас, может стать недостаточным позже либо, наоборот, оказаться выше необходимого. Автоматическая оценка кошелька учитывает недавнее состояние, но перед крупной операцией стоит самостоятельно проверить потолок расходов.
Что происходит при ошибке контракта
Комиссия оплачивает выполненную сетью работу, а не гарантированный результат. Если контракт начал исполняться, но затем вернул ошибку, изменения состояния откатываются, однако использованный gas оплачивается. Это объясняет, почему за неудачную транзакцию списывается комиссия.
Простая передача ETH обычно потребляет предсказуемое количество gas, а вызов контракта зависит от его логики и текущего состояния. Высокий gas limit не заставляет заведомо неверный вызов завершиться успешно. Если кошелёк вообще не может оценить выполнение, сначала разберите причину ошибки оценки gas.
Практическая проверка перед подтверждением
- Убедитесь, что выбрана правильная EVM-сеть и на адресе есть её нативная монета.
- Разделите в интерфейсе gas limit, max fee и priority fee, не сравнивайте их как одну величину.
- Посмотрите расчёт максимальных расходов и ожидаемую плату, если кошелёк показывает оба значения.
- Для крупной операции сравните предложенные параметры с недавними блоками в обозревателе.
- Если транзакция ждёт, проверьте её nonce и текущую base fee до любых повторных действий.
Никому не передавайте seed-фразу, приватный ключ, пароль или код 2FA для «настройки комиссии». Поддержке достаточно публичного TxID, адреса отправителя, названия сети, времени операции и снимка параметров без секретных данных.
Итог
Base fee задаёт сеть, priority fee вознаграждает валидатора, а max fee ограничивает цену единицы gas. Фактическая комиссия зависит от реально использованного gas и эффективной цены, поэтому показанный потолок не равен обязательному списанию. Для зависшей операции сначала проверяют статус и nonce, а затем при необходимости заменяют её с тем же номером.



