Разработка калькулятора доходности DeFi-стратегий

Пользователь видит APY 45% на платформе и вносит активы. Спустя три месяца при выводе получает всего 8% в долларах. Остальное съели комиссии при входе и выходе, газ на 12 транзакций, impermanent loss в пуле и налог на reward-токены, потерявшие 70% стоимости к моменту харвестинга. Мы сталкивались с т

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

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

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

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

Пользователь видит APY 45% на платформе и вносит активы. Спустя три месяца при выводе получает всего 8% в долларах. Остальное съели комиссии при входе и выходе, газ на 12 транзакций, impermanent loss в пуле и налог на reward-токены, потерявшие 70% стоимости к моменту харвестинга. Мы сталкивались с такими ситуациями десятки раз — именно поэтому разработали калькулятор доходности, который показывает реальную картину до принятия решения. Наш инструмент подходит для LP-позиций, лендинга и стейкинга на Ethereum, Polygon, Arbitrum и других сетях. Калькулятор интегрируется с основными протоколами: Aave, Compound, Uniswap, Curve и Balancer. Он учитывает не только APY, но и газ, IL, изменение цены токенов и налоги. Закажите разработку такого калькулятора под ключ — мы оценим ваш проект и предложим решение.

Какие параметры нужно учитывать при расчёте доходности?

Как APY отличается от APR?

APR (Annual Percentage Rate) — простой процент без реинвестирования. APY (Annual Percentage Yield) — с учётом compound interest. Разница существенная:

  • APR 50% → APY ≈ 64.8% при ежедневном compounding
  • APR 50% → APY ≈ 100% при компаундинге каждый блок (~12 сек на Ethereum)

Формула APY через APR: APY = (1 + APR/n)^n - 1, где n — количество периодов начисления в год.

Проблема: в DeFi APY часто отображается с допущением о постоянной ставке и максимальном compounding. В реальности ставка меняется каждый блок, а газ на каждый compound операцию уменьшает реальную доходность. compound interest

Как определить оптимальную частоту compound?

При стандартной стоимости газа на Ethereum и позиции среднего размера с APR 40% — оптимальная частота compound раз в ~7 дней. Чаще — газ съедает больше, чем зарабатывает compound. Калькулятор рассчитывает оптимальный интервал.

Почему impermanent loss критичен для LP?

Для liquidity provider позиций доходность нельзя считать без impermanent loss (IL). Формула IL для Uniswap v2:

IL = 2 * sqrt(priceRatio) / (1 + priceRatio) - 1 

Если ETH/USDC пул: ETH входил по $2000, сейчас $3000. priceRatio = 1.5. IL ≈ -2.02%.

Для Uniswap v3 с concentrated liquidity IL считается иначе — зависит от диапазона позиции. Если цена выходит из диапазона, позиция становится 100% в одном активе (полный IL, комиссии не начисляются). Математика сложнее, но реализуема: нужно знать tickLower, tickUpper, текущий tick.

Реальные компоненты доходности для полного расчёта

interface YieldComponents { baseApr: number; // Lending APR или trading fees rewardApr: number; // Emission rewards в токенах протокола compoundBonus: number; // Прирост от реинвестирования impermanentLoss: number; // Только для LP (отрицательное) tradingFees: number; // Накопленные комиссии за период gasCosts: number; // Все on-chain операции в USD tokenPriceImpact: number; // Изменение цены reward токена realYield: number; // Итого в USD } 

Пошаговая разработка калькулятора

  1. Сбор требований и выбор протоколов для интеграции
  2. Разработка математической библиотеки на TypeScript
  3. Подключение источников данных: The Graph, RPC, API
  4. Реализация симуляции сценариев и gas-калькулятора
  5. UI/UX дизайн с Recharts для визуализации
  6. Интеграция с кошельком через wagmi
  7. Тестирование на testnet и mainnet
  8. Документация и обучение команды

Источники данных

