Разработка системы управления концентрированной ликвидностью Uniswap v3

Разработка системы управления концентрированной ликвидностью Uniswap v3 позволил LP-провайдерам сосредотачивать ликвидность в узких ценовых диапазонах — capital efficiency выросла в 4000 раз на стейблкоин парах. Но появилась новая боль: как только цена выходит за границы диапазона, позиция перест

Направления блокчейн-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1452
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1310
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1005
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1270
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1012

Разработка системы управления концентрированной ликвидностью

Uniswap v3 позволил LP-провайдерам сосредотачивать ликвидность в узких ценовых диапазонах — capital efficiency выросла в 4000 раз на стейблкоин парах. Но появилась новая боль: как только цена выходит за границы диапазона, позиция перестаёт приносить комиссии. Представьте, вы вложили $10k в ETH/USDC, цена ETH падает на 5% — и вы получаете 0 fees, пока цена не вернётся. Ручной мониторинг десятков позиций невозможен, а потери от простоев могут превысить доход. Наша команда решила эту задачу для десятков проектов: от небольших DeFi-протоколов до крупных vault-агрегаторов. Например, для клиента с пулом ETH/USDC на Arbitrum мы разработали систему, которая снизила время простоя позиции с 30% до 2%.

Мы находимся на рынке более 6 лет и выполнили свыше 50 блокчейн-проектов. Наши клиенты экономят от 20% до 35% на комиссиях благодаря автоматической перебалансировке. Ниже разберём, какие технические компоненты нужны для такой системы.

Почему нужна автоматизация управления концентрированной ликвидностью?

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

Математика концентрированной ликвидности: что нужно знать для системы

Tick-архитектура и ценовые диапазоны

В Uniswap v3 цена разбита на дискретные ticks, каждый соответствует изменению цены на 1.0001. Диапазон позиции задаётся как [tickLower, tickUpper]. Сумма ликвидности, необходимая для позиции, зависит от текущей цены относительно диапазона:

  • Цена внутри диапазона: нужны оба токена в определённой пропорции
  • Цена ниже диапазона: только token1 (quote)
  • Цена выше диапазона: только token0 (base)

Это создаёт amplified impermanent loss: при узком диапазоне вы быстро оказываетесь с одним токеном, когда цена проходит через диапазон. Система ребаланса обязана учитывать это при расчёте новых границ.

Как оптимально рассчитать диапазон?

Ширина диапазона — это trade-off между fee APR и частотой ребаланса. Формула расчёта: стоимость газа для ребаланса должна составлять не более 10-15% от накопленных комиссий за период. При газе $10 за ребаланс и APR 50% на позицию $10k — ребаланс допустим раз в ~3-4 часа. Система рассчитывает это динамически.

Ширина диапазона Fee APR (высокая волатильность) Частота ребаланса
±1% от текущей цены Очень высокий (10-50x base) Каждые часы
±5% Высокий (5-15x) Несколько раз в день
±20% Умеренный (2-5x) Раз в несколько дней
Full range (v2-эквивалент) Базовый Никогда

Как выбрать стратегию ребаланса?

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

Стратегия Сложность Частота ребаланса Лучше всего для
Статический сдвиг Низкая Высокая Стабильные пары (USD-pegged)
Асимметричный split Средняя Средняя ETH/USDC, WBTC/ETH
Адаптивные диапазоны Высокая Низкая Высокая волатильность

Стратегии ребаланса

Статические диапазоны с автоматическим сдвигом

Простейшая стратегия: ширина диапазона фиксирована (например, ±5%), но центр сдвигается при выходе цены за границу. Триггер: цена достигает 80-90% от границы диапазона. Проблема: при высокой волатильности происходит range oscillation — цена быстро пересекает границы туда-обратно, каждый раз вызывая дорогостоящий ребаланс. Решение: cooldown период между ребалансами + проверка что ребаланс прибылен. Наш keeper-бот обрабатывает ребаланс быстрее ручного управления в 100 раз.

Volatile/Base asset split

Для пар типа ETH/USDC асимметричный подход: основная ликвидность в широком диапазоне (±20%), дополнительная — в узком диапазоне вокруг текущей цены (±2%). Широкий диапазон обеспечивает постоянные fees, узкий — максимизирует capital efficiency когда цена стабильна. При ребалансе пересматривается только узкий диапазон. Это подход Arrakis Finance (PALM) и Gamma Strategies. Реализуется через два отдельных NFT position в NonfungiblePositionManager Uniswap v3.

