Отключил кошелёк от сайта, но доступ остался: почему disconnect не отменяет approvals Автор: sejournal
15.04.2026
Кошелёк отключён от сайта, но approvals остались активными: пользователь проверяет доступы токенов на ноутбуке и смартфоне

Короткий ответ — и он неудобный: нет, disconnect не удаляет approvals. Если вы отключили MetaMask от сайта, удалили соединение через WalletConnect или нажали «Disconnect» в настройках dApp — это не значит, что контракт потерял доступ к вашим токенам. Разрешение, выданное смарт-контракту, живёт в блокчейне отдельно от соединения с сайтом. И пока вы его не отозвали — оно активно.


Проверьте прямо сейчас: вы в зоне риска, если…

Прежде чем погружаться в детали — быстрый чек-лист. Если хотя бы один пункт про вас, читайте внимательно.

  • Вы делали своп в DeFi через любой агрегатор или DEX
  • Вы добавляли ликвидность, фармили или стейкали токены
  • Вы минтили NFT или делали claim на airdrop
  • Вы переходили по ссылке из Telegram, Discord или X и подключали кошелёк
  • У вас лежат USDT, USDC или DAI в сети Ethereum, BNB Chain, Polygon, Arbitrum или Base
  • Вы пользовались NFT-маркетплейсом
  • Вы отключили кошелёк от какого-либо сайта и решили, что «теперь всё закрыто»

Если это про вас — значит, у вас, скорее всего, есть активные approvals. И disconnect их не убрал.


Почему disconnect не равен revoke approvals

Это центральный тезис всей статьи, и его нужно понять на уровне ощущения, а не просто как факт.

Представьте такую ситуацию. Вы дали соседу ключ от квартиры, когда уехали в отпуск. Потом вернулись, поменяли дверной замок и убрали соседа из списка контактов. Всё? Нет. Ключ у него остался. И если когда-нибудь появится дубликат замка — он снова подойдёт.

В мире блокчейна это работает точно так же.

Disconnect — это когда вы «закрыли дверь» сайту. Сайт больше не видит ваш адрес в браузере, не может запрашивать новые подписи без вашего ведома. Это полезно, но это только интерфейсное действие. Оно происходит локально: в браузере, в расширении MetaMask, в мобильном кошельке.

Token approval — это запись в блокчейне. Она хранится не на сайте, не в браузере и не в вашем кошельке. Она хранится в самом смарт-контракте токена, в его mapping(address => mapping(address => uint256)) allowances. Это реестр того, кому и сколько вы разрешили потратить.

Revoke — это отдельная ончейн-транзакция, которая обнуляет этот реестр. Пока вы её не сделали — запись живёт.

MetaMask прямо разводит эти два понятия в разные разделы справки: disconnect — это одно действие, revoke allowances — другое. Это не случайность в структуре документации. Это отражение принципиального технического различия.

Именно поэтому disconnect и revoke — не одно и то же. После того как вы отключили кошелёк от dApp, выданные ранее разрешения сохраняются. И если контракт мошеннический или уязвимый — он всё ещё может воспользоваться вашим unlimited allowance.


Три сущности, которые путают почти все: сайт, кошелёк и смарт-контракт

Большинство ошибок в этой теме возникают из-за смешения трёх принципиально разных вещей. Разведём их раз и навсегда.

Сайт — это интерфейс, не контракт

Uniswap.org, OpenSea.io, любой DeFi-сайт — это просто веб-страница. Красивый интерфейс, который позволяет вам взаимодействовать с блокчейном удобно. Сайт сам по себе не хранит ваши токены и не имеет доступа к ним. Он лишь помогает вам отправлять транзакции.

Когда вы «отключаете» кошелёк от сайта — вы говорите сайту: «Ты больше не видишь мой адрес». Это ограничение на уровне интерфейса. Сайт теряет возможность инициировать всплывающие окна с запросами подписей.

Кошелёк — это инструмент подписи

