Вы зашли на сайт: красивый дизайн, знакомое название, кнопка «Connect Wallet». Нажали. MetaMask открыл окно подтверждения — вы подтвердили. Потом появился ещё один запрос: «Approve USDT». Вы снова нажали «Confirm». И вот теперь сидите и думаете: что именно вы только что сделали? Может ли сайт теперь списать ваши токены? Защищён ли кошелёк?

Что проверить перед действием
  • сеть перевода, адрес, сумму и комиссию;
  • memo/tag/comment, если деньги идут на биржу или в Telegram Wallet;
  • TxID, чек, условия сделки и переписку;
  • AML/KYC и возможные вопросы банка или площадки.

Если вы подключили кошелёк к сайту и подписали транзакцию — эта статья именно для вас. Разберём, что происходит при подключении, какие риски несут разные типы подписей, как проверить разрешения кошелька, как отозвать опасный approve и что делать, если USDT уже пропали.

Главное с порога: не вводите seed-фразу ни на каком сайте. Это единственное действие, которое немедленно и необратимо компрометирует весь кошелёк.


Быстрый алгоритм: что сделать прямо сейчас

Если ситуация уже произошла и вам нужны немедленные шаги:

  1. Не вводить seed-фразу и приватный ключ — ни на каком сайте, ни в Telegram, ни в форме «проверки».
  2. Не подписывать повторные запросы на том же сайте.
  3. Отключить сайт от интерфейса кошелька (Disconnect) — это не отзывает approvals, но убирает активное соединение.
  4. Проверить token approvals для нужной сети (Ethereum, BNB Chain, Polygon, TRON и других).
  5. Отозвать (revoke) подозрительные или слишком широкие разрешения.
  6. Проверить историю транзакций и найти TxID подписанной транзакции.
  7. Если остаток под угрозой — перевести USDT на новый кошелёк.
  8. Сохранить доказательства: домен сайта, скрины, TxID, адрес контракта.

Теперь — по каждому пункту подробно.


Что происходит, когда вы подключаете кошелёк к сайту

Многие пользователи думают, что «подключить кошелёк» = «дать сайту доступ к деньгам». Это не совсем так. Но и не совсем безопасно.

Когда вы нажимаете «Connect Wallet» и подтверждаете подключение в MetaMask или другом Web3-кошельке — сайт получает только ваш публичный адрес и может видеть баланс (это и так публичная информация в блокчейне). Само подключение не даёт сайту возможности двигать токены.

Риски начинаются с того момента, когда вы подписываете что-либо. И здесь принципиально важно различать типы подписей — они имеют разные последствия.

Типы подписей и их последствия

Подпись сообщения (Sign message, Personal Sign)

Используется для авторизации: «Вы подтверждаете, что это ваш кошелёк». Само по себе — относительно безопасно. Но некоторые мошеннические протоколы используют подпись сообщения для кражи permit-прав — тогда риск выше.

Approve

Это разрешение смарт-контракту работать с определённым токеном. Например: «Разрешаю контракту 0x… тратить до 1000 USDT от моего имени». Если вы дали слишком большой лимит или одобрили сомнительный контракт — он может использовать это разрешение.

Unlimited Approval (неограниченный approve)

Когда MetaMask предлагает подтвердить «Spending Cap: Unlimited» — это означает, что контракт получает разрешение на все токены данного типа в кошельке, без ограничения по сумме. Многие легитимные dApp запрашивают именно такое разрешение для удобства, но в случае со скамом это путь к полной потере токенов.

Permit

Более опасный вариант approve: разрешение выдаётся через подпись сообщения, без отдельной транзакции. Оно не всегда видно как approve в истории, что усложняет проверку. Результат тот же — смарт-контракт может распоряжаться токеном.

Set Approval For All

Специфический тип разрешения для NFT. Даёт контракту доступ ко всей коллекции, не к одному токену. Особенно опасен на фишинговых NFT-сайтах.

Ввод seed-фразы или приватного ключа на сайте

