Коротко (TL;DR)
Коли ви користуєтесь DeFi-застосунком, NFT-маркетплейсом чи DEX, ви видаєте смартконтракту approval — дозвіл розпоряджатися вашими токенами. Ці дозволи не зникають самі: вони лишаються активними, доки ви їх не відкличете. Якщо проєкт згодом зламають або ви помилково підпишете approval на фішинговому сайті, контракт може вивести токени — інколи за роки.
- Коротко (TL;DR)
- Що таке token approval простими словами
- Ризики approvals: чим загрожують забуті дозволи
- Чотири типи крадіжки — і що робити в кожному
- Урок «сплячих» контрактів: чому Aztec втратив $2,19 млн
- Як відкликати approvals — покроково
- approve, Permit і Permit2: у чому різниця
- Гігієна гаманця: як не попастися
- Якщо ви вже підписали зайве
- FAQ
Головна дія: періодично перевіряйте й відкликайте непотрібні approvals через Revoke.cash або Token Approval Checker на Etherscan, тримайте великі суми на окремому гаманці, який ніколи не підключаєте до dApp, а після великих зламів відкликайте доступи превентивно. Нижче — як це працює, як відкликати покроково та чого відкликання НЕ лікує.
(Дані та кейси актуальні на 15 червня 2026.)
Що таке token approval простими словами
Token approval — це ончейн-дозвіл, який ви видаєте смартконтракту, щоб він міг витрачати ваші токени без окремого підпису на кожну операцію. Без нього dApp не зможе, наприклад, обміняти ваш USDT на DEX або виставити NFT на продаж.
Аналогія: approval — це як дозволити застосунку автосписання з картки. Один раз погодилися — далі воно списує саме, у межах виданого ліміту, доки ви не скасуєте доступ.
У ERC-20 токенів дозвіл буває обмеженим (на конкретну суму) або безлімітним (unlimited). Безлімітний approval зручний — не треба перепідтверджувати щоразу, тому його використовують і великі майданчики. Але він же небезпечний: контракт із unlimited-доступом може вивести весь ваш баланс цього токена. Важливо розуміти межу: дозвіл діє лише на той токен чи колекцію, до яких виданий, — approval на WETH не дає доступу до вашого USDT чи USDC. Сам ETH під approval не підпадає (це не ERC-20): щоб віддати його контракту, ETH спершу «загортають» у WETH. Перед підтвердженням будь-якого approval гаманець показує, якій адресі та на яку суму ви видаєте доступ, — на це варто дивитися завжди: саме тут видно, що незнайомий контракт просить безліміт.
Ризики approvals: чим загрожують забуті дозволи
Проблема не в самій механіці, а в тому, що дозволи живуть безстроково. Три причини, чому забутий approval — це ризик:
- Лежить роками. Ви скористалися протоколом один раз і забули, а approval лишився. Якщо проєкт потім зламають, атакувальник виведе токени через ваш старий доступ — навіть за роки після останнього заходу.
- Безліміт — це весь баланс. Якщо дозвіл безлімітний, у зловмисника немає «стелі»: він забере все, що є в гаманці за цим токеном.
- Доступ може змінити власника. Якщо власник схваленого контракту передасть його іншій особі (або фронтенд проєкту зламають), ваш дозвіл опиниться в руках того, кому ви нічого не дозволяли.
Найчастіший спосіб крадіжки — фішинг: користувач заходить на підроблений сайт і підписує approval (або gasless-підпис), вважаючи це легітимною дією. Далі токени зникають. Масштаб видно за цифрами: за звітом ScamSniffer, за 2023 рік фішинг забрав близько $300 млн у приблизно 320 000 користувачів; а за даними Hacken, лише за I квартал 2026 року Web3 втратив $482 млн у 44 інцидентах.
Окремо варто виділити ризик підписів: із поширенням Permit2 і маркетплейс-підписів зловмиснику дедалі частіше не потрібна навіть ваша ончейн-транзакція — достатньо, щоб ви поставили один «безплатний» (gasless) підпис на підробленому сайті, і всі заздалегідь схвалені активи підуть однією операцією. Тому небезпечні не лише висячі approvals, а й неуважність під час підпису: обидва шляхи ведуть до одного результату — втрати токенів без можливості їх повернути. Хороша новина в тому, що майже всі ці сценарії запобігаються двома звичками: регулярним чищенням дозволів і перевіркою того, що саме ви підписуєте.
Чотири типи крадіжки — і що робити в кожному
Щоб зрозуміти, що сталося і що взагалі допоможе, спершу визначте, що саме вкрали. Revoke.cash виділяє кілька типових сценаріїв:
| Тип | Ознака | Що допоможе |
|---|---|---|
| Компрометація seed-фрази | Зникають різні активи на кількох мережах/гаманцях; нативний токен (ETH/BNB) зникає одразу після надходження | Нічого не повернути — гаманець кидають, залишок переносять на новий (краще апаратний) |
| Marketplace-підпис (OpenSea/Blur/Permit2) | Списані одразу всі заздалегідь схвалені активи однією операцією | Скасувати підпис на сторінці Signatures у Revoke.cash (вікно крихітне); на майбутнє — регулярно чистити approvals |
| Token approval | Вкрадено один або кілька конкретних схвалених активів | Негайно відкликати approval — інакше атакувальник продовжить виводити |
| Прямий переказ | Списано один актив; в історії — функція на кшталт «Security Update» чи «Claim» | Це «один раз»; відкликання не потрібне, але змініть звички безпеки |
Ключовий нюанс, який багато хто плутає: marketplace-підпис і approval — це різні речі. Відкликання approval не скасовує вже підписаний офчейн-підпис (Permit2 чи маркетплейсу) — для підписів у Revoke.cash окрема сторінка, і часу на скасування дуже мало.
Урок «сплячих» контрактів: чому Aztec втратив $2,19 млн
Свіжий приклад того, як старий доступ перетворюється на діру, — експлойт Aztec Connect. Цей приватний сервіс закрили ще в березні 2023-го, але 14 червня 2026 року з його іммутабельного контракту вивели близько $2,19 млн (деталі — у нашій новині про експлойт Aztec Connect).
Чому це важливо для теми approvals: іммутабельний контракт не можна ні оновити, ні поставити на паузу — навіть його авторам. Іммутабельність зазвичай плюс (ніхто не підмінить код), але в закритого, непідтримуваного протоколу вона обертається пасткою: коли знаходять ваду, залатати її неможливо, а кошти й дозволи, що лишилися в контракті, захистити вже не можна. За наявними даними, вразливий контракт Aztec оновлювали ще у квітні 2024 року — і це оновлення, судячи з усього, пройшло без зовнішнього аудиту, відкривши діру, яку потім не було кому закрити.
Висновок для вас: гроші й активні approvals у протоколах, якими ви давно не користуєтесь, — це відчинені двері, які вже ніхто не охороняє. Виводьте залишки із закритих dApp і відкликайте їхні дозволи, не чекаючи «сплячого» експлойту. Випадок не перший: раніше старі контракти NFT Trader забрали NFT на суму понад $3 млн, після чого користувачів просили терміново відкликати approvals двох адрес.
Як відкликати approvals — покроково
Відкликати доступ можна за пару хвилин. Два основні інструменти — Revoke.cash і блок-експлорер (Etherscan та аналоги).
Обов’язково відкликайте approval у чотирьох випадках:
- ви перестали користуватися застосунком чи сервісом;
- у протоколу знайшли вразливість або його зламали;
- ви випадково підключилися не до того контракту;
- вас уже скамили — відкликання не поверне вкрадене, але зупинить подальший вивід за цим дозволом.
Через Revoke.cash (підтримує 100+ мереж):
- Відкрийте Revoke.cash — краще із закладки, щоб не потрапити на фішинг-клон, — і підключіть гаманець або просто введіть свою адресу.
- Виберіть потрібну мережу (Ethereum, BNB Chain, Polygon тощо).
- У списку approvals відсортуйте «від нових до старих» — так швидше знайдете свіжі та підозрілі дозволи.
- Натисніть Revoke навпроти непотрібного approval. Можна не відкликати повністю, а зменшити ліміт (іконка олівця) — якщо доступ ще знадобиться.
Через Etherscan (для тих, хто звик до експлорера):
- Відкрийте Token Approval Checker (розділ More → Token Approvals) і введіть адресу гаманця.
- Виберіть тип токена (ERC-20, ERC-721, ERC-1155) і ввімкніть «Show all approvals».
- Натисніть Revoke навпроти потрібного контракту — для кожного окремо. Для інших мереж використовуйте свій експлорер: BscScan, Polygonscan тощо.
Відкликання — ончейн-операція, тому за нього платиться газ. Виняток — gasless і пакетні механізми (Permit2), де відкликати кілька дозволів можна дешевше й за раз.
approve, Permit і Permit2: у чому різниця
Механізм approvals розвивався, і від цього залежить, як саме вас можуть обдурити та як захиститися.Механізм Як працює Газ Особливість approve (ERC-20) Ончейн-транзакція на кожен approval Платиться за кожен Безліміт живе до ручного відкликання Permit (ERC-2612) Офчейн-підпис, контракт виконує його ончейн Без газу під час підпису Підпис на фішингу = доступ без вашої транзакції Permit2 (Uniswap) Безгазові approvals для будь-яких токенів Без газу Є авто-закінчення і пакетне відкликання — менше «висячих» доступів
Permit2 зручніший і безпечніший завдяки терміну закінчення, але саме підписи (Permit і Permit2) — улюблений інструмент фішерів: одним gasless-підписом на підробленому сайті можна авторизувати вивід усіх заздалегідь схвалених активів. Тому підписи перевіряйте так само прискіпливо, як звичайні транзакції.
Гігієна гаманця: як не попастися
Профілактика дешевша за втрати. Чек-лист звичок:
- Чистіть approvals регулярно — раз на 1–2 місяці й обов’язково після великих зламів в індустрії: відкликайте доступи превентивно, навіть якщо ваш протокол не постраждав напряму.
- Розділяйте активи. Тримайте три гаманці: «сейф» для довгого зберігання (його ніколи не підключають до dApp), робочий — для торгівлі на перевірених майданчиках і «витратний» (burner) — для незнайомих сайтів. Так один невдалий підпис не забере всі заощадження.
- Апаратний гаманець — не панацея. Він захищає приватний ключ, але не заважає вам підписати шкідливий контракт.
- Перевіряйте URL і використовуйте закладки. Заходьте на DeFi-сайти із закладок, звіряйте адресу перед підписом, ставте захисні розширення (Revoke, Pocket Universe) — вони попереджають про шкідливі підписи.
- Бережіть seed-фразу. Не вводьте її на жодному сайті й не зберігайте у хмарі — це фундамент усієї безпеки (наш розбір: як зберігати seed-фразу).
Базові принципи зберігання та захисту ми зібрали в окремому матеріалі про безпеку крипто-гаманця.
Якщо ви вже підписали зайве
Дійте швидко і за порядком:
- Відкличте approval у Revoke.cash — це зупинить подальший вивід, якщо крадіжка йде через дозвіл.
- Визначте тип крадіжки за таблицею вище. Якщо вкрадено різні активи на кількох мережах, а нативний токен зникає одразу після надходження, — імовірно, скомпрометована seed-фраза.
- За компрометації seed-фрази гаманець уже не врятувати: перевірте комп’ютер на шкідливе ПЗ, заведіть новий гаманець (краще апаратний) і перенесіть залишок. Якщо в скомпрометованому гаманці лишилося більше ніж ~$1000, зверніться до Flashbots Whitehat Hotline — «збирач» атакувальника може перехоплювати перекази.
- Не вірте «поверненцям». Вкрадені ончейн-активи повернути неможливо; будь-хто, хто за гроші обіцяє їх повернути, — сам шахрай. Повідомити про випадок біржам і місцевим органам має сенс заради сліду, а не заради гарантій.
FAQ
Відкликання approval поверне вкрадені гроші? Ні. Відкликання лише зупиняє подальший вивід через цей дозвіл. Уже вкрадені ончейн-активи повернути неможливо.
Чи потрібно платити за кожне відкликання? Звичайне відкликання — це ончейн-операція з газовою комісією за кожен дозвіл. Механізми на кшталт Permit2 дають змогу відкликати дешевше й пакетно; у деяких мережах газ копійчаний.
Чи безпечно давати unlimited approval великим DEX? Сам по собі безлімітний доступ — не «червоний прапорець»: його використовують і репутаційні майданчики заради зручності. Ризик створюють дозволи незнайомим контрактам і забуті approvals закритих проєктів — саме їх і треба чистити.
Чи захищає апаратний гаманець від шкідливого approval? Ні. Апаратний гаманець береже приватний ключ, але якщо ви самі підпишете шкідливий approval чи підпис, пристрій це виконає. Допомагають сегрегація активів і звичка перевіряти, що саме ви підписуєте.
Як часто перевіряти approvals? Раз на 1–2 місяці як звичка і додатково — після кожного великого злому в індустрії. Це займає пару хвилин і кратно дешевше за можливі втрати.
Що обрати — Revoke.cash чи Etherscan? Для більшості зручніший Revoke.cash: єдиний список за всіма мережами і підсвічування ризикованих дозволів. Etherscan підійде, якщо ви вже звикли до експлорера. Результат однаковий — обидва надсилають ончейн-транзакцію відкликання, за яку платиться газ.




