Пользователь видит 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 } Пошаговая разработка калькулятора
- Сбор требований и выбор протоколов для интеграции
- Разработка математической библиотеки на TypeScript
- Подключение источников данных: The Graph, RPC, API
- Реализация симуляции сценариев и gas-калькулятора
- UI/UX дизайн с Recharts для визуализации
- Интеграция с кошельком через wagmi
- Тестирование на testnet и mainnet
- Документация и обучение команды
Источники данных
- 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 итераций с варьированием ключевых параметров. Результат — распределение возможной доходности.
Свяжитесь с нами для консультации и получите демо-версию калькулятора под ваш проект. Закажите разработку калькулятора — мы оценим проект и предложим решение.







