Практические инструкции

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

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

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

Короткий ответ: чтобы закрыть позицию концентрированной ликвидности, нужно вывести из пула всю оставшуюся ликвидность, отдельно получить накопленные комиссии и проверить, какие токены вернулись в кошелёк. В интерфейсе Uniswap v3/v4 снятие ликвидности и получение комиссий – разные действия. Нулевая ликвидность не обязательно означает, что NFT позиции уже уничтожен или что начисления получены. Перед подтверждением сверяйте сеть, адрес пула, диапазон и итоговую сумму, а после транзакции проверяйте данные в обозревателе.

Перед закрытием проверьте позицию

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

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

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

Снимите ликвидность полностью

В интерфейсе позиции выберите действие удаления или снижения ликвидности и установите 100 процентов, если намерены полностью выйти. Название кнопки может меняться, поэтому ориентируйтесь на ожидаемое действие в панели подтверждения. Она должна явно показывать снятие доли ликвидности из выбранной позиции. Если доступно несколько пунктов, не путайте уменьшение позиции с переводом NFT, сбором комиссий или сжиганием токена позиции.

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

После отправки дождитесь подтверждения транзакции и откройте её хеш в обозревателе нужной сети. Смотрите не только на статус, но и на адрес контракта, события и перемещение токенов. В успешной операции должно отражаться уменьшение или обнуление ликвидности конкретной позиции. Если транзакция завершилась ошибкой, комиссия за использованный газ может списаться, а состояние позиции при этом не измениться. Разбор статуса failed или reverted помогает отличить отклонённое действие от завершённого.

Отдельно заберите начисленные комиссии

В Uniswap v3 получение комиссий выполняется отдельно от удаления ликвидности. После снятия откройте пункт collect или аналогичный раздел и проверьте токены и суммы. Комиссии могут быть начислены в обоих активах пары, только в одном активе или оставаться нулевыми. Результат зависит от активности пула, периода нахождения цены в диапазоне и доли позиции. Не считайте прогноз интерфейса окончательным, пока транзакция сбора не подтверждена.

В зависимости от версии протокола, типа позиции и интерфейса, комиссии могут требовать отдельной транзакции, объединённого вызова или промежуточного шага. Для Uniswap v4 возможны дополнительные действия, определяемые конкретной конфигурацией пула и хуками. Поэтому не следует переносить инструкцию для v3 на каждую v4-позицию. Проверьте, какие функции контракт вызовет и что будет указано в окне кошелька. Если приложение предлагает собрать комиссии одновременно с выводом, убедитесь, что обе части операции видны в симуляции.

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

Проверьте возврат в кошелёк

После закрытия обновите страницу и баланс кошелька. Иногда приложение показывает старое состояние из кеша или не отображает токен автоматически. Добавляйте актив только по проверенному адресу контракта. Сверьте сумму входящих переводов с событиями транзакции; округление интерфейса и единицы токена могут отличаться из-за decimals. Если транзакция в обозревателе успешна, но баланс в приложении выглядит иначе, проверьте, что выбрана та же сеть и аккаунт, а не другая адресная запись.

Подтверждение снятия ликвидности не всегда означает уничтожение NFT позиции. Для некоторых версий токен позиции может оставаться у владельца до отдельного действия burn или закрытия в интерфейсе. Передавать его не нужно, если задача – только вывести активы. Не торопитесь сжиганием: проверьте, что ликвидность нулевая и все комиссии собраны. Если позиция управляется через vault или стороннюю стратегию, сначала изучите её правила вывода и собственные контракты.

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

Типичные ошибки и безопасный чек-лист

Частые ошибки – снять только часть позиции, забыть забрать комиссии, перепутать сеть, нажать на рекламную копию интерфейса и считать нулевое отображение кошелька доказательством потери активов. Дополнительный риск – подписать пакетный вызов, который включает другие операции. Перед подтверждением разберите calldata, адрес получателя и список действий. Для токенов с ограничениями или дополнительной логикой обычное поведение ERC-20 может не выполняться.

  1. Сверьте сеть, пул, адреса токенов и номер NFT.
  2. Убедитесь, что выбрано 100 процентов, если нужен полный выход.
  3. Проверьте результат симуляции и список контрактных вызовов.
  4. Отдельно выполните и проверьте сбор комиссий.
  5. Подтвердите обе операции в обозревателе и сопоставьте входящие суммы.
  6. Не переводите и не сжигайте NFT позиции до сверки нулевой ликвидности и начислений.

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