Надпись Liquidity Locked на сайте токена не доказывает безопасность. Она может относиться к небольшому пулу, истёкшему сроку, неизвестному locker contract или вообще к другой сети. Проверка начинается с точного адреса токена и пула, а заканчивается анализом прав владельца контракта.
«Ликвидность заблокирована» и «ликвидность сожжена» – разные утверждения. В пуле типа Uniswap V2 доля представлена взаимозаменяемыми LP-токенами. Их можно положить в timelock либо отправить на адрес, откуда никто не способен вернуть их. В концентрированных пулах V3 доля обычно оформлена как уникальная NFT-позиция с диапазоном цен, поэтому привычный процент LP supply к ней неприменим.
Сначала найдите настоящий пул
Скопируйте contract address токена из проверенного объявления проекта и откройте его в обозревателе нужной сети. Название и тикер копируются за минуты. Затем найдите DEX factory и вызов создания пары либо прочитайте пару через factory. Адрес из рекламного баннера или карточки агрегатора лучше подтвердить onchain.
У токена может быть несколько рынков: пара со стейблкоином, пара с нативной монетой, разные DEX и несколько fee tiers. Команда способна заблокировать долю в маленьком второстепенном пуле, оставив основной под своим контролем. Запишите адреса всех пулов, их резервы, объём и долю реальной торговли.
Проверьте token0 и token1 пула. Контракт с похожим именем может содержать поддельную стабильную монету или обёртку. Общий принцип разобран в обзоре механики Uniswap: пул определяется адресами активов и factory, а не текстовыми метками.
Как устроена проверка пула V2
В модели V2 поставщик вносит два актива и получает ERC-20 LP-токены, отражающие пропорциональную долю пула. Чтобы изъять резервы, владелец передаёт LP-токены в pair contract и вызывает burn. Следовательно, контроль над LP-токенами означает возможность убрать соответствующую долю ликвидности.
У pair contract прочитайте factory, token0, token1, getReserves и totalSupply. Резервы показывают глубину в конкретный момент, а total supply служит знаменателем для распределения LP. Затем откройте список держателей самого LP-токена, а не список держателей торгуемого актива.
При первом добавлении ликвидности Uniswap V2 навсегда выпускает минимальную долю LP на нулевой адрес. Этот технический минимум защищает расчёт долей, но не доказывает, что команда сожгла остальную ликвидность. Если обозреватель показывает крошечный zero-address balance, а основной пакет LP лежит у создателя, вывести почти весь резерв по-прежнему возможно.
Что означает сожжённая ликвидность
Сожжение обычно означает перевод LP-токенов на адрес, ключ к которому недоступен, например общепринятый burn address. Такие LP нельзя вернуть и использовать для вывода соответствующей доли резервов. У операции нет даты разблокировки.
Проверьте событие Transfer, адрес отправителя, получателя и точную сумму. Затем разделите реально сожжённый баланс на общий LP supply. Не доверяйте числу без единиц и decimals. Если supply менялся, долю нужно пересчитать по текущему состоянию, а не по старому скриншоту.
Сожжение LP не блокирует сам токен и не делает проект честным. Создатель может сохранить большой баланс токена, выпустить новые монеты при наличии функции mint, изменить налоги, запретить продажу, создать другой пул или продать через оставшуюся ликвидность. Отдельно проверьте признаки honeypot-токена и концентрацию владельцев.
Как проверить liquidity locker
При блокировке LP-токены находятся у locker contract временно. После установленного срока бенефициар способен их получить. Найдите транзакцию депозита в locker и убедитесь, что передан именно LP нужного пула. На странице контракта должны совпасть адрес LP, amount, owner или beneficiary, lock ID и unlock timestamp.
Не ограничивайтесь интерфейсом сервиса. Проверьте, верифицирован ли код locker, соответствует ли bytecode известной реализации и не является ли контракт proxy. У proxy найдите implementation и администратора по методике из статьи о проверке proxy admin. Обновляемый locker может получить новые правила после внесения LP.
Прочитайте функции досрочного вывода, emergency unlock, migration, transfer ownership и продления. Определите, кто ими управляет: один EOA, multisig, timelock или сама позиция. Маркетинговая фраза «lock на год» мало значит, если администратор может заменить implementation и обойти срок.
Преобразуйте timestamp в свою дату и часовой пояс, но храните исходное onchain-значение. Проверьте, что срок ещё не истёк. После unlock владелец не обязан сразу изъять ликвидность, однако получает такую возможность. Риск меняется уже в момент окончания блокировки.
Как посчитать реальную долю блокировки
Для V2 суммируйте LP в подтверждённых locker-контрактах и на burn addresses, затем разделите на текущий total supply. Полезно отдельно показать сожжённую, временно заблокированную, свободную и неизвестную доли. Не объединяйте их в одно число без пояснения.
Расчёт должен учитывать все существенные пулы. Если 95% LP заблокировано в паре с малым резервом, а основная торговля идёт через другой рынок, рекламный процент вводит в заблуждение. Сравнивайте не только LP supply, но и стоимость резервов, объём и ожидаемый price impact. Разница между проскальзыванием и влиянием размера сделки объясняется в статье о slippage и price impact.
Проверьте события Mint и Burn после даты блокировки. Создатель может добавить новую ликвидность и сохранить новые LP свободными. Старый сертификат lock при этом остаётся настоящим, но его процент уменьшается.
Почему V3 проверяется иначе
В Uniswap V3 и похожих системах позиция задаётся парой активов, fee tier и диапазоном ticks. NonfungiblePositionManager представляет её как ERC-721 NFT с уникальным token ID. У одной команды может быть несколько позиций в одном пуле с разными диапазонами и объёмами.
Для проверки найдите token ID, откройте метод positions и сверяйте token0, token1, fee, tickLower, tickUpper и текущую liquidity. Затем проверьте владельца NFT, approvals и operator. Если NFT лежит в locker, нужны те же вопросы о сроке, бенефициаре и административных обходах.
У стандартного NonfungiblePositionManager функция burn(tokenId) удаляет NFT только после того, как liquidity стала нулевой и все причитающиеся токены собраны. Такое «сжигание NFT» не равно сожжению активной ликвидности. Отправка активной NFT-позиции на недоступный адрес, напротив, способна сделать управление ею невозможным, но это нужно подтверждать владельцем конкретного token ID и состоянием позиции.
Диапазон тоже важен. Позиция далеко от текущей цены может содержать почти один актив и не обеспечивать глубину около рынка. Поэтому простое число NFT или заявленная стоимость не заменяют оценку активной ликвидности в рабочих диапазонах.
Что ещё может позволить rug pull
- Mint. Владелец выпускает новые токены и продаёт их в заблокированный пул.
- Blacklist и pause. Продажа обычных адресов блокируется, пока привилегированный адрес торгует.
- Налог. Комиссия на перевод или продажу меняется до запретительного уровня.
- Proxy upgrade. Логику токена или locker можно заменить.
- Крупные держатели. Незаблокированный пакет способен обрушить цену без удаления ликвидности.
- Другие пулы. Контролируемый рынок используется для манипуляции ценой или обхода обещания.
- Ложное обеспечение. Второй актив пары может не иметь реальной стоимости или возможности погашения.
Практический чек-лист
- Сверьте сеть и полный адрес торгуемого токена.
- Найдите все существенные пулы через подтверждённые factory contracts.
- Для V2 изучите LP holders, total supply, резервы и события Mint, Burn и Transfer.
- Отделите протокольный minimum liquidity от реально сожжённой доли.
- Для locker проверьте сумму, beneficiary, unlock timestamp, proxy и emergency-права.
- Для V3 сверяйте token ID, диапазон, liquidity, owner, approvals и locker.
- Посчитайте защищённую долю по каждому пулу и её связь с реальной глубиной рынка.
- Проверьте mint, taxes, blacklist, pause, proxy и крупнейших держателей токена.
- Повторяйте проверку: состояние ликвидности меняется после новых mint, unlock и migration.
Итог
В V2 блокировка относится к ERC-20 LP-токенам: burn address делает долю необратимой, а locker удерживает её до срока при заданных правилах. Настоящая проверка требует адреса пула, текущего total supply, распределения LP и чтения самого locker contract.
В V3 нужно исследовать NFT-позиции, диапазоны и approvals, а не искать единый процент LP. Даже полное сожжение или блокировка ликвидности не устраняет mint, blacklist, налоги, proxy upgrade и концентрацию токенов. Это важный сигнал, но только одна часть проверки проекта.



