В этой статье разберём revoke cash — ключевые аспекты и практические рекомендации. Полтора года назад я чуть не потерял $4,300 из-за одной глупости — не отозвал разрешение неизвестному контракту на Polygon после фарминга. Контракт оказался скомпрометирован через две недели. Повезло, что успел вывести средства днём раньше.

С тех пор я фанатично отзываю разрешения через Revoke.cash раз в неделю. И вижу одни и те же ошибки у людей, которые потом приходят в Telegram с вопросом "а почему у меня списали USDC?"

Вот 7 самых дорогих ошибок при работе с Revoke.cash — и как их не повторить.

Ошибка №1: Ты вообще не знаешь, что такое Approve и зачем отзывать разрешения

Большинство новичков в DeFi вообще не понимают, что происходит, когда MetaMask предлагает подписать транзакцию "Approve". Кликаешь "Подтвердить" — и всё, контракт получил право распоряжаться твоими токенами.

Как это работает на самом деле: Когда ты добавляешь ликвидность на Uniswap или кладёшь USDC в пул Aave, смарт-контракт не может просто взять токены из твоего кошелька. Ему нужно разрешение (approval). Ты подписываешь транзакцию, которая говорит: "Контракт 0xABC123 может взять у меня до 1,000,000 USDC".

Проблема: это разрешение не имеет срока годности. Оно висит вечно, пока ты сам его не отзовёшь.

Почему это опасно:

  • Контракт может быть взломан через месяц после того, как ты дал разрешение
  • Разработчики проекта могут добавить бэкдор в апгрейд контракта
  • Фишинговый сайт может подсунуть тебе approve на липовый контракт

В моей практике 90% людей, которые "потеряли крипту непонятно как", на самом деле когда-то дали approve неизвестному контракту. Чаще всего — на сайтах с поддельным NFT-минтом или фейковыми airdrop-формами.

Решение: Заходи на revoke.cash раз в неделю. Подключаешь кошелёк, видишь все активные разрешения по всем сетям. Один клик — и разрешение отозвано.

Ошибка №2: Оставляешь Unlimited Approval на неизвестные контракты

Когда даёшь разрешение на Uniswap, MetaMask по умолчанию предлагает "Unlimited" — максимально возможную сумму (2^256 - 1, это число с 78 нулями). Идея в том, что ты один раз платишь газ за approve, и потом можешь делать сколько угодно свопов без повторных разрешений.

Где это превращается в проблему: Я регулярно вижу в Revoke.cash картину: человек дал Unlimited на USDC контракту "0x5F2...A1B" (неверифицированный, без названия) полгода назад. Сейчас на кошельке $15,000 USDC. Контракт может забрать всё в любой момент.

Реальный кейс из моей практики: Клиент фармил на Arbitrum какой-то новый DEX (не буду называть). Дал Unlimited на DAI, USDC и USDT. Через месяц проект "выходит из бета-тестирования" и делает апгрейд контракта. В новой версии — функция emergencyWithdraw, которая позволяет владельцу контракта вывести все токены, на которые есть approvals. За ночь исчезло $8,400.

Как проверить прямо сейчас:

  1. Открываешь revoke.cash
  2. Подключаешь MetaMask
  3. В фильтрах ставишь "Unlimited approvals only"
  4. Видишь все разрешения без лимита
  5. Если контракт без названия или ты не помнишь этот проект — жми "Revoke"

Таблица риска по типу контракта:

Тип контракта Риск Что делать
Uniswap, Aave, Curve Низкий Можно оставить Unlimited
Stargate, Synapse (мосты) Средний Ревокни после использования
Новый DEX (<3 мес.) Высокий Никогда не давай Unlimited
Неизвестный 0x... Критический Ревокни немедленно

В моей системе: доверенным протоколам (Uniswap, Curve, Aave) я оставляю Unlimited. Всем остальным — отзываю сразу после операции.

Ошибка №3: Думаешь, что отключил кошелёк от сайта — и защищён

Классика: "Я же нажал Disconnect в MetaMask, почему они всё ещё могут забрать токены?"

Жёсткая правда: Disconnect в MetaMask отключает только возможность сайта видеть твой адрес и баланс. Разрешения (approvals) на уровне блокчейна никуда не деваются.

Когда ты нажимаешь "Отключить" на каком-то DeFi-сайте:

  • Сайт больше не может автоматически подставлять твой адрес в формы
  • Сайт не видит твой баланс
  • НО: смарт-контракт по-прежнему может взять твои токены, если есть активный approve

