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

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

Как устроен механизм и где здесь деньги

Токен ликвидности — расписка на долю в пуле. По документации Uniswap v2, при внесении средств в пул «порождаются уникальные токены, известные как токены ликвидности, и отправляются на адрес поставщика», а чтобы забрать свою часть вместе с накопленными комиссиями, поставщик «обязан сжечь свои токены ликвидности». Эта расписка — обычный переводимый токен, и в ней весь смысл блокировки.

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

Блокировка закрывает именно эту дыру. Расписка уходит в сторонний контракт с таймлоком или сжигается. Для покупателя разница принципиальна: в первом случае ликвидность вернётся владельцу после срока, во втором не вернётся никогда и ни к кому.

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

Как проверить блокировку токенов ликвидности и оценить нагрузку на кошелёк

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

  1. Найти адрес контракта пары в официальной документации проекта и открыть его в обозревателе сети.
  2. Прочитать общий выпуск токена ликвидности функцией totalSupply на вкладке чтения контракта.
  3. Посмотреть держателей расписки и найти адрес, на котором лежит основная доля.
  4. Открыть этот адрес: если это контракт-локер, прочитать его код и срок разблокировки.
  5. Проверить владельца локера и минимальную задержку, если управление идёт через таймлок.
  6. Сопоставить заблокированную долю с общим выпуском — блокировка части расписок защищает только эту часть.
Схема из пяти шагов: адрес пары из документации, чтение общего выпуска расписок, поиск держателя основной доли, разбор контракта-локера и срока, расчёт заблокированной доли
Схема из пяти шагов: адрес пары из документации, чтение общего выпуска расписок, поиск держателя основной доли, разбор контракта-локера и срока, расчёт заблокированной доли

Про таймлок стоит знать одну деталь. В реализации OpenZeppelin Contracts 5.x функция getMinDelay «возвращает минимальную задержку в секундах, по истечении которой операция становится действительной», а права разложены по ролям: PROPOSER_ROLE «отвечает за планирование и отмену операций», EXECUTOR_ROLE «отвечает за исполнение операций после истечения таймлока». Читая локер, смотрите не только срок, но и держателей этих ролей: адрес с правом планирования операций способен изменить задержку, если такая операция у контракта предусмотрена.

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

Шаг Тип операции Подписи и газ
Чтение totalSupply и balanceOf у контракта пары Вызов функции просмотра, состояние сети не меняется Ноль подписей, ноль газа: обозреватель выполняет вызов на своём узле
Чтение срока разблокировки и ролей локера Вызов функции просмотра у контракта-локера Ноль подписей, ноль газа: кошелёк для этого подключать не требуется
Подключение кошелька к панели протокола Передача сайту публичного адреса, иногда с подписью сообщения Одна подпись, газа нет; прав над средствами подпись не даёт, но и к проверке не относится
Выдача разрешения на токен перед входом в пул Транзакция approve, меняет состояние контракта токена Одна подпись и газ за транзакцию; разрешение остаётся действующим после операции
Внесение средств в пул Транзакция добавления ликвидности Одна подпись и газ; для пары токенов разрешений нужно два, значит и транзакций больше
Отзыв выданного разрешения Транзакция approve с нулевым значением Одна подпись и газ за каждое разрешение по отдельности

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

Какие разрешения выдаются и как их потом снять

Стандарт ERC-20 в статусе Final, создан 19 ноября 2015 года. Функция approve в нём описана ясно: она «позволяет указанному получателю снимать с вашего счёта многократно, в пределах указанной суммы». Срока у этого права нет. Оно сохраняется, пока владелец не изменит значение отдельной транзакцией, и ни закрытие позиции, ни уход протокола с рынка его не отменяют.

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

Условный расчёт нагрузки. Пусть средняя комиссия транзакции в вашей сети равна X. Вход в пул из пары токенов — два разрешения плюс добавление ликвидности, то есть 3X. Выход — сжигание расписки, ещё X. Уборка двух разрешений — 2X. Полный цикл обходится в 6X против нулевого расхода на проверку блокировки. Цифры условные: газ в Ethereum складывается из сжигаемой базовой платы и приоритетной надбавки, сверяйте его по обозревателю на дату операции.

Подписанные разрешения ведут себя иначе. По стандарту ERC-2612 в статусе Final, созданному 13 апреля 2020 года, подпись permit ограничена картой nonces, которая «дана для защиты от повторного воспроизведения», и полем deadline, которым владелец «может ограничить срок действия разрешения». Такая подпись одноразовая и истекает сама, но выданный ею allowance после исполнения остаётся — и снимается тем же обнулением.

  • Адрес контракта пары взят из официальной документации проекта.
  • Общий выпуск расписок и доля на локере посчитаны, а не приняты на слово.
  • Срок разблокировки и держатели ролей таймлока прочитаны в контракте.
  • Ни одна подпись в ходе проверки не запрашивалась.
  • Действующие разрешения на кошельке пересмотрены и лишние обнулены.

Сценарий, при котором позиция теряется

Блокировка расписок не защищает от трёх вещей. Первая — права управления самим протоколом: кто и как меняет параметры, выясняется отдельно, и об этом есть разбор о том, как проверить, кто управляет параметрами протокола. Вторая — выпуск новых токенов, который размывает долю держателей без касания пула. Третья — ошибка в коде, которая не зависит ни от блокировки, ни от сроков.

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

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

Итог

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

Расход на уборку разрешений стоит закладывать в стоимость входа заранее. Тем, кто держит позиции в нескольких протоколах, пригодится понимание структуры комиссий при переносе средств — об этом есть отдельный разбор о том, как перенести долг между протоколами и понять структуру комиссий.

Материалы по теме

Частые вопросы

Нужно ли подключать кошелёк, чтобы проверить блокировку ликвидности?

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

Сколько транзакций требует вход в пул и выход из него?

Для пары токенов обычно три на вход: два разрешения и само добавление ликвидности. Выход — одна транзакция сжигания расписки. Добавьте по одной транзакции на обнуление каждого разрешения, если убираете их за собой. Итого от четырёх до шести операций, каждая со своим газом.

Как снять разрешение, выданное протоколу?

Вызвать approve для того же получателя с нулевым значением — это отдельная транзакция, и по газу она сопоставима с выдачей. Делать это нужно для каждого токена и каждого получателя в отдельности. Подпись permit отзывать не требуется: она одноразовая, но выданный ею allowance снимается тем же обнулением.

Означает ли блокировка расписок, что проект безопасен?

Нет. Блокировка закрывает один сценарий — вывод ликвидности владельцем расписки. Она не затрагивает права на выпуск новых токенов, возможность менять параметры контракта и ошибки в коде. Полная потеря вложенной суммы остаётся возможной. Доходность в DeFi не сопоставима с банковским вкладом ни по риску, ни по защите.

Что важнее: срок блокировки или заблокированная доля?

Доля. Длинный срок на десяти процентах расписок защищает десять процентов ликвидности, а остальное выводимо в любой момент. Считайте дробь: баланс локера, поделённый на общий выпуск. После этого смотрите срок и держателей ролей таймлока, которые могут этот срок изменить.

Вердикт

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

Разборы контрактов и предупреждения о подменных панелях выходят в Telegram-канале Cryptium.

Источники фактуры: спецификация ERC-20 о функциях approve и allowance и документация TimelockController в OpenZeppelin Contracts 5.x. Данные проверены на 15 октября 2026 года; ставки, объём средств в протоколе и адреса контрактов сверяйте на дату операции.