MetaMask, Trust Wallet, Rabby — это программы, которые хранят ваши приватные ключи и подписывают транзакции. Кошелёк — это не счёт, а подпись. Ваши токены технически живут не «в MetaMask», а по вашему адресу в блокчейне.

Когда вы делаете disconnect в MetaMask — вы разрываете связь между сайтом и кошельком на уровне браузера. Кошелёк перестаёт «предлагать» этот сайт как доверенный источник запросов.

Смарт-контракт — это автономный агент в сети

Вот здесь всё и происходит. Смарт-контракт — это программа, задеплоенная в блокчейне. Она работает независимо от сайта. Независимо от того, открыт ли сайт. Независимо от того, подключён ли ваш кошелёк.

Когда вы давали approve — вы подписывали разрешение именно смарт-контракту. Запись об этом сделана в блокчейне. Смарт-контракт не знает и не заботится о том, отключили ли вы сайт в браузере. Ему важна только запись в его реестре allowances.

Именно поэтому что такое DeFi простыми словами — это не просто «финансовые приложения». Это система автономных программ, которые работают без сервера, без посредника и без вашего ведома — если вы дали им право.


Что именно остаётся после disconnect: полный список

Итак, вы нажали Disconnect в MetaMask или удалили сайт из списка подключений. Что убрали, а что осталось?

Что убирает disconnect

  • Активное соединение между сайтом и вашим кошельком в браузере
  • Возможность сайта автоматически видеть ваш адрес
  • Запросы разрешений, которые сайт мог бы инициировать при открытии
  • Сайт из списка «Connected sites» в MetaMask

Что disconnect не убирает

ERC-20 token approvals. Все разрешения, которые вы когда-либо давали контрактам на операции с вашими токенами, остаются нетронутыми. USDT, USDC, DAI, WETH, любые другие токены — allowances для них продолжают существовать в блокчейне.

Unlimited approvals. Если вы давали неограниченное разрешение (unlimited allowance или unlimited spending cap) — оно остаётся активным в полном объёме. Нет никакой «встроенной экспирации» approve. Он не исчезает через неделю или год. Только через ваш явный revoke.

NFT approvals и setApprovalForAll. Если вы пользовались NFT-маркетплейсом или минтили коллекции — вероятно, вы выдавали setApprovalForAll, разрешение управлять всей коллекцией. Disconnect не затрагивает эти записи. Они остаются в контракте NFT.

Operator permissions. Разновидность NFT approval — разрешение определённому оператору управлять всеми токенами стандарта ERC-1155 на вашем адресе. Также никуда не девается после disconnect.

Permit2-разрешения. Если вы пользовались Uniswap v3/v4 или другими протоколами с Permit2 — у вас могут быть разрешения, записанные внутри Permit2-контракта. Они отдельны от стандартных ERC-20 approvals и также не исчезают при disconnect.

Старые approvals в любых сетях. Ethereum, BNB Chain, Polygon, Arbitrum, Optimism, Base — каждая сеть независима. Disconnect в одной сети не затрагивает approvals в другой. А approvals в каждой из этих сетей не исчезают сами по себе.


Таблица: что делает каждое действие и чего не делает

ДействиеЧто убираетЧто не убираетКогда использовать
DisconnectСоединение сайта с кошельком в браузереERC-20 approvals, NFT approvals, allowancesПосле любого посещения dApp — как гигиена
Revoke token approvalКонкретный ERC-20 allowance в блокчейнеДругие approvals, NFT разрешенияКогда нужно убрать доступ контракта к токенам
Revoke NFT approvalsetApprovalForAll или approve конкретного NFTERC-20 allowancesПосле использования маркетплейсов и mint-сайтов
Создание нового кошелькаВсё — новый чистый адрес без историиПри компрометации seed phrase / private key

Почему disconnect особенно обманчив в конкретных сценариях

Есть ситуации, когда заблуждение «отключил — значит закрыл» особенно распространено. И именно в них риск наиболее высок.

После свопа в DeFi

