Користувач бачить 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
- Реалізація симуляції сценаріїв та газ-калькулятора
- 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 тижні. Вартість розраховується індивідуально. Наш багаторічний досвід на ринку DeFi та десятки реалізованих проєктів дозволяють гарантувати точність розрахунків та стабільність роботи.
Що входить в роботу
- Аналіз вимог та підбір протоколів
- Розробка логіки розрахунків (TypeScript)
- Інтеграція з real-time даними (The Graph, RPC)
- UI/UX дизайн інтерфейсу
- Тестування на тестових мережах та mainnet
- Документація та навчання команди
- Підтримка протягом 2 місяців
Симуляція використовує історичні дані APR, моделює зміну пулу, ціни токенів та газу. Для кожного сценарію запускається 1000 Monte Carlo ітерацій з варіюванням ключових параметрів. Результат — розподіл можливої дохідності.
Зв'яжіться з нами для консультації та отримайте демо-версію калькулятора під ваш проєкт. Замовте розробку калькулятора — ми оцінимо проєкт і запропонуємо рішення.