Это не подпись в техническом смысле — это передача полного контроля над кошельком. После этого шага кошелёк считается скомпрометированным. Новый кошелёк обязателен.

О том, как устроен криптокошелёк и почему seed-фраза — это фактически сам кошелёк, а не просто «пароль», читайте в материале что такое криптовалютный кошелёк: полное руководство.


Disconnect и Revoke: почему это не одно и то же

Это один из самых важных концептуальных моментов — и один из самых частых источников ошибок.

Когда пользователь осознаёт, что подключился к сомнительному сайту, первый рефлекс — нажать «Disconnect» в MetaMask. Интуиция понятна: «отключился — значит, защитился». На практике это не так.

Disconnect разрывает активное соединение между интерфейсом кошелька и сайтом. После disconnect сайт не может инициировать новые запросы через ваш кошелёк — но он не отзывает те разрешения, которые уже были подписаны. Если вы дали approve контракту — этот approve продолжает существовать в блокчейне.

Revoke — это отзыв уже выданного разрешения. Это отдельная транзакция в блокчейне, которая записывает: «Разрешение, выданное ранее, отменяется». Revoke требует комиссии сети (gas fee).

Действие Что делает Чего не делает
Disconnect Убирает активное соединение сайта с кошельком Не отменяет уже подписанный approve
Revoke Отзывает разрешение смарт-контракта Требует комиссию; не возвращает уже списанное
Перенос токенов Спасает остаток средств на новом адресе Не очищает разрешения старого кошелька
Новый кошелёк Снижает риск будущих списаний Не возвращает украденные токены

Понимая эту разницу, становится ясно: после подозрительного сайта одного disconnect недостаточно. Нужно проверять именно approvals.


Как проверить разрешения кошелька: пошаговый разбор

Проверка token approvals — это просмотр того, каким смарт-контрактам и на сколько токенов вы дали разрешение. Это делается через блокчейн-обозреватели или специализированные инструменты.

Шаг 1: Определите сеть

Разрешения существуют отдельно для каждой сети. Один кошелёк (один адрес) работает в нескольких сетях, но approvals в Ethereum не видны из BNB Smart Chain и наоборот.

Определите, в какой сети происходило взаимодействие с сайтом:

Если вы не уверены, в какой сети был активен кошелёк — проверьте настройки MetaMask. Активная сеть показана в верхней части интерфейса. О том, в какой сети работает MetaMask и какие сети он поддерживает — смотрите в настройках расширения: вкладка Networks показывает все добавленные сети.

Как правильно определить сеть перед переводом USDT — в материале как проверить сеть перед переводом USDT TRC20/ERC20/TON.

Шаг 2: Откройте проверку approvals для нужной сети

Для каждой сети существует блокчейн-обозреватель с разделом token approvals:

  • Ethereum — etherscan.io, раздел Token Approvals
  • BNB Smart Chain — bscscan.com, раздел Token Approvals
  • Polygon — polygonscan.com
  • Arbitrum — arbiscan.io
  • TRON — tronscan.org

В каждом из этих обозревателей нужно ввести ваш адрес кошелька в поиске, перейти в раздел Token Approvals — и вы увидите список всех активных разрешений.

Шаг 3: Проанализируйте список разрешений

Для каждого разрешения в списке обратите внимание на:

  • Токен — что именно разрешено (USDT, USDC, другие)
  • Spender — адрес смарт-контракта, которому выдано разрешение
  • Allowance — сколько токенов разрешено (конкретная сумма или Unlimited)
  • Дата — когда выдано разрешение

Совместите дату с моментом, когда вы взаимодействовали с подозрительным сайтом. Если разрешение появилось именно тогда — это кандидат на отзыв.

Шаг 4: Проверьте контракт spender

Адрес контракта-spender можно проверить в том же блокчейн-обозревателе. Посмотрите:

  • Верифицирован ли контракт (есть ли исходный код)
  • Как давно он создан
  • Сколько транзакций через него прошло
  • Есть ли жалобы или пометки о скаме

