Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Как отозвать апрув токена в MetaMask и Revoke.cash

Token approval (апрув) — разрешение, которое вы выдаёте смарт-контракту при первом взаимодействии с DeFi-протоколом: оно позволяет контракту тратить ваши токены без дополнительных подтверждений. Накопленные апрувы — главная точка уязвимости кошелька: если протокол взломают, все выданные разрешения становятся угрозой. Отзыв апрува — ончейн-транзакция с оплатой газа, мгновенно устраняющая этот риск.

Автор: ~8 мин

Что такое token approval и почему он опасен?

Approve — стандартная функция ERC-20, позволяющая смарт-контракту переводить токены от вашего имени без дополнительной подписи. Большинство DEX и DeFi-протоколов запрашивают неограниченный апрув (max uint256) при первой операции — это удобно, но создаёт постоянный риск. Если протокол будет взломан или окажется мошенническим, злоумышленник воспользуется уже выданным разрешением. Риск: апрувы не истекают автоматически — они действуют бессрочно до явного отзыва.

Источник: ЦБ РФ

Как найти все активные апрувы своего кошелька?

Три способа. Первый — etherscan.io: раздел «Token Approvals» (вкладка More → Token Approvals), введите адрес кошелька. Второй — revoke.cash: специализированный сервис с удобным интерфейсом, показывает апрувы по всем EVM-сетям. Третий — Rabby Wallet: встроенный раздел Approvals отображает все разрешения без перехода на внешний сайт. Риск: сами сервисы проверки могут быть скомпрометированы — используйте только официальные домены, добавленные в закладки, никогда не переходите по ссылкам из соцсетей.

Как технически работает отзыв апрува?

Отзыв апрува — это вызов функции approve(spender, 0) для ERC-20 токенов или setApprovalForAll(operator, false) для NFT (ERC-721/1155). Транзакция записывается в блокчейн и обнуляет allowance для указанного контракта. Требуется оплата газа в нативной валюте сети (ETH для Ethereum, MATIC для Polygon и т.д.). После подтверждения транзакции разрешение снимается мгновенно — контракт больше не может тратить ваши токены. Риск: до подтверждения транзакции разрешение остаётся активным.

Всегда ли нужно отзывать апрув после использования протокола?

Рекомендуется, но не всегда обязательно. Отзыв оправдан для: протоколов, которыми вы больше не пользуетесь; неограниченных апрувов (max uint256) на крупные суммы; контрактов с закрытым кодом или без аудита. Для активно используемых протоколов (например, Uniswap) можно оставить ограниченный апрув. Альтернатива — сразу выдавать апрув только на нужную сумму, а не неограниченный. Риск: частые отзывы и повторные апрувы увеличивают газовые затраты.

Что такое setApprovalForAll и насколько это опасно для NFT?

setApprovalForAll — разрешение оператору (маркетплейсу или контракту) управлять ВСЕМИ токенами NFT коллекции от вашего имени. OpenSea, Blur и другие маркетплейсы запрашивают его для листинга. Если маркетплейс взломают или вы взаимодействовали с мошенническим контрактом — злоумышленник выведет всю коллекцию разом. Регулярно проверяйте активные setApprovalForAll через etherscan.io и отзывайте для маркетплейсов, которыми не пользуетесь. Риск: одна подпись setApprovalForAll = потенциальная потеря всей коллекции.

Источник: ЦБ РФ

Сколько стоит отзыв апрува по газу и как сэкономить?

Стоимость отзыва апрува на Ethereum — одна стандартная транзакция (~21 000–50 000 gas). При цене газа 10–30 gwei это составляет ориентировочно $0,5–5 за отзыв (зависит от загруженности сети). На L2-сетях (Arbitrum, Optimism, Base) — значительно дешевле, от $0,01–0,1. Для экономии: проводите отзывы в периоды низкой загруженности сети (ночь по UTC). Риск: при высоком газе массовый отзыв множества апрувов может обойтись дороже, чем предполагаемый риск от них.

Источник: ЦБ РФ

Если я отзову апрув Uniswap, перестанет ли работать мой кошелёк на этой бирже?

Нет. Uniswap и другие DEX просто запросят новый апрув при следующей операции с этим токеном. Отзыв апрува не блокирует протокол — он только требует повторного разрешения при следующем свопе. Это небольшое неудобство против значительного снижения риска.

Эксклюзив от ИнвестХомяка

Инструменты для проверки и отзыва апрувов: сравнение возможностей

