Кальтер / Блог

Как читать позицию concentrated liquidity в Uniswap v3

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

Материал подготовлен с помощью ИИ. Источники, учебные примеры и расчёты проверены редакцией перед публикацией.

Условная числовая ось диапазона Uniswap v3 показывает, где цена находится относительно позиции, без прогноза рынка.
Условная числовая ось диапазона Uniswap v3 показывает, где цена находится относительно позиции, без прогноза рынка.

Позиция Uniswap v3 — это ликвидность внутри выбранного диапазона цены. Когда рыночная цена выходит за его границу, позиция становится неактивной: она может полностью состоять из одного из токенов и перестаёт получать комиссии, пока цена не вернётся в диапазон (документация Uniswap о concentrated liquidity).

Отметь цену на числовой линии

Условная пара token0/token1: будем читать цену как количество token1 за один token0. Представим, что LP создал диапазон от 1 000 до 2 000 token1 за token0. Это вымышленные значения, не рыночный курс:

Текущая цена Состояние позиции Состав в упрощённом объяснении Fee accrual
900 ниже нижней границы преимущественно/полностью token0 нет, пока вне диапазона
1 500 внутри диапазона оба актива участвуют в позиции активная ликвидность может получать долю комиссий
2 100 выше верхней границы преимущественно/полностью token1 нет, пока вне диапазона

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

Проверь конкретный NFT/позицию

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

ИИ можно дать только проверенные числа:

Цена задаётся как token1 за token0.
Границы позиции: [lower, upper]. Текущая цена: [price].
Определи только положение цены: ниже, внутри или выше; назови, какие данные
нужно ещё проверить для точного количества активов и комиссий.
Не выдумывай баланс, APR, доходность или риск выхода из диапазона.

Для учебного примера lower=1000, upper=2000, price=2100 ответ: «цена выше диапазона; позиция неактивна и в этой точке не начисляет комиссии; точный состав активов надо сверить по позиции». Это не рекомендация выбрать диапазон.

Прежде чем менять ликвидность, проверь сеть, пул и риски цены. Не отправляй транзакцию только по тексту модели. Если вопрос касается не положения позиции, а того, где хранится сбор и как его получить, переходи к сравнению учёта комиссий v2, v3 и v4. Общий обзор ликвидности и AMM есть в отдельном материале о DEX.