Вы зашли на Uniswap, сделали своп USDT на ETH и отключили кошелёк. Кажется логичным: операция завершена, сайт не нужен. Но перед свопом вы подписали approve — и если это был unlimited approve, он остался. Контракт Uniswap (или любого другого агрегатора) всё ещё может тратить ваши USDT в рамках выданного разрешения.

Это не значит, что Uniswap украдёт токены. Это значит, что если завтра этот контракт окажется уязвимым или будет взломан — ваш unlimited allowance может быть использован атакующим.

После bridge

Большинство bridge-протоколов работают через approve: вы разрешаете им взять ваши токены из одной сети, чтобы отправить в другую. После операции вы, возможно, отключились — но approve на bridge-контракт остался. Если этот протокол окажется уязвимым или мошенническим — approve будет работать.

После стейкинга и фарминга

При добавлении в пул ликвидности или во время фарминга вы почти всегда выдаёте approve стейкинг-контракту. Часто — unlimited. Даже после того как вы вывели все активы и «ушли», approve на контракт может оставаться. Отключение от сайта не меняет этого.

После NFT mint

Вы заминтили NFT на новом дроп-сайте, порадовались, закрыли вкладку. Но перед минтом сайт мог запросить setApprovalForAll на весь ваш NFT-контракт. Если сайт окажется мошенническим — злоумышленники могут вывести всю коллекцию. Disconnect не поможет: разрешение записано в блокчейне.

После клика по ссылке из Telegram или Discord

Это самый острый сценарий. Человек кликнул по ссылке «claim your whitelist», подключил кошелёк, увидел якобы безобидный запрос разрешения — и подписал. Потом закрыл вкладку и забыл. Но контракт получил unlimited allowance и воспользуется им при первой возможности — или уже воспользовался.

После WalletConnect-сессии

WalletConnect создаёт сессию между мобильным кошельком и dApp. Завершение WalletConnect-сессии («отключение») убирает соединение, но не approvals. Логика та же: сессия и allowance — разные уровни доступа.


Почему это опасно: механизм approval-based атаки

Понять угрозу лучше через конкретный механизм.

Атакующий создаёт смарт-контракт, который запрашивает unlimited approve на USDT. Затем делает фишинговый сайт, который выглядит как интерфейс популярного dApp. Пользователь заходит, подключает кошелёк, видит обычный запрос approve — и подписывает. Потом уходит с сайта, возможно даже делает disconnect.

Атакующий не спешит. Контракт уже имеет unlimited allowance. Несколько часов спустя — когда пользователь спит или не следит за уведомлениями — контракт вызывает transferFrom и переводит все USDT с кошелька. Операция выглядит как обычная авторизованная транзакция: ведь allowance был выдан пользователем.

Именно такая схема стоит за большинством крупных DeFi-краж. И именно поэтому отдельные ресурсы ведут публичные реестры approval-based exploits — чтобы пользователи понимали, насколько реальна эта угроза.

Особенно уязвимы кошельки, где лежат стейблкоины. USDT и USDC — ликвидные, их можно мгновенно вывести и обменять. Если у вас там крупный остаток, а approval старый и неограниченный — это не абстрактный риск. Это реальная открытая дверь.

О том, как не потерять крипту в 2026 году и каких ошибок избегать новичкам, — отдельный большой материал. Approval-ловушка там тоже разобрана.


Как проверить, что approvals остались после disconnect

Это практический блок. Вы уже знаете, почему проблема существует. Теперь — где её увидеть.

Через Revoke.cash

Самый удобный инструмент для массовой проверки. Поддерживает более 100 сетей, показывает все активные approvals по адресу, позволяет фильтровать по сумме, дате и типу токена.

Алгоритм:

  1. Зайдите на revoke.cash
  2. Введите адрес кошелька — подключать кошелёк не обязательно для просмотра
  3. Выберите сеть из выпадающего списка
  4. Изучите список approvals: кому выданы, на сколько, когда
  5. Для выполнения revoke — подключите кошелёк и подтвердите транзакцию

Revoke.cash также отдельно показывает Permit2-разрешения — важная деталь для пользователей Uniswap и аналогичных протоколов.

