Approvals: як «сплячі» дозволи зливають гаманці — і як їх відкликати

Коротко (TL;DR)

Коли ви користуєтесь DeFi-застосунком, NFT-маркетплейсом чи DEX, ви видаєте смартконтракту approval — дозвіл розпоряджатися вашими токенами. Ці дозволи не зникають самі: вони лишаються активними, доки ви їх не відкличете. Якщо проєкт згодом зламають або ви помилково підпишете approval на фішинговому сайті, контракт може вивести токени — інколи за роки.

Головна дія: періодично перевіряйте й відкликайте непотрібні approvals через Revoke.cash або Token Approval Checker на Etherscan, тримайте великі суми на окремому гаманці, який ніколи не підключаєте до dApp, а після великих зламів відкликайте доступи превентивно. Нижче — як це працює, як відкликати покроково та чого відкликання НЕ лікує.

(Дані та кейси актуальні на 15 червня 2026.)

до 5 100 USDT Bybit · новачкамдо 5 100 USDTBybit дарує новачкам за прості завданняЗабрати бонус

Що таке 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 виділяє кілька типових сценаріїв:

до 5 100 USDT Bybit · новачкамдо 5 100 USDTДепозит $100 — і до 5 100 USDT у нагородахЗабери бонус
ТипОзнакаЩо допоможе
Компрометація 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+ мереж):

  1. Відкрийте Revoke.cash — краще із закладки, щоб не потрапити на фішинг-клон, — і підключіть гаманець або просто введіть свою адресу.
  2. Виберіть потрібну мережу (Ethereum, BNB Chain, Polygon тощо).
  3. У списку approvals відсортуйте «від нових до старих» — так швидше знайдете свіжі та підозрілі дозволи.
  4. Натисніть Revoke навпроти непотрібного approval. Можна не відкликати повністю, а зменшити ліміт (іконка олівця) — якщо доступ ще знадобиться.

Через Etherscan (для тих, хто звик до експлорера):

  1. Відкрийте Token Approval Checker (розділ More → Token Approvals) і введіть адресу гаманця.
  2. Виберіть тип токена (ERC-20, ERC-721, ERC-1155) і ввімкніть «Show all approvals».
  3. Натисніть 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-фразу).

Базові принципи зберігання та захисту ми зібрали в окремому матеріалі про безпеку крипто-гаманця.

Якщо ви вже підписали зайве

Дійте швидко і за порядком:

  1. Відкличте approval у Revoke.cash — це зупинить подальший вивід, якщо крадіжка йде через дозвіл.
  2. Визначте тип крадіжки за таблицею вище. Якщо вкрадено різні активи на кількох мережах, а нативний токен зникає одразу після надходження, — імовірно, скомпрометована seed-фраза.
  3. За компрометації seed-фрази гаманець уже не врятувати: перевірте комп’ютер на шкідливе ПЗ, заведіть новий гаманець (краще апаратний) і перенесіть залишок. Якщо в скомпрометованому гаманці лишилося більше ніж ~$1000, зверніться до Flashbots Whitehat Hotline — «збирач» атакувальника може перехоплювати перекази.
  4. Не вірте «поверненцям». Вкрадені ончейн-активи повернути неможливо; будь-хто, хто за гроші обіцяє їх повернути, — сам шахрай. Повідомити про випадок біржам і місцевим органам має сенс заради сліду, а не заради гарантій.

FAQ

Відкликання approval поверне вкрадені гроші? Ні. Відкликання лише зупиняє подальший вивід через цей дозвіл. Уже вкрадені ончейн-активи повернути неможливо.

Чи потрібно платити за кожне відкликання? Звичайне відкликання — це ончейн-операція з газовою комісією за кожен дозвіл. Механізми на кшталт Permit2 дають змогу відкликати дешевше й пакетно; у деяких мережах газ копійчаний.

Чи безпечно давати unlimited approval великим DEX? Сам по собі безлімітний доступ — не «червоний прапорець»: його використовують і репутаційні майданчики заради зручності. Ризик створюють дозволи незнайомим контрактам і забуті approvals закритих проєктів — саме їх і треба чистити.

Чи захищає апаратний гаманець від шкідливого approval? Ні. Апаратний гаманець береже приватний ключ, але якщо ви самі підпишете шкідливий approval чи підпис, пристрій це виконає. Допомагають сегрегація активів і звичка перевіряти, що саме ви підписуєте.

Як часто перевіряти approvals? Раз на 1–2 місяці як звичка і додатково — після кожного великого злому в індустрії. Це займає пару хвилин і кратно дешевше за можливі втрати.

Що обрати — Revoke.cash чи Etherscan? Для більшості зручніший Revoke.cash: єдиний список за всіма мережами і підсвічування ризикованих дозволів. Etherscan підійде, якщо ви вже звикли до експлорера. Результат однаковий — обидва надсилають ончейн-транзакцію відкликання, за яку платиться газ.

до 555% Bybit · Savingsдо 555%річних на Savings + до 5 100 USDT новачкам · 3 крокиПочни зараз
Поділитися
Зв'язатися:
Крипто- та data-аналітик, інженер-програміст (факультет комп'ютерних наук ХНУРЕ). В IT з 2008 року: адміністрував корпоративний моніторинг у «Vodafone Україна», сім років розробляв і просував веб-проєкти, п'ять років керував маркетингом на метриках — конверсія, CTR, ROI, LTV.Криптовалютними ринками займаюся з 2021 року: ончейн-метрики, токеноміка, макроекономічні індикатори. Розробив власну data-driven модель аналізу ринку на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математична статистика та EDA; збір і звірку даних автоматизую AI-агентами.Принцип — «Don't trust, verify»: кожна цифра перевірена за першоджерелом, ключові — щонайменше за двома незалежними; прогнози — лише сценарії з умовами. Теза без даних не публікується.