ИнструментПоддерживаемые сетиОсобенности
Etherscan Token ApprovalsEthereum (основная сеть)Официальный блок-эксплорер, максимальное доверие
Revoke.cashEthereum + 50+ EVM-сетейУдобный интерфейс, массовый отзыв, фильтры по рискам
Rabby Wallet (встроено)Все EVM-сети кошелькаНе требует внешнего сайта, показывает риск-скор
Etherscan (L2-эксплореры)Arbitrum, Optimism, Base, PolygonОтдельные сайты для каждой L2-сети

Ограниченный апрув vs неограниченный апрув: что безопаснее

КритерийОграниченный апрув (точная сумма)Неограниченный апрув (max uint256)
УдобствоТребует нового апрува при каждой операцииОдноразовое разрешение навсегда
Риск при взломе протоколаОграничен суммой разрешенияВесь баланс токена под угрозой
Газовые затратыВыше (повторные апрувы)Ниже (один раз)
Рекомендация для крупных суммПредпочтительноНе рекомендуется
Поддержка протоколамиВсе ERC-20 совместимыеВсе ERC-20 совместимые

Как отозвать апрув токена: пошаговый гайд

  1. Открыть Token Approvals на Etherscan

    Перейдите на etherscan.io, в верхнем меню выберите More → Token Approvals. Введите адрес своего кошелька. Убедитесь, что используете официальный домен etherscan.io — проверьте адресную строку браузера.

  2. Найти подозрительные или неиспользуемые разрешения

    Просмотрите список: обратите внимание на апрувы с суммой Unlimited (неограниченный), контракты без верификации (нет зелёной галочки) и протоколы, которыми вы давно не пользуетесь. Сортируйте по дате для поиска старых разрешений.

  3. Нажать Revoke и подтвердить транзакцию

    Нажмите кнопку Revoke напротив нужного апрува. Etherscan сформирует транзакцию approve(spender, 0) — подтвердите её в MetaMask. Проверьте адрес контракта и убедитесь, что это именно отзыв, а не новый апрув.

  4. Проверить L2-сети отдельно

    Апрувы на Arbitrum, Optimism, Base и Polygon хранятся в отдельных сетях. Используйте соответствующие блок-эксплореры (arbiscan.io, optimistic.etherscan.io) или revoke.cash, который агрегирует все сети в одном интерфейсе.

  5. Повторять проверку ежемесячно

    Внесите проверку апрувов в календарь раз в месяц — каждое новое взаимодействие с DeFi добавляет разрешения. После любого подключения к незнакомому протоколу — проверяйте немедленно. Держите список протоколов, которым доверяете активные апрувы.

Частые вопросы

Если я отзову апрув Uniswap, перестанет ли работать мой кошелёк на этой бирже?

Нет. Uniswap и другие DEX просто запросят новый апрув при следующей операции с этим токеном. Отзыв апрува не блокирует протокол — он только требует повторного разрешения при следующем свопе. Это небольшое неудобство против значительного снижения риска.

Можно ли отозвать апрув, если у меня нет ETH на газ?

Нет — отзыв апрува требует ончейн-транзакцию, а значит нативный токен сети для оплаты газа (ETH на Ethereum, MATIC на Polygon и т.д.). Если баланс нулевой, пополните кошелёк минимальной суммой для покрытия газа. На L2-сетях затраты на газ значительно ниже.

Безопасен ли сайт Revoke.cash для подключения кошелька?

Revoke.cash — широко используемый инструмент с открытым исходным кодом. Само подключение кошелька для просмотра апрувов безопасно. Для отзыва потребуется подпись транзакции — используйте только официальный домен revoke.cash, добавьте его в закладки. Никогда не переходите по ссылкам на этот сайт из Telegram или Twitter.

Нужно ли отзывать апрувы на токены с нулевым балансом?

Технически апрув действует на токен, а не на ваш баланс — если баланс вырастет, старое разрешение снова станет активным. Рекомендуется отзывать апрувы для незнакомых контрактов даже при нулевом балансе. Для известных протоколов (Uniswap, Aave) — по вашему усмотрению.

Что такое permit и отличается ли его отзыв от обычного approve?

Permit (EIP-2612) — офчейн подпись, которая не создаёт ончейн-апрув сразу, а передаётся решателю для разового использования. После исполнения permit автоматически становится недействительным — специально отзывать его не нужно. Опасность permit в том, что он исполняется мгновенно при передаче злоумышленнику, без ончейн-следа до момента использования.

Источники