Розробка leveraged yield farming

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка leveraged yield farming
Складний
від 2 тижнів до 3 місяців
Часті запитання

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

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    860

Розробка leveraged yield farming

Alpaca Finance на BSC у 2021 році показала proof-of-concept: займаєш кредит під залог LP-токенів, додаєш ліквідність в пул з плечем, farming rewards покривають вартість займу й дають net yield 50-200% APY. Привабило мільярди. Також створило хвилю ліквідацій при падінні BNB у травні 2021.

Leveraged yield farming — протокол, де користувач відкриває позицію з плечем (2x-10x) у yield-farming стратегії. Lending pool надає займ, borrower фарми з плечем, протокол управляє ліквідаціями. Усі три компоненти тісно пов'язані, ошибка в будь-якому створює системний ризик.

Чому це складніше звичайного лендингу

Проблема ціноутворення LP-токенів

У звичайному лендингу залог — ETH або USDC з ліквідною ціною від Chainlink. У leveraged farming залог — LP-токен Uniswap V2, Curve або іншого DEX. Справедлива ціна LP-токена нетривіальна та залежить від цін обох активів у пулі.

Формула справедливої ціни LP-токена (для Uniswap V2 x*y=k пула):

LP_price = 2 * sqrt(reserve0 * reserve1 * price0 * price1) / totalSupply

Це не (reserve0 * price0 + reserve1 * price1) / totalSupply — такий підхід уразливий для flash-loan маніпуляції ціною. Атакуючий може тимчасово дисбалансувати пул, завищити spot ціну LP-токена, позичити більше, повернути пул. Alpha Homora V1 втратила $37M у лютому 2021 саме через маніпуляцію ціною залогу.

Правильний розрахунок використовує sqrt(price0 * price1) — не залежить від поточного балансу пула, тільки від ринкових цін. Ціни з Chainlink, не з пула.

Ліквідація при impermanent loss

Стандартний collateral ratio в лендингу — статичний: ETH упав на 20%, ти близько до ліквідації. У leveraged farming гірше: навіть без руху ціни ETH, impermanent loss зменшує вартість LP-позиції при русі одного активу відносно іншого.

Протокол повинен враховувати IL при розрахунку health factor. Позиція 2x ETH-USDC при 10% русі ETH має ~0.25% IL, що на 2x плечо дає ~0.5% зменшення equity. Малі цифри, але при 10x плечо та 50% русі ринку — вже критично.

Правильна реалізація рахує equity = position_value - debt де position_value вичислюється через справедливу ціну LP. Liquidation threshold встановлюється з урахуванням worst-case IL для даної пари.

Debt ratio та kill factor

Два ключові параметри позиції:

Debt ratio = debt / position_value. При відкритті з 2x плечем та $1000 власних коштів: позиція $2000, борг $1000, debt ratio 50%.

Kill factor (liquidation threshold) — максимальний debt ratio, при якому ліквідатор може закрити позицію. Зазвичай 80-85%. Kill factor встановлюється per-pair: USDC/ETH у стейбл-пулі — вище (менший IL ризик), ETH/BTC-альткоін — нижче.

При ліквідації: ліквідатор викликає liquidate(), протокол продає LP-позицію (знімає ліквідність, робить своп), погашає борг з виручки, повертає залишок користувачу. Liquidation penalty (зазвичай 5%) йде ліквідатору як incentive.

Архітектура контрактів

Три ключові контракти

Lending Pool: пули ліквідності для кожного токена (ETH, USDC, BNB). Лендери депонують, отримують ibTokens (interest-bearing tokens, як Compound cToken). Borrowers позичають під залог позицій у Vault.

Worker: adapter-контракт для кожної стратегії (Uniswap V3 ETH-USDC 0.3%, PancakeSwap BNB-BUSD). Worker знає як відкривати/закривати позицію, додавати/убирати ліквідність у конкретному пулі. Нову стратегію додаємо як новий Worker без змін основних контрактів.

Vault: управляє позиціями користувачів. Зберігає дані про кожну позицію (owner, debt, position id у Worker), вичислює health factor, приймає виклики ліквідації.

struct Position {
    address worker;      // яка стратегія
    address owner;       // власник
    uint256 debtShare;   // доля у загальному борзі (не абсолютна сума)
    uint256 id;          // id у контракті Worker
}

Борг зберігаємо в shares, а не абсолютних значеннях — автоматично враховує накопилені проценти (як Aave aToken ratio).

Автоматичний реінвест (auto-compound)

Farming rewards (наприклад, CAKE на PancakeSwap) потрібно регулярно клеймити, продавати в базові токени та додавати назад в позицію. Це reinvest. Чим частіше — тим вище APY за рахунок складного процента, але вище gas costs.

Reinvest викликають боти-кіпери (будь-хто за невелике вознаграження) через reinvest() на контракті Worker. Оптимальна частота залежить від розміру позиції та вартості газу — для малих позицій раз на день достатньо, для великих — раз на годину.

Управління ризиками governance

Параметри, які мають бути під governance timelock:

  • Kill factor per-pair
  • Min debt size (захист від dust атак)
  • Max leverage per-pair
  • Reinvest bounty rate
  • Нові Workers (додавання нових стратегій)

Жоден з цих параметрів не повинен змінюватися мгновенно. Timelock мінімум 48 годин для критичних (kill factor), 24 години для менш критичних.

Ризики, які потрібно прийняти заздалегідь

Smart contract risk: контракт складний, велика attack surface. Зовнішній аудит обов'язковий. Alpha Homora, Alpaca — обидва були взломані, деякі повторно.

Liquidation cascade: при різкому падінні ринку багато позицій одночасно досягають kill factor. Ліквідатори входять на ринок з великими обсягами, ціна падає ще сильніше, нові ліквідації. Протокол повинен мати emergency pause та параметри максимального обсягу ліквідацій за блок.

Oracle manipulation: критично захистити LP-price від spot маніпуляції. TWAP мінімум 30 хвилин + Chainlink вторинне джерело.

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

Токеномика та параметри (1-2 тижні). Розрахунок kill factor для кожної пари, модель процентної ставки (utilization-based як Compound), incentive для ліквідаторів. Агентне моделювання liquidation cascade.

Core контракти (3-5 тижнів). Lending Pool з ibToken, базовий Vault, один тестовий Worker.

Workers для цільових стратегій (1-2 тижні на Worker). Інтеграція з Uniswap V3, PancakeSwap V3 або Curve залежно від цільових пулів.

Keeper інфраструктура (1 тиждень). Автоматизація reinvest та ліквідацій.

Аудит (обов'язковий). Не запускайте з реальними засобами без зовнішнього аудиту. Мінімум 3-4 тижні для повного аудиту протоколу такої складності.

Сроки від проектування до готовності до аудиту: 2-3 місяці. Вартість розраховується після фіналізації цільових пулів та мереж.