Совсем новый контракт без истории, созданный несколько дней назад — тревожный сигнал.

Шаг 5: Сохраните скрин до revoke

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


Как отозвать разрешение (Revoke): практические способы

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

Способ 1: Через блокчейн-обозреватель напрямую

На Etherscan (и аналогах) в разделе Token Approvals напротив каждого разрешения есть кнопка «Revoke». Нажмите — откроется запрос в MetaMask на подтверждение транзакции. Подтвердите, заплатите комиссию — разрешение отозвано.

Это самый прозрачный способ: вы видите ровно то, что отзываете, без посредников.

Способ 2: Через агрегаторы approvals

Существуют специализированные сервисы, которые показывают все approvals сразу по нескольким сетям и позволяют отзывать их в один клик. Среди них — revoke.cash, DeBank, Rabby Wallet (встроенная функция). Они удобны, если у вас много разрешений или активность в нескольких сетях.

При использовании любого такого сервиса убедитесь, что подключаетесь к нему через официальный домен, проверенный из надёжного источника — а не по рекламной ссылке.

Способ 3: Через интерфейс MetaMask

В MetaMask есть встроенный раздел «Connected Sites», но он отвечает только за disconnect от dApp, не за отзыв approvals. Для revoke нужно использовать один из способов выше.

Начиная с версий MetaMask с поддержкой «Permissions» — там видно, каким сайтам разрешено подключение, но не управление токенами. Не путайте эти два раздела.

Сколько стоит revoke

Стоимость зависит от текущей загрузки сети и сложности транзакции. В сети Ethereum revoke может стоить от нескольких центов до нескольких долларов. В BNB Smart Chain — значительно дешевле. В сети TRON — свои правила (там используется «энергия», а не ETH).

Если у вас нет ETH или BNB для оплаты комиссии — это серьёзная проблема. В этом случае можно:


Что делать, если USDT ещё на месте

Это лучший сценарий — вы успели вовремя. Пошаговый план:

1. Не возвращайтесь на подозрительный сайт. Ни под каким предлогом. Даже «просто проверить».

2. Откройте список approvals для нужной сети (шаги описаны выше).

3. Найдите разрешение, выданное контракту сайта.

4. Оцените лимит. Если там написано «Unlimited» — это приоритетный кандидат на revoke. Если сумма конкретная — проверьте, соответствует ли она тому, что вы ожидали.

5. Выполните revoke через блокчейн-обозреватель или агрегатор.

6. Проверьте pending transactions в MetaMask. Если есть зависшая транзакция — разберитесь с ней: можно попробовать отменить или ускорить (speedup) с более высоким gas fee.

7. После revoke проверьте баланс — убедитесь, что токены на месте.

8. Если сомнения остаются — переведите USDT на новый, чистый кошелёк. Создайте его с нуля, запишите seed-фразу на бумагу и никогда не вводите её на сайтах.

Как безопасно отправить крипту и не потерять средства на маршруте — в материале как отправить крипту на кошелёк и не потерять перевод.


Что делать, если USDT уже списали

Это тяжёлая ситуация, но действовать нужно методично. Главное — не поддаться на вторичные схемы «возврата».

Чего делать категорически нельзя

  • Не платить «комиссию за возврат». Это 100% дополнительное мошенничество. Никто не возвращает украденные токены за предоплату.
  • Не писать в «recovery»-чаты в Telegram или Discord. «Специалисты по возврату крипты» — это отдельная категория мошенников, которые охотятся именно на пострадавших.
  • Не вводить seed-фразу для «проверки» или «восстановления».
  • Не подписывать новые транзакции на сайтах, которые обещают вернуть токены.

Что нужно сделать

Шаг 1. Найдите TxID списания.

Откройте блокчейн-обозреватель для нужной сети, введите адрес вашего кошелька. В истории транзакций найдите подозрительный исходящий перевод — это и есть TxID списания. Как читать историю транзакций USDT — в материале как проверить транзакцию USDT по TxID в блокчейне.

