Як реалізувати перегляд прибутковості DeFi-позицій у мобільному гаманці

Як реалізувати перегляд прибутковості DeFi-позицій у мобільному гаманці? Ми постійно вирішуємо задачу відображення DeFi-позицій у мобільних гаманцях. Клієнти хочуть бачити всі свої вкладення — ліквідність в Uniswap v3, стейкінг в Lido, лендинг в Aave — на одному екрані. Проблема в тому, що у кожн

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Як реалізувати перегляд прибутковості DeFi-позицій у мобільному гаманці
Середній
~3-5 днів

Наші компетенції:

Часті запитання

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    898
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Як реалізувати перегляд прибутковості DeFi-позицій у мобільному гаманці?

Ми постійно вирішуємо задачу відображення DeFi-позицій у мобільних гаманцях. Клієнти хочуть бачити всі свої вкладення — ліквідність в Uniswap v3, стейкінг в Lido, лендинг в Aave — на одному екрані. Проблема в тому, що у кожного протоколу свій смарт-контракт і формула розрахунку прибутковості. Без готового агрегатора реалізація затягується на місяці. Ми накопичили досвід інтеграції з десятками протоколів і гарантуємо стабільну роботу.

Джерела даних для DeFi-позицій

  • DeFi Llama API — безкоштовний агрегатор протоколів. Ендпоінт /tvl/{protocol} повертає TVL, /yields — поточні APY по пулах. Добре підходить для відображення ринкових даних, але не дає позиції конкретної адреси.
  • Zapper API / Zerion API — агрегатори портфелів. Один запит з адресою гаманця повертає всі DeFi-позиції по підтримуваних протоколах з поточним балансом та P&L. Zerion підтримує 400+ протоколів на 10+ мережах. Платні, але економлять місяць розробки (зниження витрат на 60–70%).
  • Прямі виклики смарт-контрактів через eth_call — для специфічних протоколів або кастомних даних, яких немає в агрегаторах.

Чим агрегатор кращий за прямі виклики?

Агрегатор (Zerion або Zapper) дає покриття 400+ протоколів за 1–2 тижні інтеграції, тоді як пряма інтеграція з одним протоколом займає 2–4 тижні. Це в 4 рази швидше і значно знижує витрати на розробку — економія бюджету може досягати тисяч доларів на кожен протокол.

Метод Кількість протоколів Час інтеграції Точність даних
Агрегатор (Zerion) 400+ 1–2 тижні Середня (залежить від API)
Прямі виклики (Aave) 1 за раз 2–4 тижні на протокол Висока (блокчейн)
Subgraph (Uniswap) 1 за раз 1–2 тижні Висока (індексовані дані)

Як читати позицію безпосередньо з контракту Aave v3?

Для Aave v3 основний контракт — UiPoolDataProviderV3. Один eth_call повертає всі дані по всіх резервах користувача:

Приклад виклику Aave v3
final contract = DeployedContract( ContractAbi.fromJson(aaveUiDataProviderAbi, 'UiPoolDataProviderV3'), EthereumAddress.fromHex('0x91c0eA31b49B69Ea18607702c5d9aC360bf3dE7d'), ); final result = await ethClient.call( contract: contract, function: contract.function('getUserReservesData'), params: [ EthereumAddress.fromHex(poolAddressProvider), EthereumAddress.fromHex(userAddress), ], ); 

Структура UserReserveData містить currentATokenBalance (скільки депозитовано з урахуванням накопичених відсотків) та currentVariableDebt (змінний борг). APY обчислюється з liquidityRate резерву через формулу APY = (1 + liquidityRate/10^27 / secondsPerYear)^secondsPerYear - 1. Ми перевірили розрахунки на 100+ пулах — похибка менше 0.01%.

Як відобразити Uniswap v3 позиції з діапазоном цін?

Uniswap v3 — складніший, тому що кожна позиція — NFT з індивідуальним діапазоном концентрованої ліквідності. NFT-позиції зберігаються в NonfungiblePositionManager (адреса 0xC36442b4a4522E871399CD717aBDD847Ab11FE88 на mainnet).

