Одобрение WETH - это вызов approve() на контракте WETH9, который позволяет другому адресу - роутеру DEX, пулу кредитования, маркетплейсу NFT - перемещать до установленной суммы вашего WETH с помощью transferFrom(). Обёртывание и развёртывание не требуют одобрения, любое действие стороннего контракта с вашим WETH требует. Из последних 100 транзакций, отправленных на WETH9 в Ethereum 2 октября 2026 года, 24 были одобрениями, и 20 из них использовали около 46,000 газа, потому что создавали разрешение с нуля (Etherscan). Правило: одобряйте контракт, который собираетесь использовать, для того, что собираетесь использовать, и отзывайте то, что больше не используете.

Главное
  • Одобрение для третьих сторон: deposit(), withdraw() и transfer() действуют на ваш собственный баланс и не требуют одобрения, transferFrom() роутером, пулом или маркетплейсом требует.
  • Доля трафика: одобрения составили 24 из 100 транзакций, отправленных на WETH9 в блоках 26,105,189-26,105,250 2 октября 2026 года, рядом с 46 депозитами и 26 выводами (Etherscan).
  • Первое одобрение стоит вдвое больше: 20 из тех 24 использовали 46,000-46,400 газа для создания нового разрешения против 24,000-29,000 газа для изменения существующего - 46,000 / 24,000 = в 1.9 раза больше.
  • Безлимитное означает безлимитное: WETH9 обрабатывает разрешение 2^256-1 как бесконечное и никогда не уменьшает его - около 1.16 x 10^59 WETH против 2,031,131 WETH в обращении на блоке 26,105,247 (Ethereum RPC).

Что такое одобрение WETH

Одобрение WETH - это запись в таблице разрешений контракта WETH9: владелец, расходователь, сумма. approve(spender, amount) записывает её и создаёт событие Approval, transferFrom(owner, recipient, amount), вызванный расходователем, проверяет запись, перемещает WETH и снижает разрешение на перемещённую сумму. Само одобрение не перемещает WETH и не блокирует его, WETH остаётся на вашем адресе до тех пор, пока расходователь не использует своё разрешение.

Токены ERC-20 работают таким образом, потому что контракт не может забрать токены, на которые он никогда не был уполномочен, а WETH существует именно для того, чтобы ETH мог участвовать в этом потоке (что такое WETH). У нативного ETH нет таблицы разрешений: он отправляется, а не забирается, именно поэтому контракты DeFi запрашивают WETH вместо него (зачем существует WETH).

Когда нужно одобрять WETH, а когда нет

Вопрос всегда в том, кто перемещает WETH: вы или контракт от вашего имени.

Действие Одобрение требуется Почему
Обернуть ETH в WETH (deposit) Нет контракт WETH9 выпускает вызывающему
Развернуть WETH в ETH (withdraw) Нет вызывающий сжигает свой собственный баланс
Отправить WETH на адрес (transfer) Нет владелец перемещает свой собственный баланс
Обменять WETH на DEX Да, для роутера роутер забирает WETH через transferFrom()
Предоставить WETH рынку кредитования Да, для пула пул забирает депозит
Сделать ставку WETH на маркетплейсе NFT Да, для контракта маркетплейса продажа завершается забором WETH у участника торгов
Перевести WETH через контракт моста Да, для моста или шлюза мост забирает WETH перед отправкой

Первые три строки - это те, что описаны в Как развернуть WETH и ETH в WETH: в них не появляется шаг одобрения, потому что его не существует. Интерфейс, который запрашивает одобрение перед обёртыванием или развёртыванием, направляет через другой контракт, а не вызывает WETH9 напрямую.

Ограниченные против безлимитных разрешений

Разрешение может быть точной суммой следующего действия или максимальным значением, которое принимает контракт. В WETH9 максимум, 2^256-1, особенный: transferFrom() пропускает вычитание, когда разрешение равно ему, так что одно одобрение покрывает каждую будущую передачу этим расходователем (проверенный исходный код WETH9, Etherscan).

  • Точная сумма: каждый обмен или депозит требует своего approve() сначала, расходователь никогда не может забрать больше одобренной суммы.
  • Безлимитное: один approve() для всего будущего использования, расходователь может перемещать любой WETH, который держит адрес, до отзыва одобрения.

Компромисс - газ против воздействия. Безлимитное одобрение экономит один approve() на использование, около 24,000-46,000 газа каждый раз, оно также оставляет постоянное разрешение контракту, который может позже быть обновлён, скомпрометирован или заброшен.

Сколько стоит одобрение WETH

Одобрение стоит одну сетевую комиссию в ETH и ничего больше. Газ зависит от того, существует ли разрешение уже:

Тип одобрения Использовано газа (Etherscan, 2 октября 2026) Комиссия на мейннете при 5.6 gwei, ETH $2,690.75
Новое разрешение с нуля 46,000-46,400 около $0.70
Изменение существующего разрешения 24,000-29,000 около $0.36-$0.44

Единицы газа получены из комиссии и цены газа отдельных одобрений, столбец USD использует среднюю цену газа Etherscan от 28 сентября 2026 года и цену ETH. На L2 единицы газа схожи, а цена газа в сотни раз ниже, так же как для обёртываний и развёртываний (расходы на газ WETH). В любом случае комиссия оплачивается в ETH, поэтому адрес, держащий только WETH, не может ничего одобрить.

Почему у WETH нет функции Permit

WETH9 был развёрнут в декабре 2017 года, до того как EIP-2612 определил permit(), функцию, которая позволяет держателю токена предоставить разрешение с помощью оффчейн-подписи вместо транзакции. У WETH9 есть только deposit, withdraw, totalSupply, approve, transfer и transferFrom, и его код не может быть изменён, так что каждое одобрение WETH на Ethereum - это транзакция в сети, оплаченная в ETH.

Существуют два обходных пути. Контракт Permit2 от Uniswap принимает одно обычное одобрение WETH, а затем позволяет последующие траты авторизовываться подписью. Новые завёрнутые токены встраивают permit: wstETH от Lido реализует EIP-2612 (wstETH против WETH). Для самого WETH9 первое одобрение всегда транзакция.

Как проверить и отозвать одобрения WETH

  1. Перечислите разрешения: откройте проверку одобрений токенов обозревателя сети (Etherscan, Basescan, Arbiscan) или специальный инструмент, такой как revoke.cash, и введите свой адрес.
  2. Найдите записи WETH: каждая строка показывает контракт расходователя, разрешение (точное или безлимитное) и когда оно было установлено.
  3. Отзовите то, что больше не используете: отзыв отправляет approve(spender, 0) с вашего адреса, подтвердите в кошельке и оплатите комиссию в ETH.
  4. Повторите на каждой сети: одобрение WETH на Base отдельно от одобрения WETH на Ethereum, потому что у каждой сети свой контракт WETH (WETH на Base).

Что не может сделать одобрение

  • Оно не может перемещать ETH: разрешение покрывает баланс WETH только в этом контракте, никогда нативный ETH на том же адресе.
  • Оно не может превысить ваш баланс: transferFrom() не срабатывает, если владелец держит меньше WETH, чем запрошено, каким бы ни было разрешение.
  • Оно не может пересекать сети: одобрения живут в контракте WETH каждой сети отдельно.
  • Оно не может быть отменено назад: отзыв останавливает будущие заборы, WETH, уже перемещённый расходователем, остаётся перемещённым.

Вопросы про одобрения WETH

Нет. Разрешение в WETH9 остаётся до тех пор, пока оно не будет использовано transferFrom() или заменено новым вызовом approve(), в контракте нет ограничения по времени.