Через block explorer approval checker

Каждая крупная EVM-сеть имеет встроенный инструмент проверки approvals:

  • Ethereum — Etherscan → More → Token Approvals
  • BNB Chain — BscScan → Token Approvals
  • Polygon — PolygonScan → Token Approvals
  • Arbitrum — Arbiscan → Token Approvals
  • Base — BaseScan → Token Approvals
  • Optimism — Optimistic Etherscan → Token Approvals

Введите адрес кошелька, выберите тип токена (ERC-20, ERC-721, ERC-1155), изучите список. Для revoke напрямую через эксплорер — понадобится подключение кошелька.

Через MetaMask Portfolio

MetaMask Portfolio (portfolio.metamask.io) имеет раздел управления allowances и spending caps для поддерживаемых сетей: Ethereum, Polygon, BNB Chain, Optimism, Base. Если вы пользователь MetaMask — это удобный способ проверить разрешения в едином интерфейсе без перехода на сторонние сайты.

Важная деталь: проверяйте каждую сеть отдельно

Approvals в Ethereum и Polygon — это разные записи в разных блокчейнах. Проверка одной сети не даёт информации о другой. Если у вас была активность в нескольких сетях — проверяйте каждую.


Что делать пошагово: после disconnect — к полноценной защите

Вот полный маршрут действий для тех, кто хочет реально закрыть доступ.

Шаг 1: Выпишите, в каких сетях у вас была активность

Ethereum, BNB Chain, Polygon, Arbitrum, Base, Optimism, Linea, Avalanche — составьте список. Если не помните — проверьте историю транзакций в каждом эксплорере.

Шаг 2: Зайдите в Revoke.cash и проверьте каждую сеть

Для каждой сети посмотрите полный список approvals. Обращайте внимание на:

  • Сумму: unlimited — красный флаг
  • Адрес spender: знакомый ли протокол?
  • Дату: старые approvals — кандидаты на удаление
  • Тип токена: USDT, USDC, DAI с unlimited — приоритет

Шаг 3: Найдите опасные разрешения

Критерии «опасного» approve:

  • Unlimited сумма на любой ликвидный токен
  • Неизвестный или неверифицированный адрес spender
  • Выдан после посещения нового или подозрительного сайта
  • Выдан более года назад и dApp больше не используется

Шаг 4: Отзывайте в порядке приоритета

Сначала — unlimited approvals на USDT, USDC, DAI. Затем — подозрительные разрешения. Затем — старые разрешения неактивным dApp. Затем — NFT approvals.

Шаг 5: Отдельно проверьте NFT approvals

В том же Revoke.cash переключитесь на ERC-721 и ERC-1155 токены. Найдите setApprovalForAll — особенно от маркетплейсов или mint-сайтов, которыми вы не пользуетесь активно.

Шаг 6: Перепроверьте после revoke

После выполнения транзакции обновите список в Revoke.cash или block explorer. Убедитесь, что approve действительно исчез из списка. Если статус не обновился сразу — подождите несколько минут и проверьте снова.

Шаг 7: При признаках компрометации — другой сценарий

Если вы замечаете неожиданные исходящие транзакции, которые вы не инициировали, — это не проблема approvals, это компрометация кошелька. В таком случае revoke не поможет, нужен срочный перевод активов на новый адрес. Об этом — отдельный раздел ниже.


Что удалять в первую очередь: приоритетная очередь revoke

Если разрешений накопилось много — вот логика расстановки приоритетов.

Приоритет 1: Unlimited approvals на стейблкоины

USDT, USDC, DAI — это деньги. Unlimited allowance на них при значительном балансе — это максимальный риск. Ревокайте в первую очередь, независимо от того, насколько «проверенным» кажется dApp, которому разрешение выдано.

Даже если сам протокол честный — он может быть взломан. А ваш unlimited approve будет работать и в пользу атакующего.

Приоритет 2: Разрешения после подозрительных сайтов

