Автоматическая ребалансировка LP Uniswap v3

Разработка системы автоматической ребалансировки LP Uniswap v3 Мы разрабатываем системы автоматической ребалансировки LP-позиций Uniswap v3 ([Uniswap](https://en.wikipedia.org/wiki/Uniswap)), которые решают ключевую проблему concentrated liquidity: при выходе цены за заданный диапазон позиция пер

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

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

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

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

Разработка системы автоматической ребалансировки LP Uniswap v3

Мы разрабатываем системы автоматической ребалансировки LP-позиций Uniswap v3 (Uniswap), которые решают ключевую проблему concentrated liquidity: при выходе цены за заданный диапазон позиция перестаёт зарабатывать fee. Без активного управления ваш ETH/USDC пул с диапазоном $1800–$2200 при цене ETH $2500 превращается в чистый USDC bag с нулевым доходом. Наша система отслеживает позиции в реальном времени, атомарно перебалансирует через keeper и реинвестирует fee. На L2 такие операции обходятся значительно дешевле (экономия до 90% на газе), что делает автоматизацию экономически оправданной. Команда имеет 5 лет опыта в DeFi и реализовала более 20 проектов по автоматизации LP. Закажите разработку системы для вашего пула и получите консультацию инженера с 10-летним опытом в DeFi.

Почему ребалансировка критична для доходности?

Concentrated liquidity — двойственная природа: узкий диапазон даёт в 10–50 раз больше fee, чем v2, но при выходе цены за границы LP теряет весь доход. На крупном движении, например ETH $1800→$2500, позиция с диапазоном $1800–$2200 становится 100% в USDC и не приносит комиссий, пока цена не вернётся. Система ребалансировки автоматически сдвигает диапазон вслед за ценой, фиксируя прибыль и возобновляя сбор fee. Мы гарантируем прозрачность кода и безопасность средств.

Какие операции выполняются при ребалансировке?

Каждая LP-позиция в v3 — это ERC-721 токен, управляемый NonfungiblePositionManager (адрес 0xC36442b4a4522E871399CD717aBDD847Ab11FE88 на mainnet). Основные операции:

  • mint() — открытие позиции в заданном диапазоне [tickLower, tickUpper]
  • increaseLiquidity() — добавление ликвидности в существующую позицию
  • decreaseLiquidity() — частичное или полное изъятие ликвидности
  • collect() — сбор накопленных fee токенов

Для автоматической ребалансировки контракт-менеджер должен владеть NFT-позициями (или иметь approval) — это позволяет ему вызывать все операции атомарно.

Цена в v3 хранится в sqrtPriceX96 — квадратный корень цены в Q64.96 fixed-point формате. Для расчёта текущего тика: tick = floor(log(price) / log(1.0001)). Каждый тик соответствует шагу цены в 0.01%. Диапазон позиции задаётся в тиках и должен быть кратен tickSpacing пула: для пула 0.05% fee — tickSpacing 10, для 0.3% — 60, для 1% — 200. Позиция с шириной 200 тиков вокруг текущей цены покрывает примерно ±1% движения.

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

Выбор стратегии зависит от волатильности пары и целей по доходности. Passive rebalance — ждём выхода за диапазон, затем перебалансируем. Этот метод прост и минимизирует on-chain транзакции, но LP теряет доход во время out-of-range, и фиксируется impermanent loss. Active rebalance перебалансирует при приближении к краю, сохраняя позицию in-range и непрерывный сбор fee, но требует частых транзакций. Asymmetric ranges используют несимметричный диапазон с учётом тренда: это снижает число ребалансировок, но требует off-chain данных (EMA) и сложнее в реализации. Fee reinvestment (compound) автоматически реинвестирует собранные fee, давая эффект сложного процента. На L2 частые ребалансировки становятся экономически осмысленными благодаря низкому газу.

Стратегия Частота ребалансировок Сложность Доходность по сравнению с пассивной
Passive Низкая Низкая Базовая
Active Высокая Средняя +20-50%
Asymmetric Средняя Высокая +30-70%

Архитектура контракта

AutoLPManager ├── positionsByUser: mapping(address => uint256[]) ├── strategyByToken: mapping(uint256 => RebalanceStrategy) ├── rebalance(uint256 tokenId, RangeParams calldata newRange) ├── collect(uint256 tokenId) └── compound(uint256 tokenId) 

Ключевая проблема — свап перед открытием позиции. После закрытия у нас может быть 100% одного актива, а для новой позиции нужно точное соотношение token0/token1. Свап меняет соотношение, что может сдвинуть тик — итерационный расчёт off-chain, затем on-chain исполнение. Альтернатива: использовать готовые vault-решения как основу. Arrakis Finance v2 и Gamma Strategies — open source vault контракты с именно такой логикой. Форкнуть и кастомизировать под нужную стратегию быстрее, чем писать с нуля.

Как работает мониторинг и keeper?

Off-chain сервис (Node.js + viem) мониторит:

  • Текущий тик пула: slot0()sqrtPriceX96 → конвертация в тик
  • Тики позиции: positions(tokenId)tickLower, tickUpper
  • Накопленные fee: симуляция collect() через eth_call

При срабатывании условия ребалансировки — вызов через Chainlink Automation или собственный keeper EOA с достаточным gas buffer.

Операция Gas на mainnet
collect() fee ~90k
decreaseLiquidity() 100% ~120k
Swap token0 → token1 (v3) ~150k
mint() новая позиция ~180k
Итого полный rebalance ~540k

На L2 (Arbitrum, Base) те же операции стоят копейки, что делает частые ребалансировки экономически осмысленными.

Как внедрить автоматическую ребалансировку: пошаговая инструкция

  1. Анализ пулов. Выберите пул и определите волатильность пары, частоту ребалансировки.
  2. Выбор стратегии. На основе бэктестинга (через The Graph или Dune) выберите passive, active или asymmetric.
  3. Развёртывание контракта. Деплой AutoLPManager под вашу стратегию. Используйте Foundry для fork-тестов.
  4. Настройка мониторинга. Запустите off-chain сервис с keeper-интеграцией (Chainlink Automation).
  5. Тестирование. Симуляция на исторических данных, проверка APY.
  6. Деплой на mainnet/L2. В случае L2 — газ составляет доли цента за транзакцию.

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

  • Аналитика стратегии (2–3 дня). Backtesting на исторических данных Uniswap v3 через The Graph или Dune Analytics.
  • Контракты (1–2 недели). AutoLPManager + keeper-интерфейсы. Foundry fork-тесты на mainnet с симуляцией ценовых движений.
  • Off-chain компоненты (4–5 дней). Мониторинг позиций, расчёт оптимального соотношения для свапа, Chainlink Automation setup.
  • Тестирование (3–5 дней). Сравнение APY при разных параметрах на исторических данных.

Что входит в работу

  • Аудит текущих позиций и выбор стратегии
  • Разработка смарт-контрактов (Solidity/Foundry)
  • Off-chain мониторинг и интеграция keeper (Chainlink Automation)
  • Юнит-тесты и fork-тесты на mainnet
  • Документация контрактов и архитектуры
  • Период поддержки после деплоя (1 месяц)

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

Базовая система с одной стратегией на один пул — 1–2 недели. Multi-pool, multi-strategy vault с governance — от 3–4 недель. Стоимость рассчитывается индивидуально после выбора целевых пулов и стратегий. Свяжитесь с нами, чтобы обсудить ваш проект. Получите консультацию инженера с 10-летним опытом в DeFi.