Шаг 2. Сохраните адрес получателя.

Из транзакции видно, на какой адрес ушли токены. Сохраните его.

Шаг 3. Сохраните адрес смарт-контракта.

Если списание произошло через approve — в транзакции видно, какой контракт выступил посредником.

Шаг 4. Зафиксируйте домен сайта.

Скрин адресной строки браузера с датой — важное доказательство.

Шаг 5. Проверьте активные approvals.

Даже после списания могут оставаться другие активные разрешения на другие токены. Их нужно отозвать.

Шаг 6. Перенесите остатки.

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

Шаг 7. Задокументируйте всё.

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


Как создать новый кошелёк после компрометации

Если seed-фраза была введена на сайте, или если вы уверены, что кошелёк скомпрометирован — старый адрес нельзя использовать для хранения. Нужен новый.

Правила создания нового кошелька:

  • Создайте его на чистом устройстве или в чистом браузере без подозрительных расширений.
  • Seed-фразу запишите на бумагу, не в цифровом виде.
  • Не сохраняйте seed-фразу в облаке, мессенджерах, почте.
  • Не вводите seed-фразу нигде, кроме официального интерфейса самого кошелька при необходимости восстановления.

При переносе активов:

  • Переводите USDT и другие токены на новый адрес небольшими тестовыми суммами сначала.
  • Убедитесь, что адрес новой сети выбран правильно. Если вы переводите ERC-20 USDT — используйте адрес сети Ethereum. Если USDT TRC-20 — сеть TRON.
  • Не переносите одновременно все активы в одной транзакции, если не уверены в правильности сети.

Если при переводе возникнет ошибка сети — подробности в материале USDT ушёл не в той сети: что можно сделать.


Красные флаги фишингового Web3-сайта

Как понять, что сайт, просящий подключить кошелёк, — мошеннический? Вот конкретные признаки, которые должны остановить вас до подписи.

Признаки фишингового dApp

До подключения:

  • Сайт открыт по рекламной ссылке в поиске или в социальной сети
  • Домен похож на известный проект, но содержит лишний символ, другую зону (.xyz, .io вместо .com) или цифру
  • Обещают бесплатный airdrop, whitelist, ранний доступ, «проверку токенов» или «разблокировку кошелька»
  • Таймер обратного отсчёта давит: «Только 23 минуты»
  • Нет белого списка проекта в официальных соцсетях

При подключении и подписи:

  • Запрашивают unlimited approval на все токены
  • Окно транзакции содержит непонятный адрес контракта, который невозможно опознать
  • Не указана конкретная сумма — только «Unlimited Spending Cap»
  • Появляется ошибка, и сайт просит подписать повторно
  • После «ошибки» сайт предлагает перейти в Telegram/Discord для «разблокировки»

После взаимодействия:

  • Обещанный airdrop, NFT или бонус не появился
  • Сайт просит ввести seed-фразу «для синхронизации»
  • Сайт предлагает установить расширение для «корректной работы»

Тема фишинга в крипте не ограничивается только Web3-сайтами. Схожие приёмы используются и в P2P-сделках: когда покупатель пытается перевести переговоры в мессенджер — это та же попытка вывести вас из защищённого периметра. Подробнее — в материале P2P-сделка: просят перейти в Telegram.


Типы wallet drainer: как работают мошеннические схемы

Wallet drainer — это технически продвинутый инструмент кражи криптовалюты через подпись в кошельке. Понимание того, как он работает, помогает не попасться.

Drainer через поддельный airdrop

Пользователь видит публикацию в Twitter/X, Discord или Telegram: «Claim your airdrop». Ссылка ведёт на красиво оформленный сайт. При клейме нужно «подтвердить транзакцию». Внутри транзакции — permit или approve на unlimited amount. После подтверждения drainer в течение секунд выводит всё доступное.

Drainer через фейковый mint NFT