Всё, что было подписано после клика по ссылке из Telegram, Discord, X — если вы не уверены в источнике — удаляйте немедленно. Не ждите, пока что-то пропадёт с баланса. Действуйте превентивно.

Если у вас есть сомнения, насколько безопасно хранить крипту и как правильно выстроить защиту, — начните с как хранить крипту безопасно в 2026 году: там разобраны все уровни защиты — от seed фразы до операционных привычек.

Приоритет 3: NFT setApprovalForAll

Если вы когда-либо пользовались NFT-маркетплейсами или минтили коллекции на незнакомых сайтах — проверьте этот тип разрешений. setApprovalForAll позволяет контракту перемещать все NFT определённого типа из вашего кошелька. Это один из самых разрушительных типов approve — и один из самых забытых.

Приоритет 4: Старые разрешения в каждой сети

Ethereum, BNB Chain, Polygon, Arbitrum, Base, Optimism — проверяйте все. Approvals двухлетней давности в сети, где вы давно не работали, тоже могут представлять риск. Протокол мог быть переписан, заброшен или скомпрометирован — а ваше разрешение всё ещё там.

Приоритет 5: Approvals dApp, которыми вы больше не пользуетесь

Если сервис закрылся, сменил владельца или просто вышел из вашего фокуса — его approve вам больше не нужен. Удалите.


Почему revoke стоит денег, а disconnect — нет

Это частый вопрос: если disconnect бесплатный, почему revoke платный?

Disconnect — это локальное действие. Оно происходит в браузере или в интерфейсе кошелька. Никакой транзакции в блокчейне не создаётся. Сеть ничего не знает об этом действии.

Revoke — это ончейн-транзакция. Она записывается в блокчейн. Для её выполнения нужен газ: сетевой ресурс, который оплачивается в нативной валюте сети. В Ethereum это ETH, в BNB Chain — BNB, в Polygon — MATIC и так далее.

Стоимость revoke в разных сетях:

  • Ethereum mainnet — от нескольких десятков центов до нескольких долларов в зависимости от загруженности сети
  • Arbitrum, Base, Optimism — от нескольких центов, иногда меньше доллара
  • BNB Chain — несколько центов
  • Polygon — минимальная, практически незаметная

Экономить на revoke в L2-сетях — неразумно: цена вопроса ниже стоимости чашки кофе, а защита несопоставима. В Ethereum mainnet при большом балансе стейблкоинов затраты на revoke также оправданы.

Важный нюанс: если у вас нет нативного токена сети для оплаты газа — revoke выполнить не получится. Это ещё одна причина держать небольшой резерв нативного токена в каждой сети, где вы работаете.


Когда disconnect полезен, а когда недостаточен

Справедливость требует сказать: disconnect — не бесполезное действие. У него есть своя роль.

Когда disconnect действительно помогает

Уменьшает поверхность атаки через интерфейс. Если сайт взломан и начинает показывать вредоносные всплывающие окна — disconnect снижает риск случайной подписи вредоносного запроса.

Убирает лишние активные соединения. Список подключённых сайтов — это потенциальные точки входа для атак через скомпрометированные интерфейсы. Регулярный disconnect поддерживает «чистоту» кошелька.

Снижает вероятность фишинга через подменный интерфейс. Если вы отключили кошелёк от устаревшего dApp — его подменной версии сложнее получить от вас новую подпись.

Хорошая привычка цифровой гигиены. Disconnect после каждого посещения dApp — правило, которое стоит выработать. Просто потому что лишние активные соединения не нужны.

Когда disconnect недостаточен и нужен revoke

Во всех случаях, когда была подписана транзакция approve. Если вы делали своп, bridge, стейкинг, минтинг, добавление ликвидности — approve был. Disconnect его не тронул. Нужен revoke.


Disconnect после конкретных сценариев: что проверять

Disconnect после свопа в Uniswap или другом DEX

Проверьте: есть ли unlimited approve на USDT, USDC или другой токен, который использовался при свапе. Если это был ваш первый своп именно на этом DEX — approve точно есть.

