В этой статье разберём revoke cash — ключевые аспекты и практические рекомендации. Представь: ты год назад дал разрешение какому-то DeFi-протоколу тратить твои USDC. Проект закрылся, команда исчезла, но разрешение осталось — и сегодня хакер покупает доступ к этому контракту на чёрном рынке. Звучит как параноя? В моей практике я видел три таких случая за последние полгода. И каждый раз проблему решил бы один простой шаг — отзыв разрешений через Revoke.cash.
Revoke.cash — это бесплатный инструмент для управления доступами смарт-контрактов к твоему криптокошельку. Он показывает все активные разрешения (approvals) на Ethereum, Arbitrum, Polygon и 20+ других сетях, и позволяет одним кликом их отменить. Это как проверить список приложений с доступом к твоему Google-аккаунту — только для криптовалюты.
В этом гайде я покажу, как работает Revoke.cash, почему отзыв разрешений критичен для безопасности в DeFi, и дам пошаговую инструкцию с реальными примерами из моей практики.
Что такое Revoke.cash и зачем он нужен
Revoke.cash (от англ. "revoke" — отозвать) — это веб-приложение для аудита и отмены разрешений, которые ты давал смарт-контрактам. Когда ты взаимодействуешь с любым DeFi-протоколом — Uniswap, Aave, Curve — ты сначала подписываешь транзакцию типа approve. Она даёт контракту право списывать с твоего кошелька конкретный токен на определённую сумму (часто — unlimited, то есть бесконечно).
Почему это проблема
Разрешение не исчезает после того, как ты закончил пользоваться протоколом. Оно остаётся активным до тех пор, пока ты его не отзовёшь. И вот три сценария, когда это становится опасно:
Взлом протокола. В июне 2024 года произошёл эксплойт контракта Multichain — хакеры получили доступ к приватным ключам мультисига. Все, кто давал Multichain разрешение на USDC, потеряли средства. Те, кто успел отозвать — нет.
Rug pull. Команда проекта исчезает, но перед этим активирует backdoor в контракте и сливает все токены пользователей, у которых есть активные approvals.
Устаревшие разрешения. Ты год назад дал разрешение какому-то фарминг-пулу на Polygon, забыл — а контракт компрометирован. Злоумышленник покупает доступ к нему и списывает твои активы.
Revoke.cash решает все три проблемы: ты видишь полный список разрешений, можешь оценить риски и отменить подозрительные.
Как это работает технически
Когда ты даёшь разрешение смарт-контракту, вызывается функция approve(spender, amount) стандарта ERC-20. Revoke.cash читает события Approval на блокчейне, связанные с твоим адресом, и показывает:
- Какой токен (USDC, DAI, WETH)
- На какую сумму (unlimited, конкретное число)
- Какому контракту (адрес spender)
- Когда дал разрешение (дата последнего Approval)
Чтобы отозвать, Revoke.cash формирует транзакцию approve(spender, 0) — обнуляет лимит. Это стандартная операция, которую поддерживает любой ERC-20 токен.
Как пользоваться Revoke.cash: пошаговая инструкция
Шаг 1: Подключение кошелька
Заходи на revoke.cash — убедись, что адрес именно revoke.cash, а не клон типа revokecash.io (такие фишинговые сайты существуют).
Нажми "Connect Wallet". Revoke.cash поддерживает MetaMask, WalletConnect, Coinbase Wallet, Rabby — любой кошелёк, который работает с EVM-сетями.
После подключения выбери сеть. Допустим, ты хочешь проверить Arbitrum — Revoke автоматически подтянет все разрешения для этой сети. Если хочешь переключиться на Polygon или Ethereum, выбери сеть прямо на сайте (не обязательно менять её в MetaMask).
Шаг 2: Анализ разрешений
Перед тобой список всех активных approvals. Вот как его читать:
| Колонка | Что означает |
|---|---|
| Asset | Название токена (USDC, DAI, WETH) |
| Approved Amount | Сумма разрешения — число или "Unlimited" |
| Spender | Адрес контракта, который может тратить токен |
| Last Updated | Дата, когда ты дал это разрешение |
Красные флаги, на которые я обращаю внимание:
- Unlimited approvals на неизвестные контракты — если не помнишь этот адрес, отзывай сразу.
- Старые разрешения (год+) — даже если это был когда-то крупный проект, лучше обнулить и переутвердить, если понадобится.
- Контракты без верификации — если по клику на адрес в блок-эксплорере (Arbiscan, Polygonscan) нет исходного кода, это подозрительно.
Шаг 3: Отзыв разрешений
Допустим, ты видишь разрешение на USDC для неизвестного контракта 0xABC123... на Arbitrum. Нажимаешь "Revoke".
MetaMask (или твой кошелёк) предложит подписать транзакцию. Это вызов функции approve(0xABC123..., 0) — обнуляешь лимит. Комиссия на Arbitrum — около $0.10–0.20, на Polygon — меньше цента, на Ethereum — $2–5 в зависимости от загрузки сети.
📢 Больше практических разборов — в канале «Сергей Зиненко | DeFi-Гедонист». Подписывайтесь, чтобы не пропустить.
После подтверждения Revoke.cash автоматически обновляет список — отозванное разрешение исчезает. Не нужно перезагружать страницу.
Пример из реальной практики
Когда я чистил кошелёк клиента на Polygon, мы нашли 12 активных разрешений. Из них:
- 4 на Uniswap V3 Router (крупная биржа, доверенный контракт — оставили)
- 3 на Stargate Finance (мост с хорошей репутацией — оставили)
- 2 на ParaSwap (агрегатор DEX, как 1inch — оставили)
- 3 на неизвестные контракты без верификации — отозвали все
Отзыв трёх подозрительных разрешений обошёлся в $0.02 (суммарная комиссия на Polygon). Одно из них оказалось контрактом заброшенного yield-фарминга, который через месяц попал в список эксплойтов на Revoke.cash. Мы избежали потенциальной потери 4000 USDC.
Фильтры и сортировка: как найти самые опасные разрешения
Revoke.cash даёт гибкие инструменты для анализа. Вот что я использую чаще всего.
Сортировка по сумме (Approved Amount)
Нажми на колонку "Approved Amount" — разрешения выстроятся от самых больших к маленьким. Сначала увидишь все unlimited approvals (они помечены как ∞), затем конкретные суммы.
Зачем это нужно: если у тебя есть unlimited разрешение на 10,000 USDC для неизвестного контракта — это критичнее, чем approval на 0.5 USDC для того же контракта.
Сортировка по дате (Last Updated)
Кликни на "Last Updated" и выбери "от новых к старым". Увидишь последние разрешения, которые ты давал.
Мой воркфлоу: после того, как поюзал новый DeFi-протокол (например, залил ликвидность в новый пул на Curve), я захожу на Revoke.cash через неделю и отзываю это разрешение. Протестировал, вывел средства — зачем оставлять доступ?
Фильтр по балансу
Включи галочку "Non-zero balance" — останутся только разрешения на токены, которые реально есть на кошельке. Это убирает шум: если у тебя 0 DAI, разрешение на DAI не критично (хотя лучше всё равно отозвать на будущее).
Фильтр по типу активов
- Tokens — обычные ERC-20 токены (USDC, WETH, LINK)
- NFTs — ERC-721 и ERC-1155, где ты даёшь
setApprovalForAll(разрешение на все NFT из коллекции)
Я обычно начинаю с токенов, потому что там финансовые риски выше. NFT-разрешения чищу раз в квартал.
Расширение Revoke.cash для браузера
У Revoke.cash есть расширение для Chrome/Brave/Edge — устанавливай только через официальный Chrome Web Store. Проверь, что URL именно chrome.google.com/webstore — фишинговые клоны существуют.
Что даёт расширение
Когда ты взаимодействуешь с DeFi-протоколом (например, подписываешь approve на Aave), расширение показывает всплывающее окно:
- Предупреждение об Unlimited Approval — если протокол просит unlimited, расширение предложит указать конкретную сумму.
- Информация о контракте — есть ли он в базе Revoke.cash, когда создан, сколько пользователей взаимодействовало.
- Красный флаг для скама — если контракт в чёрном списке (известный rug pull, фишинг), расширение заблокирует подпись.
Настройки расширения
После установки кликни на иконку Revoke.cash в панели браузера. Я рекомендую включить:
- Warn about NFT listings — предупреждает, если пытаешься дать
setApprovalForAllдля NFT (частый вектор атаки). - Warn about suspicious websites — блокирует взаимодействие с сайтами, похожими на фишинг (например,
unisvvap.orgвместоuniswap.org).
Функцию Warn about Approvals я отключаю, потому что использую для этого другое расширение — Stelo (о нём ниже). Но если ты новичок, оставь включённой — будет дополнительный слой защиты.
Проверка эксплойтов: функция Exploits Checker
На главной странице Revoke.cash есть вкладка "Exploits". Здесь список недавних взломов и скамов — контракты, которые компрометированы или были использованы для кражи средств.
Как проверить свой кошелёк
Допустим, 30 июня 2024 был взлом контракта Multichain Router на Ethereum. Зайди в "Exploits" → найди Multichain → нажми "Check Address".
Вставь адрес своего кошелька и нажми "Check". Revoke.cash покажет:
- ✅ You're safe — у тебя нет активных разрешений для этого контракта.
- ❌ You're at risk — есть активное approval, отзови немедленно.
В моей практике эта функция дважды спасла клиентов. Один давал unlimited USDC для Beefy Finance Router на Polygon — через два дня после того, как мы отозвали, этот контракт попал в список эксплойтов. Второй случай — малоизвестный bridge на Avalanche, который оказался фронтом для фишинга.
Работа с несколькими сетями: Arbitrum, Polygon, Ethereum
Revoke.cash поддерживает 20+ сетей: Ethereum, Arbitrum, Optimism, Polygon, Avalanche, BSC, Fantom, Cronos, Polygon zkEVM и другие. Переключение — в один клик.
Стоимость отзыва в разных сетях (март 2026)
| Сеть | Комиссия за revoke | Скорость подтверждения |
|---|---|---|
| Ethereum | $2–8 | 15–60 секунд |
| Arbitrum | $0.10–0.30 | 1–5 секунд |
| Optimism | $0.15–0.40 | 1–5 секунд |
| Polygon | $0.01–0.05 | 2–10 секунд |
| Avalanche | $0.10–0.50 | 1–3 секунды |
| BSC | $0.05–0.20 | 3–10 секунд |
Мой подход: я чищу разрешения на L2 (Arbitrum, Polygon) раз в месяц — это почти бесплатно. На Ethereum — раз в квартал, потому что там комиссия $5+ за одно revoke может быть дороговата.
Пример: чистка кошелька на Polygon
Подключаю кошелёк → выбираю Polygon → вижу 8 разрешений:
- 3 на Uniswap V3 (доверенная биржа, баланс токенов ненулевой) — оставляю
- 1 на Stargate USDC (мост, активно использую) — оставляю
- 2 на ParaSwap (агрегатор, последний раз использовал 6 месяцев назад) — отзываю
- 2 на неизвестные контракты без исходного кода — отзываю немедленно
Отзыв четырёх разрешений: 4 транзакции × $0.01 = $0.04 суммарно. Время — 2 минуты. Это копейки за безопасность активов.
Как часто отзывать разрешения: моя стратегия
Нет единого правила, но вот что работает у меня и у моих клиентов.
Стратегия 1: После каждой DeFi-операции (параноидальный режим)
Если ты используешь фарминг или лендинг краткосрочно (зашёл в пул на неделю, вывел), отзывай разрешение сразу после вывода средств. Да, при следующем входе придётся заново сделать approve (ещё одна комиссия $0.10–0.50), но зато ноль риска.
Кому подходит: если на кошельке $10,000+, или если ты взаимодействуешь с новыми/экспериментальными протоколами.
Стратегия 2: Раз в месяц (мой вариант)
Каждое 1-е число месяца — 15 минут на Revoke.cash. Прохожусь по всем сетям (Arbitrum, Polygon, Ethereum), отзываю всё, что не использую активно.
Что не отзываю:
- Uniswap, Curve, Aave — топовые протоколы с аудитом
- Stargate, LayerZero — крупные мосты
- ParaSwap, 1inch — проверенные агрегаторы
Что отзываю всегда:
- Любые контракты возрастом 6+ месяцев, которыми не пользуюсь
- Контракты без верификации на блок-эксплорере
- Unlimited approvals на токены с балансом $1000+
Стратегия 3: Раз в квартал (минималистичная)
Если у тебя консервативный портфель (только Aave, Uniswap, может быть Curve) и ты не экспериментируешь с новыми протоколами, достаточно проверки раз в 3 месяца.
Но даже в этом случае — проверяй вкладку Exploits на Revoke.cash хотя бы раз в месяц. Если появился эксплойт протокола, который ты используешь, отзывай в тот же день.
Альтернативы Revoke.cash: сравнение инструментов
| Инструмент | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
| Revoke.cash | Бесплатно, 20+ сетей, расширение для браузера | Нет мобильной версии | Основной инструмент для десктопа |
| Etherscan Token Approvals | Встроен в блок-эксплорер | Только Ethereum, неудобный UI | Если уже на Etherscan |
| Rabby Wallet | Встроенный approval checker | Нужно ставить отдельный кошелёк | Если используешь Rabby как основной |
| Unrekt.net | Поддержка Solana + EVM | Платная подписка $10/мес | Если работаешь с Solana |
Мой стек: Revoke.cash для регулярной чистки + расширение Stelo для предупреждений в реальном времени (о нём ниже).
Частые ошибки при работе с Revoke.cash
Ошибка 1: Отозвал approval, но токены всё равно списались
Почему: Если атака уже началась (хакер вызвал transferFrom), отзыв разрешения не отменит транзакцию. Revoke.cash — это профилактика, не лечение.
Что делать: Если увидел подозрительную транзакцию в истории кошелька, немедленно переводи все активы на новый адрес. Revoke бесполезен, когда кража уже произошла.
Ошибка 2: Отозвал все approvals, теперь DeFi не работает
Почему: Каждый раз, когда используешь Uniswap, Aave или любой протокол, нужен свежий approve. Если ты отозвал — придётся заново подписать.
Что делать: Это нормально. Комиссия за approve на L2 — центы. Лучше потратить $0.10 на повторный approve, чем рисковать $10,000.
Ошибка 3: Игнорировал старые разрешения ("я этим уже не пользуюсь")
Почему: Даже если ты год не заходил на какой-то протокол, разрешение активно. Если контракт взломают, твои токены под угрозой.
Что делать: Отзывай всё, что старше 6 месяцев и не используется. Без исключений.
🎓 Научиться зарабатывать в DeFi — курс «DeFi-Гедонист» с практикой и поддержкой. Подробности в канале «Сергей Зиненко | DeFi-Гедонист».
Дополнительный слой защиты: расширение Stelo
Revoke.cash хорош для чистки, но не предупреждает об опасных транзакциях в реальном времени. Для этого я использую Stelo (stelo.finance) — расширение, которое анализирует каждую транзакцию перед подписью.
Что делает Stelo
Когда ты подписываешь транзакцию в MetaMask, Stelo показывает:
- Симуляцию результата — что произойдёт с балансом после подписи (отправишь 100 USDC, получишь 95 DAI).
- Риск-скор контракта — зелёный (безопасный), жёлтый (осторожно), красный (скам).
- Детали approve — если это unlimited approval, Stelo предложит изменить на конкретную сумму.
В моей практике Stelo дважды спас от фишинга: один раз предупредил, что подписываю setApprovalForAll для NFT-контракта, который дрейнит коллекции. Второй раз — заблокировал транзакцию на фейковый сайт "Uniswap" (опечатка в домене).
Комбинация Revoke.cash + Stelo — это 95% защиты от approval-атак. Revoke чистит старое, Stelo защищает от нового.
Чек-лист безопасности для DeFi-пользователя
Вот что я делаю (и рекомендую клиентам):
- Проверяю разрешения на Revoke.cash раз в месяц (1-го числа)
- Отзываю все unlimited approvals на контракты возрастом 6+ месяцев
- Отзываю разрешения на неизвестные контракты сразу
- Использую расширение Revoke.cash для предупреждений об NFT-листингах
- Добавил расширение Stelo для симуляции транзакций
- Проверяю вкладку Exploits на Revoke.cash перед использованием нового протокола
- Никогда не подключаю основной кошелёк (с крупными суммами) к новым/непроверенным сайтам
- Для экспериментов использую отдельный кошелёк с балансом $50–100
Если следуешь этому чек-листу, вероятность потерять средства из-за approval-атаки стремится к нулю.
Что дальше
Revoke.cash — это базовая гигиена в DeFi. Как чистить зубы или делать бэкапы — простая процедура, которая предотвращает катастрофы. Потрать 15 минут в месяц, чтобы отзывать разрешения, и спи спокойно.
Хочешь узнать больше про безопасность в DeFi, автоматизацию через AI и стратегии yield-фарминга? Подписывайся на мой Telegram-канал канал «Сергей Зиненко | DeFi-Гедонист» — там делюсь кейсами, инструментами и разборами новых протоколов.
FAQ
Что будет, если не отзывать разрешения смарт-контрактам?
Разрешения остаются активными бесконечно. Даже если ты год не пользуешься протоколом, контракт сохраняет право списывать твои токены. Если этот контракт взломают или команда сделает rug pull, твои средства под угрозой. В 2024 году было 14 крупных эксплойтов, где пострадали пользователи с активными approvals.
Сколько стоит отозвать разрешение через Revoke.cash?
Это обычная транзакция на блокчейне, стоимость зависит от сети. На Ethereum — $2–8, на Arbitrum — $0.10–0.30, на Polygon — $0.01–0.05. Revoke.cash сам по себе бесплатен, ты платишь только комиссию сети (gas fee). Отзыв 10 разрешений на Polygon обойдётся в $0.10–0.50.
Можно ли отозвать разрешение после взлома контракта?
Если атака уже произошла (хакер вызвал transferFrom и списал токены), отзыв не поможет — транзакция необратима. Revoke.cash работает как профилактика: ты отзываешь разрешения до эксплойта. Если увидел подозрительную активность, единственный вариант — немедленно переводить все активы на новый кошелёк.
Нужно ли отзывать разрешения для Uniswap, Aave и других крупных протоколов?
Зависит от твоей стратегии. Если активно пользуешься протоколом (делаешь свопы на Uniswap каждую неделю), можно оставить approval — риск минимален. Если не использовал 6+ месяцев — лучше отозвать. Крупные протоколы безопаснее, но не на 100%: даже у Curve и Aave были баги, хотя без последствий для пользователей.
Что такое unlimited approval и почему это опасно?
Unlimited approval (часто отображается как "∞" или максимальное значение uint256) даёт контракту право списывать бесконечное количество токенов с твоего кошелька. Протоколы просят это для удобства: один approve навсегда, не нужно подписывать каждый раз. Но если контракт скомпрометирован, хакер может списать все твои токены этого типа. Альтернатива — давать approval на конкретную сумму (например, 1000 USDC), но тогда придётся обновлять при каждой крупной операции.