Ми розробили vault, який обіцяв 20% APY незалежно від руху ринку. Під капотом: long ETH на Aave, short ETH perp на GMX, дохід від funding rate. При зростанні ETH на 40% за тиждень short perp потребував додатковий margin. Vault автоматично ребалансувався — продавав частину long позиції для покриття margin call. Після кількох ребалансувань vault вийшов з дельта-нейтрального стану, накопичив directional bias, і наступна корекція на 15% вдарила по позиції вдвічі. Це не баг — це неправильно налаштований алгоритм ребалансування. Наш досвід показує, що коректна архітектура запобігає подібним сценаріям. Якщо у вас схожа ситуація — отримайте консультацію на ранньому етапі.
Чому delta-нейтральність важко втримати?
Delta в контексті DeFi vault — міра чутливості вартості портфеля до зміни ціни базового активу. Delta = 0 означає: ціна ETH виросте на 10% або впаде на 10% — вартість vault не зміниться (до комісій).
Технічно delta-нейтральність досягається просто: купити 1 ETH spot (delta = +1) і відкрити short на 1 ETH futures (delta = -1). Сума дельт = 0. Проблема в тому, що delta портфеля постійно дрейфує через:
- Gamma ефект. При русі ціни співвідношення hedge ratio змінюється. Після зростання ETH на 20% вартість long позиції виросла, а short не змінилася в USD — delta стала позитивною.
- Funding rate зміни. Відкриття/закриття perp позиції у відповідь на funding rate змінює hedge ratio.
- Yield rebalancing. Отримання та реінвестування прибутковості змінює розмір позицій.
Реальний vault вимагає безперервного моніторингу delta та періодичного ребалансування для повернення до нейтрального стану.
Як влаштована архітектура delta-neutral vault?
Джерела прибутковості
Прибутковість delta-neutral vault надходить із кількох джерел одночасно:
| Джерело | Тип | Надійність | Залежність |
|---|---|---|---|
| Funding rate (short perp) | Змінна | Середня | Market sentiment |
| Staking yield (stETH, rETH) | Стабільна | Висока | ETH consensus |
| LP fees (якщо spot в Uniswap) | Змінна | Середня | Trading volume |
| Borrowing spread (Aave deposit) | Стабільна | Висока | Utilization rate |
Найбільш resilient стратегія комбінує кілька джерел. Класична конфігурація: long stETH (отримуємо staking yield ~4%) + short ETH perp на GMX v2 або Synthetix (отримуємо funding rate при bull market). При від'ємному funding rate (bear market) — переходимо на Aave deposit yield тільки.
Smart contract архітектура
Vault побудований на ERC-4626 стандарті з додатковими модулями:
-
HedgeManager— керує perp позицією. Читає поточну delta vault, розраховує необхідний розмір short, викликає відкриття/закриття позиції на perp DEX. Абстрагує конкретний perp протокол за інтерфейсом — можна перемикатися між GMX та dYdX без зміни логіки vault. -
RebalanceEngine— вирішує коли ребалансувати. Ключовий параметр:deltaTolerance(наприклад, ±5%). Поки абсолютна delta vault в діапазоні [-5%, +5%] від NAV — ребаланс не потрібен. При виході за діапазон — triggered rebalance. -
YieldAccumulator— збирає прибутковість від усіх джерел (funding payments, staking rewards, LP fees), конвертує в єдину одиницю обліку, реінвестує. -
OracleModule— агрегує Chainlink price feeds з TWAP для розрахунку delta. Критично використовувати одне джерело ціни для обох сторін хеджу, інакше різниця в oracle може створювати фантомну delta.
Алгоритм ребалансування
Наївний підхід: ребалансувати при кожному відхиленні delta. Проблема: при волатильному ринку це може означати десятки ребалансувань на день, кожен з gas витратами та slippage.
Більш ефективний підхід — threshold + timer гібрид:
function shouldRebalance() public view returns (bool) {
int256 currentDelta = calculateDelta();
uint256 deltaDriftPercent = abs(currentDelta) * 10000 / totalNAV;
bool thresholdBreached = deltaDriftPercent > DELTA_TOLERANCE; // 500 = 5%
bool timerExpired = block.timestamp > lastRebalance + REBALANCE_INTERVAL; // 24h
return thresholdBreached || (timerExpired && deltaDriftPercent > MIN_REBALANCE_DRIFT);
}
Threshold ребаланс при критичному відхиленні, timer ребаланс для накопиченого drift. Це знижує кількість ребалансувань на 70-80% порівняно з постійним моніторингом — threshold + timer гібрид краще постійного моніторингу в 3-5 разів за частотою ребалансувань.
Як керувати margin на perp позиції?
Найнебезпечніша точка стратегії — ліквідація short perp позиції при різкому зростанні базового активу. Якщо vault тримає 10 ETH long stETH і 10 ETH short perp, при зростанні ETH на 50% unrealized loss на short = 5 ETH. Якщо maintenance margin = 5%, потрібно тримати мінімум 0.5 ETH margin на кожні 10 ETH notional. При різкому русі цього може не вистачити. Запобігти втратам до $1 млн допомагає правильна конфігурація захисних механізмів.
Захисні механізми:
- Dynamic margin. Розмір margin не фіксований, а пропорційний до поточної позиції та expected volatility (через 30-day historical vol). При зростанні volatility — автоматично додаємо margin з vault reserves.
- Partial hedge ratio. Не хеджуємо 100% delta. Якщо хеджувати 80% — зберігається невелика позитивна delta, що знижує pressure на margin при зростанні. Трейдофф: vault слабо, але позитивно корелює зі зростанням активу.
- Emergency deleverage. Якщо margin ratio падає нижче emergencyThreshold — автоматично закриваємо частину long позиції для поповнення margin, навіть ціною порушення delta-нейтральності. Захист від ліквідації пріоритетніший за чистоту хеджу.
Порівняння perp протоколів для vault
| Параметр | GMX v2 | Synthetix Perps v3 | dYdX v4 |
|---|---|---|---|
| Виконання | Keeper (latency 1-2 блоки) | Атомарне (pyth oracle) | Cross-chain (Cosmos) |
| Ліквідність | Висока на ETH/BTC | Середня на altcoins | Висока на основних |
| Комісії | 0.05-0.1% | 0.1% + spread | 0.05% maker/0.1% taker |
| Затримка | 2-5 сек | 1 сек | ~1 блок (Cosmos) |
| Простота інтеграції | Середня (ExchangeRouter) | Висока (atomic) | Низька (IBC bridge) |
| Технічні сценарії | Умови | Вимоги до vault |
|---|---|---|
| ETH +100% за 2 тижні | Бичачий ринок | 10+ ребалансувань, gas ~$2000 |
| ETH -80% за 6 місяців | Ведмежий ринок | Перехід у yield-only, відмова від short |
| Negative funding rate -0.05% per 8h | Екстремальний bear | Тривалість >2 тижнів — vault збитковий |
Backtesting інструменти: Python + CCXT для історичних даних perp, Dune Analytics для on-chain даних staking yield та Aave rates.
Деталі стрес-тестів
Vault тестується на форках mainnet з симуляцією 2-річної історії. Використовуємо Echidna для fuzz-тестів інваріантів: delta завжди в допустимому діапазоні, NAV не падає нижче threshold, margin ratio > emergencyThreshold. Кожен тест покриває 10 000+ випадкових сценаріїв.Процес розробки
Що входить у роботу
- Документація архітектури та специфікація
- Розробка ERC-4626 vault, HedgeManager, RebalanceEngine
- Інтеграція з обраним perp-протоколом та lending-протоколом
- Написання тестів (fork, fuzz, invariant) з покриттям >95%
- Зовнішній аудит (обов’язково зі звітом)
- Деплой через Gnosis Safe з timelock
- Налаштування Chainlink Automation для автоматизації ребалансувань
- Субграф The Graph для метрик vault
- Навчання вашої команди та документація з експлуатації
- Підтримка протягом 3 місяців після деплою
Етапи та терміни
- Аналітика (5-7 днів): вибір стратегії, backtesting, визначення параметрів deltaTolerance, rebalance frequency, margin buffer.
- Розробка смарт-контрактів (4-6 тижнів): кодинг модулів та інтеграція.
- Тестування (2-3 тижні): fork-тести на mainnet з різними ринковими сценаріями, fuzz-тести інваріантів.
- Зовнішній аудит (обов’язковий): 1-2 тижні, залежно від обсягу коду.
- Деплой та моніторинг: 1 тиждень.
MVP vault з однією стратегією (stETH + GMX short, Ethereum) — 6-8 тижнів. Повноцінний vault з кількома стратегіями, автоматичним ребалансуванням та governance — 2-4 місяці включаючи аудит. Вартість розраховується індивідуально. Ми — команда з 5-річним досвідом у DeFi, розробили понад 50 протоколів, гарантуємо якість та проходження аудиту. Замовте розробку vault з правильною архітектурою. Зв'яжіться з нами для консультації та оцінки вашого проекту.