Про механику самого свопа и что происходит под капотом — в отдельном материале.

Disconnect после bridge

Bridge-протоколы почти всегда требуют approve перед операцией. Проверьте approvals для bridge-контракта после операции — особенно если использовали новый или незнакомый bridge.

Disconnect после airdrop claim или mint

Это самый тревожный сценарий. Проверьте approvals сразу после disconnect. Если вы подписывали что-то на сайте claim — ищите approve от неизвестного контракта. Ревокайте немедленно.

Disconnect на Bybit или другой бирже

При работе с Bybit в 2026 году или другими централизованными биржами обычно нет approvals в том смысле, в котором мы их обсуждаем: CEX работают иначе. Но если вы подключали MetaMask к биржевому Web3-интерфейсу или DeFi-продукту биржи — approvals могут быть.

Disconnect после работы с альткоинами на DEX

Если вы покупали альткоины на DEX — скорее всего, выдавали approve на каждый токен перед свапом. Проверьте, не остались ли unlimited approvals от этих операций.


Ошибки после disconnect: полный список неправильных действий

Ошибка 1: Считать disconnect финальным шагом

Самая распространённая и самая дорогостоящая. Disconnect — это начало, а не конец. После него нужна проверка approvals и revoke опасных разрешений.

Ошибка 2: Проверять только одну сеть

Если вы проверили Ethereum, но забыли про Polygon и BNB Chain — вы не видите полной картины. Approvals существуют независимо в каждой сети.

Ошибка 3: Смотреть только на «Connected dApps», но не на allowances

В MetaMask есть список Connected Sites — сайты, у которых есть активное соединение. Этот список и список активных allowances — это разные вещи. Сайт может отсутствовать в Connected Sites, но allowance на его контракт всё равно будет активен.

Ошибка 4: Забыть про NFT approvals

Многие проверяют ERC-20 approvals и успокаиваются. Но ERC-721 (NFT) и ERC-1155 (полуфунгибельные токены) — отдельные типы разрешений, которые нужно проверять отдельно.

Ошибка 5: Делать revoke на фишинговом сайте

Вы ищете «как убрать approve» и переходите на сайт с похожим на Revoke.cash адресом. Там вас просят подключить кошелёк и «сделать revoke» — но вместо этого вы подписываете новый вредоносный approve. Всегда проверяйте адрес сайта в строке браузера. Используйте закладки.

Ошибка 6: Оставлять unlimited approvals «на потом»

«Потом» в этом контексте — это момент, когда контракт взломан или стал мошенническим. К тому времени «потом» уже поздно. Unlimited approve на стейблкоин с живым балансом — это постоянно открытый риск. Ревокайте сейчас.

Ошибка 7: Думать, что пустой кошелёк не в зоне риска

Если на кошельке сейчас нет токенов, но вы планируете пополнить его — старые unlimited approvals сразу начнут работать против вас. Чистите разрешения до пополнения, а не после.


Когда revoke уже недостаточно: другой уровень проблемы

Revoke — правильный инструмент при правильной проблеме. Но есть ситуации, когда проблема принципиально другая.

Sweeper bot: признак компрометации ключей

Если вы замечаете, что любой ETH или другой нативный токен, который приходит на ваш адрес, мгновенно уходит на чужой адрес — это признак sweeper bot. Это значит, что ваш private key скомпрометирован: кто-то написал бота, который отслеживает ваш адрес и мгновенно выводит любые входящие средства.

В такой ситуации revoke бессмысленен. Атакующий с вашим private key может снова выдать approve после вашего revoke. Единственное правильное действие — немедленно создать новый кошелёк с новой seed фразой и попытаться перевести остатки, используя флэш-транзакцию.

Скомпрометированная seed phrase

Если ваша seed фраза попала к третьим лицам — весь кошелёк скомпрометирован. Любое действие с текущим кошельком бессмысленно: атакующий может повторить или отменить что угодно. Нужен новый кошелёк.

О том, что такое seed phrase и почему это главный секрет вашего кошелька, — отдельный детальный материал. Хранение seed phrase — это не паранойя, это базовая необходимость.