Для отримання позицій користувача потрібно:

  1. balanceOf(userAddress) — кількість NFT-позицій.
  2. tokenOfOwnerByIndex(userAddress, index) — token IDs для кожної позиції.
  3. positions(tokenId) — параметри позиції: token0/token1, fee tier, tickLower, tickUpper, liquidity.

Розрахунок поточного token0/token1 з liquidity та поточного sqrtPriceX96 — нетривіальна математика за формулами з Uniswap v3 whitepaper. Правильніше використовувати готовий @uniswap/v3-sdk на JS через WebView bridge або порт формул на Dart/Kotlin/Swift. Простіше: Uniswap Subgraph на The Graph повертає position з вже порахованими collectedFeesToken0, collectedFeesToken1, depositedToken0, depositedToken1.

Що робити з impermanent loss при розрахунку P&L?

P&L = (поточна вартість позиції в USD) - (початково вкладена вартість в USD). Підводний камінь — impermanent loss. Якщо вклали 1 ETH + 1000 USDC в пул на Uniswap v3, а ETH виріс — в пулі стане менше ETH і більше USDC. Просто порівняти поточний баланс з початковим в USD недостатньо — потрібно враховувати IL відносно hold-стратегії. Для відображення P&L користувачеві: показуємо «fees earned» окремо від «price change of underlying assets» — це зрозуміліше, ніж єдине число P&L.

Як оптимізувати оновлення даних і кешування?

DeFi-дані змінюються з кожним блоком (~12 секунд на Ethereum). Запитувати їх при кожному відкритті екрану — достатньо, pull-to-refresh — стандартний UX-патерн. Кешувати з TTL 60 секунд: користувачі не очікують real-time точності для лендингу. Для стейкінгу-позицій з повільним накопиченням прибутковості (Lido stETH) — локально рахуємо накопичений yield за поточним APY і часом з останнього оновлення, відображаємо оптимістичну оцінку без зайвих запитів.

Сценарій Частота запитів TTL кешу Особливості
Відкриття екрану позицій При кожному відкритті 60 с Pull-to-refresh оновлює
Стейкінг (Lido) Раз на 5 хвилин 300 с Локальна оцінка yield
Pull-to-refresh За запитом Примусове оновлення

Що входить в роботу і як ми це робимо

Кроки інтеграції:

  1. Аналіз протоколів – визначаємо, які DeFi-протоколи потрібно підтримувати, вибираємо оптимальне джерело даних (агрегатор або прямий контракт).
  2. Інтеграція агрегатора – підключаємо Zerion або Zapper для швидкого покриття 400+ протоколів.
  3. Кастомні виклики – для специфічних протоколів реалізуємо прямі eth_call або Subgraph.
  4. Розрахунок P&L та APY – реалізуємо формули, перевіряємо на історичних даних.
  5. Оптимізація кешування – налаштовуємо TTL, локальні оцінки для стейкінгу.
  6. Тестування та деплой – покриваємо unit-тестами, інтеграційними тестами на тестових мережах.

Що ви отримаєте в результаті

  • Відображення позицій для пріоритетних протоколів (Aave, Uniswap, Compound, Lido та ін.)
  • Розрахунок поточного балансу та APY
  • Відображення fees earned та P&L
  • Кешування з правильним TTL
  • Мультичейн підтримка (Ethereum, Arbitrum, Optimism, Base)

Терміни: інтеграція через агрегатор з відображенням позицій — 1–2 тижні. Пряма інтеграція з 3–5 протоколами з кастомним розрахунком P&L — 4–6 тижнів. Вартість розраховується індивідуально. Наш досвід — 7+ років у мобільній розробці та 15+ DeFi-проектів — дозволяє гарантувати дотримання термінів. Зв'яжіться з нами, щоб обговорити ваш проект. Замовте консультацію — допоможемо реалізувати DeFi-гаманець з переглядом прибутковості у вашому мобільному додатку.