Наглядный пример: Ты зафармил на какой-то новой платформе, заработал 200 USDC, вывел их. Отключил кошелёк от сайта. Через месяц покупаешь ещё 5,000 USDC и держишь на том же кошельке. Контракт фарминг-платформы может забрать эти 5,000 USDC, потому что у него есть Unlimited approval, который ты дал месяц назад.

📢 Больше практических разборов — в канале «Сергей Зиненко | DeFi-Гедонист». Подписывайтесь, чтобы не пропустить.

Правильный алгоритм выхода из проекта:

  1. Выводишь средства из пула/фарминга
  2. Заходишь на revoke.cash
  3. Находишь все approvals для контрактов этого проекта
  4. Отзываешь каждый (обычно 2—5 штук: на LP-токен, на каждый токен пары и т.д.)
  5. Только после этого отключаешь кошелёк

Я потратил $40 на газ в Ethereum mainnet, отзывая approvals от экспериментов 2021 года. Но эти $40 дешевле потенциальной потери $50,000+, которые сейчас на этом кошельке.

Ошибка №4: Не проверяешь эксплойты в разделе Exploits

Revoke.cash ведёт базу скомпрометированных контрактов. Но 95% пользователей даже не знают про вкладку "Exploits".

Как это работает:

  1. Заходишь на revoke.cash/exploits
  2. Видишь список недавних инцидентов с контрактами
  3. Вставляешь свой адрес в поле "Check your address"
  4. Сайт показывает, давал ли ты approve скомпрометированным контрактам

Реальный инцидент: 30 июня 2024 — проблема с контрактом Uniswap V3 Migrator. Revoke.cash добавил его в Exploits в течение часа. Люди, которые проверили себя, успели отозвать разрешения до начала активной эксплуатации уязвимости.

Что я делаю:

  • Раз в неделю захожу в Exploits
  • Проверяю свой основной кошелёк
  • Проверяю два резервных кошелька
  • Если хоть один approve есть — ревокаю немедленно, даже если это стоит $5 газа в Ethereum

Критически важно: Если увидел своё разрешение в Exploits — действуй в течение часа. После публикации эксплойта ботов начинают массово сканировать адреса с активными approvals. Промедление = потеря денег.

Ошибка №5: Не используешь сортировку и фильтры

Когда открываешь Revoke.cash первый раз, видишь список из 50+ разрешений вперемешку. Новички начинают скроллить, теряются и закрывают вкладку.

Правильная стратегия проверки:

Шаг 1: Фильтр по балансу

  • Кликаешь "Filters" (справа сверху)
  • Включаешь "Non-zero balance only"
  • Теперь видишь только те approvals, где у тебя реально есть токены на кошельке
  • Если токен давно продан — approve на него не опасен

Шаг 2: Сортировка по сумме

  • Выбираешь "Sort by: Approved amount (high to low)"
  • Видишь все Unlimited approvals первыми
  • Это самые опасные — ревокаешь их в первую очередь

Шаг 3: Сортировка по дате

  • Переключаешься на "Last updated (new to old)"
  • Видишь свежие approvals (последние 7 дней)
  • Если не помнишь, зачем давал это разрешение неделю назад — ревокай

Лайфхак для продвинутых: Комбинируй фильтры. Пример: "Non-zero balance" + "Unlimited approvals" + сортировка по дате старые → новые. Получаешь список забытых Unlimited approvals на токены, которые до сих пор на кошельке. Это самая опасная зона.

Моя еженедельная рутина:

  • Понедельник утро, открываю Revoke.cash
  • Фильтр: Non-zero + Unlimited
  • Проверяю каждый контракт через Arbiscan/Polygonscan
  • Если контракт без верификации или старше 6 месяцев без активности — ревокаю
  • Время: 10 минут на все 5 сетей (Arbitrum, Polygon, Optimism, Ethereum, Avalanche)

Ошибка №6: Не проверяешь контракты через Block Explorer

Revoke.cash показывает адрес контракта — но многие даже не кликают на него.

Почему это критично: Контракт "0x7B4...F3E" может называться "Uniswap V3 Router" в интерфейсе, но на самом деле быть липовым скам-контрактом. Единственный способ проверить — открыть его в Arbiscan/Etherscan.

Что проверять в Block Explorer:

  1. Verification status

    • Зелёная галочка "Contract Source Code Verified" — хороший знак
    • Нет верификации — тревожный звонок, отзывай approve
  2. Contract name

    • Открываешь вкладку "Contract"
    • Видишь реальное название контракта
    • Если написано "Router V2" но ты взаимодействовал с фарминг-пулом — это подозрительно
  3. Creation date

    • Если контракт создан 3 дня назад, а у тебя approve от 2 месяцев назад — физически невозможно
    • Значит, это фишинг-сайт подменил адрес
  4. Transaction count

    • Меньше 100 транзакций у "популярного DEX" — красный флаг
    • Uniswap Router обрабатывает миллионы транзакций