Что делать при признаках компрометации

Полный алгоритм действий при взломе кошелька — в материале что делать если криптокошелёк взломали в 2026 году. Там разобрано пошагово: что проверить, куда обращаться и как минимизировать ущерб.


Хорошие привычки вместо периодической паники

Лучшая защита — это не реагирование на уже случившееся, а правильные привычки, которые предотвращают накопление рисков.

Давайте лимитный approve вместо unlimited. При следующем свапе или взаимодействии с DeFi — вручную измените spending cap на конкретную сумму этой операции. Да, в следующий раз придётся повторить. Но unlimited approve на всю жизнь — несопоставимо более высокий риск.

Используйте отдельный кошелёк для DeFi-экспериментов. Основные средства — на одном адресе, с минимумом взаимодействий с dApp. Для экспериментов с новыми протоколами — отдельный кошелёк без значимого баланса. Так даже при компрометации «рабочего» кошелька основные активы в безопасности.

Проверяйте approvals раз в месяц. Revoke.cash открывается за секунду, проверка занимает 5–10 минут. Включите это в рутину — например, одновременно с проверкой балансов.

После любого нового dApp — проверьте, что именно подписали. Не обязательно сразу ревокать — но понять, какой approve был выдан и насколько он обоснован, стоит всегда.

И ещё одна важная практика для тех, кто покупает крипту через разные каналы и работает с несколькими сетями: как купить крипту и сразу вывести на свой кошелёк безопасно — там разобрано, как выстроить маршрут от покупки до хранения с минимальными рисками.


FAQ: ответы на популярные вопросы

Если отключить кошелёк от сайта, approvals исчезнут?

Нет. Disconnect убирает только соединение сайта с кошельком в браузере. Approvals хранятся в блокчейне и требуют отдельного revoke.

Disconnect wallet — это то же самое, что revoke?

Нет. Это принципиально разные действия. Disconnect — локальное, бесплатное, не трогает блокчейн. Revoke — ончейн-транзакция, платная, обнуляет конкретный allowance в блокчейне.

Нужно ли платить комиссию за revoke после disconnect?

Да. Revoke — это отдельная ончейн-транзакция с network fee / gas fee. В L2-сетях (Arbitrum, Base, Optimism) это стоит копейки. В Ethereum mainnet — дороже, но сопоставимо с обычной транзакцией.

Можно ли просто отвязать кошелёк и не делать revoke?

Можно, но это оставляет активными все выданные ранее approvals. Если среди них есть unlimited approve на ликвидные токены — риск сохраняется.

Что будет, если оставить старые approvals?

Ничего плохого — пока контракт, которому выдано разрешение, честен и не взломан. Но это «пока». Старые approvals — это накопленный риск, который материализуется при взломе или уязвимости протокола.

Если удалить сайт из MetaMask, доступ останется?

Да. Удаление из «Connected Sites» — это disconnect. Approvals, выданные контрактам через этот сайт, остаются в блокчейне.

Disconnect и revoke — это одно и то же?

Нет, они работают на разных уровнях. Disconnect — уровень интерфейса. Revoke — уровень блокчейна. Оба действия полезны, но не взаимозаменяемы.

Можно ли потерять USDT после disconnect, если не сделать revoke?

Теоретически — да, если у контракта, которому выдан approve, есть злой умысел или уязвимость. Unlimited approve на USDT при значительном балансе — это открытое разрешение, независимо от состояния браузерного соединения.

Как часто проверять approvals кошелька?

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

Нужно ли делать revoke, если кошелёк пустой?

Не срочно, но желательно. Если вы планируете пополнить кошелёк — лучше почистить approvals до того, как там появятся средства. Unlimited approve на пустом кошельке сейчас не опасен, но станет опасным сразу после пополнения.


Одно предложение, которое стоит запомнить: disconnect закрывает дверь, но не меняет замок. Revoke — это смена замка. И пока замок не сменён, старый ключ у чужих рук — работает.