Что такое Token Approval и почему сайт может получить право тратить ваши USDT

Пользователь подключает криптокошелёк к сайту, хочет обменять USDT и видит кнопку:

Approve USDT

На первый взгляд может показаться, что это обычное подтверждение операции.

Но технически Token Approval — это разрешение другому адресу или смарт-контракту использовать определённое количество ваших токенов.

Именно поэтому важно понимать, что вы подтверждаете: неправильный Approval может дать стороннему контракту возможность списывать токены с вашего адреса.

Разберёмся простыми словами.

Что такое Token Approval

Token Approval — это механизм, который используется токенами в сетях со смарт-контрактами.

Например, он распространён у ERC-20 токенов в Ethereum и совместимых EVM-сетях.

Представим, что на вашем кошельке находится:

1 000 USDT

Вы хотите обменять 100 USDT через децентрализованный сервис.

Смарт-контракт сервиса не может просто взять эти 100 USDT с вашего кошелька.

Сначала вы должны разрешить ему это сделать.

Для этого создаётся операция:

Approve → разрешить контракту использовать до 100 USDT

После этого контракт получает так называемый allowance.

Что такое Allowance

Allowance — это максимальное количество токенов, которое определённый адрес или контракт может списать от имени владельца.

Например:

Баланс: 1 000 USDT
Allowance для контракта: 100 USDT

Контракт сможет использовать до 100 USDT.

Оставшиеся 900 USDT это разрешение не затрагивает.

Важно понимать:

Approval не означает немедленную отправку токенов.

Это именно выдача права на их последующее использование.

Зачем вообще нужен Approval

Представим DEX — децентрализованную биржу.

Вы хотите обменять:

100 USDT → ETH

Смарт-контракт должен сначала получить возможность забрать 100 USDT с вашего адреса.

Поэтому процесс часто выглядит так:

1. Подключить кошелёк
2. Нажать Approve USDT
3. Подтвердить Approval в кошельке
4. Выполнить сам обмен

То есть Approval и Swap — это две разные операции.

Что происходит после Approval

После подтверждения разрешение записывается в состоянии токен-контракта.

Условно:

Владелец: 0xUSER...

Spender: 0xCONTRACT...

Allowance: 100 USDT

После этого указанный spender может использовать стандартный механизм вроде transferFrom и переместить разрешённое количество токенов согласно логике контракта.

Кто такой Spender

Spender — это адрес, которому вы предоставляете разрешение.

Им может быть:

  • DEX;

  • bridge;

  • DeFi-протокол;

  • платежный смарт-контракт;

  • другой сервис.

Именно адрес spender особенно важно проверять.

Пользователь может думать, что разрешает доступ известному сервису, а на самом деле вредоносный сайт предложит подписать Approval для совершенно другого адреса.

Может ли сайт просто забрать USDT после подключения кошелька

Обычное подключение кошелька само по себе обычно не даёт сайту права тратить ваши токены.

Например, после подключения сайт может увидеть:

  • публичный адрес;

  • выбранную сеть;

  • публичный баланс;

  • другие данные, доступные через блокчейн.

Но право на использование токенов появляется только после соответствующего разрешения или другой авторизующей подписи/транзакции.

Поэтому:

Connect Wallet ≠ Approval

и

Approval ≠ обычный просмотр баланса.

Почему Unlimited Approval опаснее

Некоторые приложения предлагают не разрешение на конкретную сумму, а практически неограниченный allowance.

Например, вместо:

Разрешить 100 USDT

создаётся очень большое разрешение, которое интерфейс может показывать как:

Unlimited USDT

Зачем это делают?

Чтобы пользователю не приходилось каждый раз платить комиссию за новый Approval.

Это удобно.

Но есть и риск.

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

Простой пример

На кошельке:

5 000 USDT

Пользователь выдаёт неизвестному контракту:

Unlimited Approval

Сегодня он использует сервис для обмена 50 USDT.

Через неделю на этот же адрес поступает ещё 3 000 USDT.

Старый Approval при этом может оставаться активным.

То есть разрешение не обязательно исчезает после одной операции.

Именно поэтому важно контролировать старые allowances.

Approval не передаёт приватный ключ

Это важное отличие.

Когда пользователь выдаёт Approval, он не раскрывает seed-фразу или приватный ключ.

Но он сам подписывает blockchain-транзакцию, которая предоставляет определённые права другому адресу.

Поэтому средства могут оказаться под угрозой даже без кражи seed-фразы.

Злоумышленнику иногда достаточно убедить пользователя самостоятельно подтвердить опасное разрешение.

Как этим пользуются мошенники

Типичная схема может выглядеть так:

Пользователь видит сайт с предложением:

«Получите бесплатный airdrop»

или

«Подтвердите кошелёк»

Он подключает кошелёк.

Сайт предлагает нажать:

Approve

Пользователь подтверждает операцию, не проверяя детали.

В результате разрешение получает адрес злоумышленника или вредоносный контракт.

Дальше токены могут быть списаны в пределах предоставленного allowance.

Почему окно кошелька нужно читать внимательно

Перед подтверждением кошелёк обычно показывает информацию об операции.

Нужно обращать внимание на:

  • какой токен используется;

  • какую сумму разрешают;

  • какому spender выдаётся доступ;

  • какая сеть выбрана;

  • действительно ли вы сейчас ожидаете Approval.

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

Approval и обычный перевод — в чём разница

Обычный перевод:

Ваш кошелёк → отправляет 100 USDT → получателю

Approval:

Ваш кошелёк → разрешает контракту использовать до 100 USDT

То есть при Approval сами токены могут пока оставаться на вашем адресе.

Меняется именно право другого адреса взаимодействовать с ними в пределах разрешённой суммы.

Почему после обмена Approval может остаться

Допустим, вы разрешили контракту использовать:

1 000 USDT

а затем обменяли только:

200 USDT

В зависимости от механики токена и контракта оставшийся allowance может по-прежнему существовать.

Поэтому после использования DeFi-сервисов у одного кошелька со временем может накопиться много старых разрешений.

Можно ли удалить Approval

Да.

Allowance можно изменить.

Обычно пользователь может:

  • уменьшить разрешённую сумму;

  • установить allowance в 0;

  • выдать новое разрешение.

Установка allowance в ноль обычно называется revoke approval.

Это не возвращает уже списанные средства, но прекращает дальнейшее использование токенов через конкретное разрешение.

Где посмотреть старые разрешения

В некоторых кошельках есть собственный раздел для approvals.

Также существуют blockchain explorers и специализированные интерфейсы, позволяющие проверить:

  • каким контрактам были выданы разрешения;

  • для каких токенов;

  • какой установлен лимит;

  • остаётся ли разрешение активным.

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

Нужно ли отзывать все Approval

Не обязательно автоматически удалять абсолютно всё.

Некоторые разрешения нужны сервисам, которыми пользователь регулярно пользуется.

Но имеет смысл периодически проверять:

  • неизвестные контракты;

  • сервисы, которыми вы больше не пользуетесь;

  • Unlimited Approval;

  • разрешения на значительные суммы.

Чем меньше ненужных активных разрешений, тем меньше потенциальная поверхность риска.

Что такое Permit

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

Также существуют системы вроде Permit2, которые используются некоторыми приложениями для управления разрешениями.

Для пользователя смысл остаётся похожим:

подпись может предоставить право на использование токенов.

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

Почему кнопка Sign тоже требует внимания

Не каждая подпись опасна.

Многие сайты используют подпись только для авторизации:

«Докажите, что вы владеете этим адресом».

Но некоторые подписи могут быть связаны с разрешениями или последующими операциями.

Поэтому нельзя автоматически считать:

«Это всего лишь Sign, значит деньги точно не затрагиваются».

Всегда важно понимать содержание запроса.

Что делать, если вы случайно дали подозрительный Approval

Если вы заметили неизвестное разрешение, стоит действовать быстро.

Обычно разумная последовательность такая:

  1. Не взаимодействовать с подозрительным сайтом дальше.

  2. Проверить активные allowances.

  3. Отозвать подозрительное разрешение.

  4. Проверить историю транзакций.

  5. Убедиться, что токены ещё находятся на адресе.

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

Что это значит для пользователей IXIDE

При обычном обмене через IXIDE не следует подтверждать неизвестные Token Approval или подключать кошелёк к сторонним сайтам только потому, что кто-то представился поддержкой.

Если при выполнении сторонней операции кошелёк предлагает:

Approve USDT

обратите внимание:

  • какой сервис запросил разрешение;

  • какому контракту оно выдаётся;

  • на какую сумму;

  • в какой сети.

Для обычной проверки TXID, статуса заявки или получения информации о переводе предоставлять стороннему человеку право распоряжаться токенами не требуется.

IXIDE рекомендует

Перед каждым Approval задайте себе три вопроса:

Какому контракту я даю доступ?

К какому токену?

На какую сумму?

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

Главное

Token Approval — это не перевод токенов, а разрешение другому адресу или контракту использовать их.

Запомните:

Connect Wallet — подключение кошелька.

Approve — выдача разрешения.

Allowance — размер этого разрешения.

Revoke — его отзыв.

И главное правило для новичка:

не подтверждайте Token Approval автоматически. Сначала проверьте токен, spender и размер разрешения.