Кейс из практики: Клиент дал approve контракту "Stargate Finance Router". Я проверил адрес в Arbiscan — контракт создан 12 дней назад, 8 транзакций, не верифицирован. Настоящий Stargate Router существует годами и имеет сотни тысяч транзакций. Отозвали approve за час до того, как с кошелька попытались списать $3,200 USDC.

Мой чеклист проверки:

  • Кликаю на адрес контракта в Revoke.cash
  • Открывается Block Explorer
  • Проверяю: Verified? Yes/No
  • Смотрю дату создания
  • Смотрю количество транзакций
  • Если хоть один параметр не сходится — ревокаю без раздумий

Ошибка №7: Не установил расширение Revoke.cash для браузера

Самая недооценённая фича — browser extension. Устанавливается за 30 секунд, спасает от 90% фишинга.

Что делает расширение: Когда какой-то сайт просит тебя подписать approve, расширение показывает всплывающее окно с предупреждением:

  • "Ты даёшь Unlimited approval — точно уверен?"
  • "Этот контракт создан 2 дня назад — подозрительно"
  • "Сайт похож на фишинговый — не подписывай транзакцию"

Как установить (Chrome/Brave):

  1. Заходишь на revoke.cash
  2. Кликаешь "Download Extension" → Chrome
  3. Проверяешь адрес: должен быть chrome.google.com/webstore
  4. Жмёшь "Установить расширение"
  5. Кликаешь на значок расширений (пазл) → закрепляешь Revoke.cash рядом с MetaMask

Настройки, которые я рекомендую:

  • ✅ Warn about NFT listings (предупреждения о листинге NFT)
  • ✅ Warn about signatures (предупреждения о подписях)
  • ✅ Warn about suspicious websites (предупреждения о подозрительных сайтах)
  • ❌ Warn about approvals — ВЫКЛЮЧИ это (будем использовать отдельное расширение Stelo для этого)

Почему отключить "Warn about approvals": Revoke.cash показывает предупреждение при ЛЮБОМ approve, даже на Uniswap. Это создаёт "усталость от предупреждений" — ты привыкаешь кликать "ОК" не глядя. Для approvals лучше использовать Stelo (более умное расширение, показывает предупреждение только на реально опасные контракты).

Реальный сейв благодаря расширению: Клиент получил ссылку на "эксклюзивный NFT-минт" в Discord. Открыл сайт, подключил MetaMask, нажал "Mint". Revoke.cash extension выдал красное окно: "Warning: This website is suspected to be a scam. Do not sign any transactions."

Оказалось, сайт — идеальная копия реального проекта, но с адресом opensae.io вместо opensea.io. Без расширения человек подписал бы approve на все NFT в кошельке.

Дополнительная защита: Установи также Stelo для защиты от опасных approvals и Pocket Universe для симуляции транзакций. Три расширения вместе дают 99% защиты от фишинга.

Практический чек-лист: как не облажаться с Revoke.cash

Еженедельная рутина (10 минут):

  1. Заходишь на revoke.cash
  2. Подключаешь MetaMask
  3. Проверяешь все сети по очереди: Arbitrum → Polygon → Optimism → Ethereum → Avalanche
  4. Фильтр: Non-zero balance + Unlimited
  5. Каждый неизвестный контракт — кликаешь на адрес → проверяешь в Block Explorer
  6. Не помнишь проект или контракт не верифицирован? Revoke
  7. Стоимость: $0.10—$0.50 за revoke на L2 (Arbitrum, Polygon), $2—$5 на Ethereum

После каждого фарминга (обязательно):

  1. Вывел средства из пула
  2. Сразу же открываешь Revoke.cash
  3. Находишь все approvals для этого протокола (обычно 2—4 штуки)
  4. Revoke каждый
  5. Только после этого закрываешь вкладку

Раз в месяц (глубокая проверка):

  1. Открываешь revoke.cash/exploits
  2. Проверяешь свой адрес на наличие approvals скомпрометированным контрактам
  3. Если что-то нашлось — revoke в течение часа

Перед сном (параноидальный режим): Если на кошельке больше $10,000:

  1. Открываешь Revoke.cash
  2. Сортировка: Last updated (new to old)
  3. Смотришь, не появилось ли новых approvals за день
  4. Если появились — проверяешь, что это за контракты
  5. Не помнишь, как дал approve? Revoke немедленно