Volatility-adaptive диапазоны

Более сложная стратегия: ширина диапазона адаптируется под историческую волатильность. При низкой волатильности (стейблкоин период) — узкий диапазон. При высокой — широкий, чтобы сократить частоту ребаланса. Волатильность считаем через on-chain TWAP дельту: берём slot0.sqrtPriceX96 каждые N блоков, считаем rolling standard deviation. Это не требует внешних оракулов.

Архитектура системы

On-chain и off-chain компоненты

Vault контракт (Solidity): хранит позиции, управляет ликвидностью, собирает fees. Пользователи депонируют токены и получают LP shares (ERC-20). Vault периодически вызывается keeper-ботом.

Position Manager: обёртка над INonfungiblePositionManager Uniswap v3. Инкапсулирует логику mint/burn/collect для позиций внутри Vault.

Keeper (Node.js/TypeScript): off-chain компонент, который мониторит текущую цену, рассчитывает нужен ли ребаланс, оценивает газ vs накопленные fees, вызывает rebalance() на Vault. Работает каждые N минут (настраивается).

Техническая детализация архитектуры keepers

Keeper-бот состоит из двух модулей: мониторинг цен (подписка на события Swap или RPC polling) и исполнитель транзакций. Для Ethereum используем Flashbots для защищённого исполнения, для L2 — прямой RPC с высокой скоростью.

Fee reinvestment: автоматический сбор накопленных fees через collect() и реинвестиция через добавление в позицию. Делается при каждом ребалансе, или по отдельному расписанию.

Интеграция с Uniswap v3 Periphery

Ключевые контракты для взаимодействия:

  • NonfungiblePositionManager — создание и управление позициями
  • SwapRouter02 — свапы при ребалансе (когда соотношение токенов не совпадает с нужным)
  • Quoter v2 — симуляция свапов для расчёта слиппажа перед исполнением

При ребалансе часто нужен предварительный своп: если мы закрыли позицию и получили 70% token0 / 30% token1, а новая позиция требует 50/50 — свапаем излишек. Делаем через SwapRouter с slippage tolerance, которую рассчитываем через Quoter.

Как защититься от MEV-атак при ребалансе?

Ребаланс транзакция с крупным свапом — лакомый кусок для MEV ботов. При свапе $100k в ребалансе sandwich attack может стоить 0.5-2% от суммы. Решения:

  • Минимальный amountOutMinimum через Quoter — ограничивает допустимый slippage
  • Flashbots bundle на Ethereum — скрывает транзакцию от mempool
  • Разбивка крупных свапов на несколько транзакций (TWAP swap)

Что входит в разработку системы

Мы предоставляем полный комплект: смарт-контракты с открытым исходным кодом, keeper-сервис, документацию API, тесты (Foundry + fork тесты), инструкцию по деплою. Опционально — UI-дашборд и интеграция с The Graph. Также проводим аудит и предоставляем гарантии на 6 месяцев.

Процесс разработки

  1. Спецификация стратегии (2-3 дня). Выбор стратегии (static shift / split / adaptive), целевые пары, сети, параметры риска.
  2. Разработка контрактов (5-8 дней). Vault + Position Manager + тесты в Foundry. Fork тесты на реальном состоянии Uniswap v3 mainnet.
  3. Keeper сервис (3-4 дня). Node.js + viem, мониторинг цен, логика расчёта триггера ребаланса, отправка транзакций.
  4. UI (опционально, 3-5 дней). Dashboard с текущими позициями, APR, pending fees, историей ребалансов.
  5. Деплой и поддержка (2-3 дня). Развёртывание контрактов, настройка keepers, мониторинг в первые недели.

Ориентиры по срокам

Базовая система с одной стратегией для одной пары — 1-1.5 недели. Мультистратегийный vault с adaptive диапазонами, мультипул поддержкой и full UI — 2-3 недели. Сроки зависят от сложности выбранной стратегии и требований к keeper инфраструктуре.

За подробностями обращайтесь к Uniswap V3 Whitepaper — там описана основа архитектуры ticks и позиций.

Свяжитесь с нами для оценки вашей задачи. Закажите разработку под ключ — получите готовую систему управления сосредоточенной ликвидностью и сэкономьте до 30% на комиссиях за счёт автоматизации.