«Выпусти свой NFT бесплатно» или «Бесплатный mint для подписчиков». Форма mint содержит скрытый вызов setApprovalForAll — это даёт контракту доступ ко всем NFT коллекции.

Drainer через рекламу в поиске

Пользователь ищет «Uniswap», «1inch», «Curve» и нажимает на первую ссылку — а она рекламная и ведёт на фишинговый домен. Интерфейс идентичен оригиналу. Но approve уходит на вредоносный контракт.

Drainer через Discord

В официальных Discord-серверах популярных проектов боты пишут в личку: «Вы выиграли whitelist, кликните сюда». Ссылка — на drainer.

Permit-drainer

Самый незаметный вариант. Вместо approve запрашивается подпись сообщения типа permit. Это выглядит безопаснее, потому что не создаёт видимой транзакции в истории. Но permit-подпись содержит разрешение, которое контракт позже использует для transfer. Итог тот же — токены уходят.

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


Чек-лист перед подключением кошелька к любому сайту

Пять минут на проверку могут сохранить все ваши токены. Распечатайте и держите рядом.

Проверка сайта:

  • ☐ Домен введён вручную или взят из официального источника проекта
  • ☐ Не переходил по рекламной ссылке
  • ☐ Проверил официальные соцсети проекта — ссылка соответствует
  • ☐ Домен не содержит подозрительных символов или нестандартных зон
  • ☐ Сайт работает на HTTPS

Перед подписью:

  • ☐ Для dApp использую отдельный «горячий» кошелёк с небольшой суммой
  • ☐ Крупные USDT хранятся на отдельном адресе, который я никогда не подключаю к сайтам
  • ☐ Читаю окно транзакции MetaMask полностью
  • ☐ Вижу конкретный токен и конкретную сумму, а не «Unlimited»
  • ☐ Адрес контракта мне известен или проверен в обозревателе

При approve:

  • ☐ Не подтверждаю unlimited approval без понимания причины
  • ☐ Изменяю spending cap на конкретную сумму, если сайт позволяет
  • ☐ Не подписываю повторно после «ошибки»

После взаимодействия:

  • ☐ Проверяю approvals
  • ☐ Отзываю разрешения, которые больше не нужны
  • ☐ Disconnecting от dApp через интерфейс MetaMask

Как хранить USDT безопасно: принцип разделения кошельков

Лучшая защита — архитектурная. Если ваши USDT находятся на адресе, который вы никогда не подключаете к Web3-сайтам, — риск потерять их через approve равен нулю.

Рекомендуемая структура:

Холодное хранение. Основная сумма USDT — на аппаратном кошельке (Ledger, Trezor) или на адресе, созданном в офлайн-режиме. Этот адрес не подключается к сайтам. Никогда.

Горячий кошелёк для операций. Отдельный MetaMask-адрес (не связанный с холодным хранилищем, то есть другая seed-фраза). На нём — только сумма, нужная для текущей операции. Подключение к dApp — только с этого кошелька.

Биржевой аккаунт. Если USDT используются для P2P или торговли — держите их на бирже с включённой двухфакторной аутентификацией.

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

О том, как проверить происхождение USDT перед их получением и защититься от токенов с высоким AML-риском, — в материале грязные USDT пришли на кошелёк: как проверить AML-риск и что делать дальше.


Что нельзя вводить на сайтах: правило без исключений

Этот блок короткий, но абсолютный.

Нельзя вводить ни на каком сайте:

  • Seed-фразу (мнемоническую фразу восстановления)
  • Приватный ключ
  • Пароль от биржи
  • Код из SMS-сообщения
  • Код из Google Authenticator
  • Данные для входа в почту, к которой привязан крипто-аккаунт

Реальный Web3-сайт для работы с кошельком никогда не просит seed-фразу. Никогда не просит приватный ключ. Если сайт просит ввести любое из вышеперечисленного — это мошенничество без исключений.

Если вы всё же ввели seed-фразу — немедленно создайте новый кошелёк и переводите все активы. Каждая минута промедления увеличивает риск потери.