Сколько стоит отзыв разрешений на разных сетях

Многие не отзывают approvals, потому что боятся высокого газа. Вот реальные цифры из моей практики (актуально на февраль 2025):

Сеть Стоимость Revoke Когда отзывать
Ethereum mainnet $3—$8 Только критичные approvals
Arbitrum $0.15—$0.40 Смело ревокай всё подряд
Polygon $0.01—$0.05 Практически бесплатно
Optimism $0.10—$0.30 Ревокай после каждого фарминга
Avalanche $0.50—$1.20 Ревокай раз в неделю
Base $0.05—$0.15 Ревокай всё подряд

Лайфхак для экономии на Ethereum: Если у тебя 10+ approvals на Ethereum mainnet, не ревокай их по одному. Жди момента, когда газ упадёт до 10—15 gwei (обычно ночью по UTC или в выходные). В этот момент стоимость revoke падает с $8 до $1.50—$2.

Используй https://etherscan.io/gastracker — когда видишь зелёную зону "Low" (10—20 gwei), открывай Revoke.cash и ревокай всё за раз.

Топ-5 контрактов, которые точно нужно ревокнуть

Если лень проверять все approvals, начни с этих типов контрактов — они чаще всего компрометируются:

1. Неверифицированные контракты Любой контракт без зелёной галочки в Block Explorer. Если разработчик не опубликовал исходный код — это либо скам, либо очень плохая практика безопасности.

2. Контракты старше 6 месяцев без транзакций Открываешь Block Explorer → если последняя транзакция была полгода назад — проект мёртв. Держать approve на мёртвый проект = риск, что его взломают, а команда не среагирует.

🎓 Нужна структура и практика? Подробности про обучение и разборы — в канале «Сергей Зиненко | DeFi-Гедонист».

3. "Token Migrator" контракты Любые контракты с словами "Migrator", "Upgrade", "V2toV3" в названии. Это временные контракты для переноса средств между версиями протокола. После миграции они должны быть отозваны.

4. Контракты с менее чем 100 транзакциями Если "популярный DEX" имеет 50 транзакций за всё время — это либо фейк, либо очень новый проект. Unlimited approval такому контракту — безумие.

5. Любые NFT-контракты Если ты не активно торгуешь NFT прямо сейчас — ревокай все approvals на NFT Marketplaces (OpenSea, Blur, LooksRare). Оставь их только если планируешь листить NFT в ближайшие дни.

Что дальше

Я потратил $127 на отзыв approvals за последний год. Это копейки по сравнению с тем, сколько людей теряют из-за скомпрометированных контрактов — я видел потери от $500 до $80,000 из-за одного забытого Unlimited approval.

Заведи себе правило: каждый понедельник утром, до первого кофе — 10 минут на Revoke.cash. Это как чистить зубы, только для крипто-гигиены.

Хочешь больше практических гайдов по DeFi-безопасности? Подписывайся на мой Telegram-канал — там разбираю реальные кейсы взломов и показываю, как защититься: https://t.me/+y9vUCFalo1E0NGUy

FAQ

Что произойдёт, если я отзову approve для контракта, который сейчас использую?

Ничего страшного. Просто при следующей операции (своп, внесение ликвидности) тебе придётся заново дать approve. Это две транзакции вместо одной — небольшая плата за безопасность.

Сколько стоит отозвать разрешение на Polygon?

На Polygon стоимость revoke составляет $0.01—$0.05. Я регулярно отзываю 20+ approvals за раз и плачу меньше $1 газа. Это практически бесплатно.

Может ли Revoke.cash сам украсть мои токены?

Нет. Revoke.cash не имеет доступа к твоим средствам. Когда ты отзываешь approve, подписываешь транзакцию в MetaMask, которая идёт напрямую в блокчейн. Revoke.cash — просто интерфейс для взаимодействия со смарт-контрактами токенов.

Нужно ли отзывать approvals для Uniswap и Aave?

Зависит от твоей стратегии. Если активно пользуешься этими протоколами — можешь оставить. Если не торговал на Uniswap 3 месяца — лучше отозвать. Мой подход: для топ-10 протоколов (Uniswap, Curve, Aave, Compound) оставляю approvals, для всех остальных — ревокаю после использования.

Что делать, если увидел своё разрешение в разделе Exploits?

Действуй немедленно. Открываешь Revoke.cash → находишь этот контракт → жмёшь Revoke → подтверждаешь в MetaMask. Не жди "удобного момента" — после публикации эксплойта у тебя есть часы, максимум сутки, пока боты не начнут массово сканировать кошельки с активными approvals.