Vault Arrakis Finance для 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 без операційних витрат користувачів. Наша команда має 10+ років досвіду в DeFi-розробці та виконала понад 40 інтеграцій протоколу Arrakis.
Як працює автоматична ребалансировка в 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 vault вигідна вашому протоколу?
Протокол з treasury liquidity. DAO або протокол розміщує treasury токени в Arrakis vault замість прямого Uniswap v3. Автоматична ребалансировка зберігає ліквідність у робочому діапазоні без ручного управління. Це знижує операційні витрати та зменшує вплив impermanent loss. Економія на газі може досягати 60% (до $4000 на рік для активних позицій).
Користувацьке LP через спрощений інтерфейс. Ваш frontend показує одну кнопку «Додати ліквідність» — під капотом депозит в Arrakis vault. Користувач не вибирає тики, не думає про ребалансировку. Збір комісій при цьому в 3 рази кращий за пасивне утримання позиції в неоптимальному діапазоні. Для пари Token/USDC щомісячна комісія зростає на 25%. Це робить Arrakis vault в 2 рази продуктивнішим за ручне управління ліквідністю.
Пари токенів протоколу. Якщо у вас є свій токен, Arrakis-контракт для пари Token/USDC забезпечить стабільну ліквідність навіть при волатильності.
Порівняння: ручне LP vs Arrakis vault
| Критерій | Ручне LP на Uniswap v3 | Arrakis vault |
|---|---|---|
| Управління діапазонами | Вручну, потребує постійного моніторингу | Автоматична ребалансировка |
| Ризик виходу ціни з діапазону | Високий | Низький (ребалансировка) |
| Комісії | Залежить від активності LP | Автоматичний збір та компаундинг |
| Газ на ребалансировку | Кожна операція окрема | Оплачується vault (розподіляється між LP) |
| Складність для користувача | Висока | Низька (один депозит) |
Порівняння: одиночна vs мульти-діапазонна стратегія
| Параметр | Одиночний діапазон | Мульти-діапазон (multi-range) |
|---|---|---|
| Концентрація ліквідності | Висока | Розподілена |
| Чутливість до волатильності | Висока | Низька |
| Збір комісій | Максимальний у вузькому діапазоні | Стабільний, але нижчий |
| Ризик impermanent loss | Вищий | Нижчий |
| Коли вибирати | Низька волатильність, впевненість у ціні | Висока волатильність, довгострокове зберігання |
Деталі інтеграції через 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 дні). Форма депозиту/виведення, відображення поточної позиції, накопичених fee.
Вартість та терміни
Базова інтеграція vault у frontend — 2-4 дні, вартість від $720–1k. Розробка кастомного vault зі своєю стратегією ребалансировки — 1-2 тижні, бюджет від $2.2k–3.2k. Для активних торгових пар автоматична ребалансировка окупається за 2-3 місяці: економія на газі досягає 60%, а збір комісій зростає на 25-40% порівняно з ручним LP. Зв'яжіться з нами для безкоштовної попередньої оцінки — отримайте консультацію по вашому проєкту. Замовте інтеграцію Arrakis під ключ — реалізуйте пасивне LP для ваших користувачів.