Как работают платные криптоканалы в Telegram, которые нередко маскируют похожие схемы — в материале платный криптоканал в Telegram: как проверить перед оплатой подписки.


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

Опасно ли просто подключить кошелёк к сайту?

Само подключение показывает сайту ваш публичный адрес. Это не опасно само по себе — адрес и так виден всем в блокчейне. Риск начинается с подписи транзакции или approve. Но подключаться к фишинговым сайтам не стоит даже без подписи: это открывает путь к социальной инженерии.

Что такое approve в MetaMask?

Approve — это транзакция-разрешение, которая говорит смарт-контракту: «Ты можешь работать с токеном X от моего имени в пределах суммы Y». После approve контракт может использовать это разрешение без вашей дополнительной подписи — пока разрешение не будет отозвано (revoke).

Что такое unlimited approval и почему это опасно?

Unlimited approval (или Unlimited Spending Cap) означает, что контракту разрешено использовать все ваши токены данного типа — без ограничения. Если контракт мошеннический, он может немедленно вывести весь баланс.

Может ли сайт списать USDT без моей новой подписи?

Если вы уже подписали approve на этот контракт — да, может, в пределах выданного разрешения, без новой подписи. Именно поэтому revoke так важен.

Почему disconnect не всегда защищает?

Disconnect убирает активное соединение интерфейса, но не отменяет уже существующий approve в блокчейне. Approve — это запись в смарт-контракте токена, которая не связана с тем, подключён ли сейчас сайт.

Как отозвать разрешение на USDT?

Откройте блокчейн-обозреватель нужной сети (Etherscan для ERC-20, BscScan для BEP-20 и т.д.), введите адрес кошелька, найдите раздел Token Approvals, найдите разрешение на USDT нужному контракту, нажмите Revoke и подтвердите транзакцию в MetaMask.

Нужна ли комиссия сети для revoke?

Да. Revoke — это транзакция, которая требует газа. В сети Ethereum нужен ETH, в BNB Chain — BNB, в Polygon — MATIC. Без нативной валюты выполнить revoke невозможно — нужно купить немного газа.

Что делать, если токены уже списали?

Не платить «комиссию за возврат», не писать в recovery-чаты. Сохранить TxID, адрес получателя, адрес контракта, домен сайта. Отозвать оставшиеся approvals. Перевести остатки на новый кошелёк. Зафиксировать доказательства.

Можно ли вернуть украденные USDT?

В большинстве случаев — крайне сложно. Транзакции в блокчейне необратимы. Можно отследить маршрут токенов, передать данные на биржу, куда они ушли (если ушли), и сообщить в правоохранительные органы. Но гарантии возврата нет.

Нужно ли создавать новый кошелёк после подозрительной подписи?

Зависит от типа подписи. Если вы ввели seed-фразу — новый кошелёк обязателен немедленно. Если подписали approve или permit — сделайте revoke и оцените ситуацию. Если не уверены в безопасности — перенос активов на новый адрес лишним не будет.

Как проверить сайт перед подключением кошелька?

Проверьте домен вручную через официальные соцсети проекта. Не переходите по рекламным ссылкам. Убедитесь, что сайт работает на HTTPS. Перед подписью проверьте адрес контракта в блокчейн-обозревателе. Используйте для dApp отдельный горячий кошелёк с минимальным балансом.


Работа с Web3-кошельками и dApp — это свобода и ответственность одновременно. В отличие от банков, здесь нет службы поддержки, которая отменит транзакцию, и нет страховки по депозиту. Каждая подпись — это ваше решение. Именно поэтому понимание разницы между подключением, подписью, approve, permit и seed-фразой — не опциональное знание, а базовая грамотность в крипте.

Проверяйте разрешения регулярно, отзывайте лишние approvals, храните крупные суммы на холодном адресе и никогда не вводите seed-фразу на сайтах.

Все материалы по защите кошелька, проверке рисков и решению проблем собраны в разделах Защитить кошелёк и Проверить риски.