  • Aave v3: getReserveData() возвращает currentLiquidityRate (RAY = 1e27). Конвертация в APY: (1 + rate/SECONDS_PER_YEAR)^SECONDS_PER_YEAR - 1
  • Compound v3: getUtilization()getSupplyRate(utilization) → линейный расчёт APR
  • Uniswap v3: fees APR считается через subgraph или positions() NFT — volume за 24h × fee tier / TVL × 365
  • Curve: get_virtual_price() для base APY + gauge reward APR через CRV emission schedule
  • Balancer: vault API или subgraph для swapFee и volume

The Graph subgraph — предпочтительный источник для исторических данных. Он в 5 раз быстрее получает данные по сравнению с прямыми RPC-вызовами. Прямые RPC вызовы — для real-time текущих ставок.

Симуляция на временном горизонте

Калькулятор не только считает текущий APY, но и проецирует на пользовательский горизонт (30/90/365 дней) с несколькими сценариями:

Сценарий Допущения Назначение
Оптимистичный APR не падает, цена rewards +50% Максимальный потенциал
Базовый APR снижается на 20% за квартал (рост TVL) Реалистичная оценка
Консервативный APR -50%, rewards -70% Защита от ошибочных ожиданий
Bear market APR минимальный, все активы -50% Стресс-тест

Gas cost calculation

Каждая операция имеет measurable gas cost. Ниже — типичные затраты:

Операция Gas (единицы)
aaveDeposit 180 000
aaveWithdraw 210 000
uniswapV3Mint 450 000
uniswapV3Collect 280 000
curveDeposit 320 000
rewardClaim 150 000
const GAS_ESTIMATES = { aaveDeposit: 180_000, aaveWithdraw: 210_000, uniswapV3Mint: 450_000, uniswapV3Collect: 280_000, curveDeposit: 320_000, rewardClaim: 150_000, } as const; function calcGasCost(operation: keyof typeof GAS_ESTIMATES, gasPriceGwei: number): number { const gasUnits = GAS_ESTIMATES[operation]; const ethPrice = getCurrentEthPrice(); return (gasUnits * gasPriceGwei * 1e-9) * ethPrice; // USD } 

Исторические данные по gas price из Etherscan API или The Graph — для расчёта средних затрат при заданной стратегии rebalancing/harvesting.

Функциональность и UX

Минимальный набор:

  • Ввод суммы и периода
  • Выбор протокола/стратегии (поиск по названию)
  • Real-time fetch текущих APR из протоколов
  • Три сценария (оптимистичный/базовый/консервативный)
  • Разбивка: base yield, rewards, impermanent loss, gas costs, net yield
  • Сравнение нескольких стратегий рядом

Дополнительно — ROI breakeven calculator: при какой минимальной сумме и продолжительности стратегия окупает gas costs. Это особенно важно для мелких инвесторов на Ethereum mainnet.

Стек технологий

Frontend: React + TypeScript, Recharts для графиков доходности, wagmi для подключения кошелька. Data: The Graph (APR histories), Alchemy/Infura (real-time chain data), CoinGecko API (цены токенов). Logic: Typescript utility library с чистыми функциями для всех финансовых расчётов — легко тестировать и переиспользовать.

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

Базовый калькулятор для 2-3 протоколов — 3-5 дней. Мульти-протокольный с историческими данными, IL для LP и газ-оптимизатором — 1-2 недели. Стоимость рассчитывается индивидуально. Более 5 лет на рынке DeFi, 20+ реализованных проектов — наш опыт позволяет гарантировать точность расчётов и стабильность работы.

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

  • Анализ требований и подбор протоколов
  • Разработка логики расчётов (TypeScript)
  • Интеграция с real-time данными (The Graph, RPC)
  • UI/UX дизайн интерфейса
  • Тестирование на тестовых сетях и mainnet
  • Документация и обучение команды
  • Поддержка в течение 2 месяцев

Симуляция использует исторические данные APR, моделирует изменение пула, цены токенов и газа. Для каждого сценария запускается 1000 Monte Carlo итераций с варьированием ключевых параметров. Результат — распределение возможной доходности.

Свяжитесь с нами для консультации и получите демо-версию калькулятора под ваш проект. Закажите разработку калькулятора — мы оценим проект и предложим решение.