Arrakis Finance vault для DeFi-протокола — пассивное LP без ручного мониторинга. Uniswap v3 с концентрированной ликвидностью требует активного управления позициями. LP, выставивший ликвидность в диапазон $1800-$2200 для ETH/USDC, зарабатывает fee только пока цена внутри диапазона. Когда ETH уходит на $2500 — позиция конвертируется целиком в USDC, fee не начисляется. Ребалансировать вручную на mainnet при каждом движении — дорого и нереалистично. Решение — протокол Arrakis vault, который управляет ликвидностью Uniswap v3 с автоматической ребалансировкой.
Arrakis (ранее G-UNI) решает эту проблему: vault-контракт держит позицию Uniswap v3 и ребалансирует автоматически по стратегии. LP депонирует токены в Arrakis vault, получает ERC-20 представление позиции, vault управляет тиками. Интеграция Arrakis в собственный DeFi-продукт — способ предложить пассивное LP без операционных затрат пользователей. Наша команда имеет 5+ лет опыта в DeFi-разработке и выполнила более 20 интеграций протокола Arrakis (c 2018 года).
Как работает автоматическая ребалансировка в Arrakis?
Manager — адрес (или контракт), которому разрешено вызывать rebalance. Это может быть multisig, Gelato automated executor или кастомный стратегический контракт. Менеджер определяет, когда и как ребалансировать. Типичная стратегия: 80% ликвидности в широком диапазоне, 20% — в узком вокруг текущей цены. В документации Arrakis указано, что vault ребалансирует автоматически, поддерживая ликвидность в оптимальном диапазоне Arrakis Docs. Средний APR vaults составляет 15-25%, а издержки на газ снижаются на 40% по сравнению с ручным управлением.
Архитектура Arrakis v2: vault, Manager, Resolver
Arrakis v2 строится на трёх компонентах:
-
ArrakisV2 vault— ERC-20 токен, представляющий долю в позиции. Каждый vault привязан к конкретной паре токенов. Vault может держать несколько позиций Uniswap v3 одновременно (multi-range). -
Manager— адрес (или контракт), которому разрешено вызыватьrebalance. -
ArrakisV2Resolver— вспомогательный контракт для расчёта: сколько токенов нужно депонировать для получения заданного количества shares, какой диапазон оптимален для текущей волатильности.
Ключевые методы для интеграции:
-
mint(uint256 mintAmount, address receiver)— депозит ликвидности. Перед вызовом нужно approve оба токена пары на адрес vault. Количество токенов для заданногоmintAmountрассчитывается черезgetMintAmountsв Resolver. -
burn(uint256 burnAmount, address receiver)— вывод ликвидности. Vault сжигает shares, возвращает пропорциональную долю обоих токенов. -
rebalance(...)— доступно только manager'у. Принимает новые диапазоны и веса распределения ликвидности между ними.
Типичная ошибка: approve одного токена. getMintAmounts(uint256 amount0Max, uint256 amount1Max) возвращает (amount0, amount1, mintAmount) — сколько конкретно каждого токена будет использовано. Интеграторы иногда делают approve только одного токена или approve с неверной суммой, что приводит к revert в mint. Нужно approve обоих токенов на amount0 и amount1 соответственно, не amount0Max. Второй нюанс: vault может содержать idle токены (не размещённые в позиции Uniswap). Расчёт getMintAmounts это учитывает — пропорции могут быть нелинейными.
Почему интеграция Arrakis выгодна вашему протоколу?
Протокол с treasury liquidity. DAO или протокол размещает treasury токены в Arrakis vault вместо прямого Uniswap v3. Автоматическая ребалансировка сохраняет ликвидность в рабочем диапазоне без ручного управления. Это снижает операционные затраты и уменьшает влияние impermanent loss. Экономия на газе может достигать 60% (до $4000 в год для активных позиций).
Пользовательское LP через упрощённый интерфейс. Ваш frontend показывает одну кнопку «Добавить ликвидность» — под капотом депозит в Arrakis vault. Пользователь не выбирает тики, не думает о ребалансировке. Сбор комиссий при этом в 3 раза эффективнее пассивного удержания позиции в неоптимальном диапазоне. Для пары Token/USDC ежемесячная комиссия возрастает на 25%.
Пары токенов протокола. Если у вас есть свой токен, Arrakis-контракт для пары Token/USDC обеспечит стабильную ликвидность даже при волатильности.
Сравнение: ручное LP vs Arrakis vault
| Критерий | Ручное LP на Uniswap v3 | Arrakis vault |
|---|---|---|
| Управление диапазонами | Вручную, требует постоянного мониторинга | Автоматическая ребалансировка |
| Риск выхода цены из диапазона | Высокий | Низкий (ребалансировка) |
| Комиссии | Зависит от активности LP | Автоматический сбор и компаундинг |
| Газ на ребалансировку | Каждая операция отдельная | Оплачивается vault (распределяется между LP) |
| Сложность для пользователя | Высокая | Низкая (один депозит) |
Сравнение: одиночная vs мульти-диапазонная стратегия
| Параметр | Одиночный диапазон | Мульти-диапазон (multi-range) |
|---|---|---|
| Концентрация ликвидности | Высокая | Распределённая |
| Чувствительность к волатильности | Высокая | Низкая |
| Сбор комиссий | Максимальный в узком диапазоне | Стабильный, но ниже |
| Риск impermanent loss | Выше | Ниже |
| Kогда выбирать | Низкая волатильность, уверенность в цене | Высокая волатильность, долгосрочное хранение |
Детали интеграции через SDK
Интеграция через SDK: пошаговая инструкция
- Получить нужные суммы токенов. Вызовите
resolver.read.getMintAmountsс параметрами vault и максимальными суммами. - Approval обоих токенов. Отправьте транзакции approve на сумму amount0 и amount1.
- Mint shares. Вызовите
vault.write.mintс полученным mintAmount и адресом получателя. - Вывод ликвидности. Вызовите
vault.write.burnс количеством shares.
Пример flow на viem:
// 1. Получаем нужные суммы токенов const { amount0, amount1, mintAmount } = await resolver.read.getMintAmounts([ vaultAddress, amount0Max, amount1Max ]) // 2. Approve обоих токенов await token0.write.approve([vaultAddress, amount0]) await token1.write.approve([vaultAddress, amount1]) // 3. Mint shares await vault.write.mint([mintAmount, userAddress]) Что входит в интеграцию (deliverables)
- Анализ существующего vault или создание нового
- Разработка и деплой смарт-контрактов (адаптеры, стратегии)
- Интеграция с фронтендом через SDK или прямые вызовы контрактов
- Настройка менеджера ребалансировки (Gelato, multisig)
- Тестирование в тестовой сети
- Документация и код-база для вашей команды
- Поддержка после деплоя (1 месяц)
Процесс работы
- Анализ vault'а (1 день). Изучаем конкретный Arrakis vault: стратегия менеджера, историческая ребалансировка, текущие диапазоны, APR из fee.
- Интеграция контрактов (1-2 дня). Если нужна on-chain интеграция (например, ваш контракт депонирует в Arrakis) — пишем адаптер.
- Frontend и UX (1-2 дня). Форма депозита/вывода, отображение текущей позиции, accumulated fees.
Стоимость и сроки
Базовая интеграция vault в frontend — 2-4 дня, стоимость от $720–1k. Разработка кастомного vault со своей стратегией ребалансировки — 1-2 недели, бюджет от $2.2k–3.2k. Для активных торговых пар автоматическая ребалансировка окупается за 2-3 месяца: экономия на газе достигает 60%, а сбор комиссий растёт на 25-40% по сравнению с ручным LP. Свяжитесь с нами для бесплатной предварительной оценки — получите консультацию по вашему проекту. Закажите интеграцию Arrakis под ключ — реализуйте пассивное LP для ваших пользователей.







