Разрешение токенов (approval, allowance) — это право смарт-контракта списывать ваши токены с адреса. Проверить все выданные разрешения можно в обозревателе блокчейна, в Revoke.cash или в MetaMask Portfolio, а отозвать — значит отправить отдельную транзакцию в сеть и заплатить за неё gas. Отключение кошелька от сайта этого не делает.
Что такое разрешение токенов и когда его нужно отзывать
Когда вы меняете токены на DEX, добавляете ликвидность или выставляете NFT на маркетплейсе, кошелёк просит подписать разрешение: approve для токенов или setApprovalForAll для NFT. Для взаимозаменяемых токенов контракт получает allowance — лимит, в пределах которого он может перемещать указанный токен с вашего адреса. Без таких разрешений не работает почти ни один dapp: это плата за удобство некастодиального кошелька.
Лимит бывает точным и неограниченным. При точном контракт вправе забрать только указанное количество токенов. При неограниченном (unlimited approval) — весь баланс этого токена, включая суммы, которые поступят на адрес позже. Проекты выбирают второй вариант, чтобы пользователь подписывал и оплачивал approve один раз, а не при каждой операции. Обратная сторона: если контракт взломают или вы подпишете разрешение на фишинговом сайте, под угрозой окажется весь баланс токена.
У обычных on-chain разрешений ERC-20 нет срока действия. Как отмечает руководство ethereum.org, выданное разрешение можно использовать и спустя годы после того, как вы перестали заходить в проект. Именно поэтому старые approvals считаются накопленным риском, а не историей.
Поводы проверить список:
- вы подписали что-то на незнакомом сайте и сомневаетесь в подписи;
- проект, которым вы пользовались, взломали или он оказался скамом;
- вы просто хотите навести порядок — MetaMask рекомендует проверять разрешения регулярно, например раз в месяц.
Чем отзыв разрешения отличается от отключения кошелька
Это две разные операции, и их часто путают.
Отключение (disconnect) разрывает связь между кошельком и dapp. В MetaMask это делается на экране Permissions: вы видите список подключённых сайтов, можете снять галочки с аккаунтов или нажать «Disconnect all». В зависимости от того, что было разрешено при подключении, сайт теряет доступ к вашему адресу, балансам и истории, а также возможность инициировать транзакции. Но уже выданные разрешения остаются в силе — это прямо оговорено в справке MetaMask.
Отзыв разрешения — транзакция в блокчейне, которая обнуляет или уменьшает allowance. После её подтверждения контракт не может списывать больше нового лимита. Пока транзакция не попала в блок, действует прежний лимит.
Вывод простой: отключение сайта в разделе Permissions — гигиена доступа, отзыв approvals — гигиена средств. Одно не заменяет другое.
Какие типы разрешений проверять
Искать опасную подпись только среди токенов ERC-20 недостаточно. Есть четыре категории, и обращаться с ними нужно по-разному.
Обычные ERC-20 approvals
Лимит на конкретный токен для конкретного контракта. Основная масса разрешений — именно такие, и они же чаще всего выдаются как unlimited.
NFT-разрешения: ERC-721 и ERC-1155
Здесь есть отдельная ловушка — setApprovalForAll. Обычный approve касается одного токена, а этот вызов назначает оператора, который получает доступ ко всей коллекции: сможет выставлять на продажу и передавать любые ваши NFT из неё. Если вы когда-то разрешали маркетплейсу работу с коллекцией, проверьте, нужен ли ему этот доступ сейчас.
Permit и Permit2
Это подписи вне сети. Permit (EIP-2612) позволяет одобрить токены без отдельной approve-транзакции, а Permit2 — контракт Uniswap, который объединяет approve и сделку в один шаг: вы подписываете сообщение, и dapp получает возможность списать токены позже, в том числе через некоторое время после подписи. Сама подпись не попадает в блокчейн в момент подписания, поэтому обычный обозреватель её не покажет. Проверять такие разрешения нужно в инструменте, который умеет работать с подписями, — например, в Revoke.cash или ScamSniffer, о чём предупреждает справка MetaMask о фишинге подписей.
Расширенные permissions MetaMask (ERC-7715)
Новый стандарт для смарт-аккаунтов: dapp просит не разовый доступ, а лимит, периодичность и срок действия — например, «до 10 USDC в день, пока не истечёт месяц». Такие разрешения ограничены по сумме и времени, но всё равно требуют контроля: управлять ими можно в MetaMask через меню → Permissions, отозвать в любой момент или дождаться истечения срока. Подробнее — в описании расширенных разрешений. Стандарт пока поддерживают не все dapp, поэтому большинство разрешений вы всё ещё встретите в виде обычных approvals.
Как проверить разрешения через обозреватель блокчейна
Способ хорош тем, что не требует сторонних сервисов: вы работаете на официальном сайте сети. Минус — одна сеть за раз.
- Откройте обозреватель нужной сети: Etherscan для Ethereum, BscScan для BNB Chain, Polygonscan для Polygon.
- В верхнем меню выберите More и перейдите в Token Approvals.
- Введите адрес кошелька в строку поиска.
- Выберите тип токена: ERC-20, ERC-721 или ERC-1155.
- Нажмите Show all approvals — иначе часть записей может быть скрыта.
- Просмотрите, какому контракту выдано разрешение и какой лимит указан. Незнакомый адрес получателя при неограниченном лимите — повод разобраться.
Отозвать разрешение можно там же кнопкой Revoke — это будет отдельная транзакция с комиссией. Проверку придётся повторить в каждом обозревателе для каждой сети, где у вас есть активы. Разрешение, выданное в BNB Chain, в Etherscan не отображается.
Как проверить разрешения через Revoke.cash и MetaMask Portfolio
В Revoke.cash можно либо ввести адрес кошелька (или имя ENS), либо подключить кошелёк, а затем выбрать сеть. После загрузки список сортируется, фильтруется и ищется по адресу получателя разрешения. Если вы подозреваете фишинг, отсортируйте записи от новых к старым — вредоносная подпись скорее всего будет среди последних. По данным документации сервиса, он поддерживает более 70 сетей и работает с крупными кошельками.
У MetaMask есть собственный вариант — просмотр и отзыв разрешений в MetaMask Portfolio. Он доступен только в Ethereum Mainnet, Polygon и BNB Chain, о чём сказано в справке MetaMask об отзыве allowances.
| Инструмент | Сети | Как начать | Что учесть |
|---|---|---|---|
| Revoke.cash | более 70 | ввести адрес или ENS либо подключить кошелёк | сторонний сервис; сортировка и фильтры упрощают поиск свежих подписей |
| Обозреватель сети (Etherscan, BscScan, Polygonscan) | одна сеть за раз | More → Token Approvals, ввести адрес | без посредников, но нужно вручную выбрать тип токена и нажать Show all approvals |
| MetaMask Portfolio | Ethereum Mainnet, Polygon, BNB Chain | раздел разрешений в портфеле | только три сети, зато внутри привычного интерфейса |
Во всех случаях комиссию за отзыв платит пользователь — инструмент лишь формирует транзакцию.
Как отозвать разрешение: пошаговая процедура
- Найдите в списке нужную запись и сверьте сеть: выбранная сеть в инструменте должна совпадать с сетью в кошельке.
- Нажмите Revoke (или «Отменить») рядом с разрешением. В Revoke.cash рядом с суммой есть значок карандаша — им можно не обнулить разрешение, а уменьшить лимит, если доступ ещё пригодится.
- Подтвердите транзакцию в кошельке и оплатите gas в нативной монете сети.
- Дождитесь подтверждения. Каждая отмена — отдельная транзакция, поэтому очистка десяти разрешений означает десять комиссий.
- Обновите страницу инструмента и подключитесь заново. Запись должна исчезнуть или показывать уменьшенный лимит.
Отзыв всех разрешений подряд кошелёк не ломает: как отмечает ethereum.org, при следующем взаимодействии с dapp вы просто выдадите доступ заново. Это нормальный сценарий, если вы не уверены, какое именно разрешение лишнее.
Сколько стоит отзыв и что понадобится
Отзыв выполняется в блокчейне, поэтому за каждую транзакцию взимается gas. Фиксированную сумму назвать нельзя: комиссия зависит от сети и текущей загрузки, а в моменты активности она может вырасти в разы.
Понадобится баланс нативной монеты сети на адресе: ETH в Ethereum, BNB в BNB Chain, POL в Polygon. Без него транзакция не отправится, даже если сам отзыв логически необходим.
Пример расчёта с гипотетическими числами: предположим, транзакция отзыва занимает 50 000 gas, а цена газа в сети — 20 gwei. Тогда комиссия составит 50 000 × 20 = 1 000 000 gwei, то есть 0,001 ETH. При условном курсе 3 000 долларов за ETH это около 3 долларов за одну отмену. Числа здесь иллюстративные: реальные значения смотрите в кошельке перед подтверждением.
Если транзакция не проходит, проверьте три вещи: совпадает ли сеть в кошельке и в инструменте, хватает ли баланса на gas, не висит ли предыдущая транзакция с тем же nonce — её статус виден в обозревателе.
Что отзыв разрешений не решает
- Позиции остаются. Стейкинг, пулы ликвидности и кредитные позиции от отзыва approvals не закрываются, награды продолжают начисляться.
- Permit2 — отдельный слой. Подписи проверяются в поддерживающем инструменте. Если есть риск, что подпись уже у злоумышленника, надёжный вариант — перевести оставшиеся токены на другой аккаунт: Permit2 действует в рамках конкретного аккаунта и на другие адреса не распространяется.
- Стоит отключить dapp. Отзыв разрешения не убирает сайт из списка подключённых и не мешает ему снова запрашивать доступ.
- Компрометация кошелька. Если seed-фраза или приватный ключ попали к посторонним, отзыв разрешений не поможет: нужен новый кошелёк и перевод активов.
- Не все типы видны в обозревателе. Off-chain подписи обычный Token Approvals не показывает — для полной картины нужен специализированный сервис.
Как снизить риск в будущем
- Одобряйте только нужную сумму, если интерфейс позволяет задать лимит вручную, вместо unlimited.
- Проверяйте approvals регулярно и отзывайте доступ у проектов, которыми больше не пользуетесь.
- Перед подписью сверяйте URL сайта и читайте, что именно запрашивает dapp.
- Включите Security Alerts в MetaMask: меню → Settings → Transactions → Security Alerts.
- Для дополнительной проверки подписей можно поставить расширение вроде Pocket Universe, но оно не заменяет внимательность.
Если вы только что подписали что-то подозрительное, действуйте сразу: отзовите разрешение, даже если средства уже пропали, — оставшееся разрешение могут использовать повторно.
Вопросы и ответы
Отзыв разрешения токенов отменяет стейкинг или позицию в пуле?
Нет. Отзыв касается только права контракта списывать токены. Позиции в стейкинге, пулах и кредитовании остаются открытыми, награды начисляются дальше.
Отключение кошелька от сайта равно отзыву разрешения?
Нет. Disconnect прекращает доступ сайта к адресу и балансам, но не отменяет уже выданный allowance. Отключённый dapp по-прежнему может перемещать одобренные токены.
У разрешений есть срок действия?
У обычных ERC-20 approvals срока нет — они действуют, пока вы их не отзовёте. У подписей Permit и Permit2 срок может быть задан в самой подписи, а расширенные разрешения ERC-7715 ограничены условиями и датой, которые указывает dapp.
Почему проекты просят неограниченное разрешение?
Чтобы пользователь подписывал approve один раз, а не перед каждой операцией, и платил комиссию только однажды. Удобно, но при взломе контракта или фишинге под угрозой весь баланс токена.
Нужно ли отзывать все разрешения подряд?
Не обязательно. Можно отозвать всё — кошелёк не сломается, просто при следующем взаимодействии с dapp придётся выдать доступ заново. Но разумнее сначала убрать разрешения у проектов, которыми вы не пользуетесь, и все неограниченные approvals у сомнительных контрактов.
Можно ли отозвать разрешение без стороннего сервиса?
Да, через Token Approvals в обозревателе своей сети — Etherscan, BscScan или Polygonscan. Придётся отдельно проверить каждую сеть и выбрать тип токена.
Что делать, если после отзыва разрешение всё ещё отображается активным?
Сначала убедитесь, что транзакция подтверждена, — её статус виден в обозревателе. Затем обновите страницу инструмента и подключите кошелёк заново. Если запись осталась, хотя транзакция прошла, проверьте, не выдано ли разрешение повторно другим контрактом или в другой сети.



