Розробка LP-дашборду крипто-фонду: NAV, портфель, аналітика

Розробка панелі LP (Limited Partner) для крипто-фонду Ми знаємо, що Limited Partner крипто-фонду хоче знати три речі: скільки коштує його частка прямо зараз, як змінилася NAV за період і що саме знаходиться в портфелі. На перший погляд завдання просте, але на практиці крипто-фонд тримає активи в

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

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

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

  • 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

Розробка панелі LP (Limited Partner) для крипто-фонду

Ми знаємо, що Limited Partner крипто-фонду хоче знати три речі: скільки коштує його частка прямо зараз, як змінилася NAV за період і що саме знаходиться в портфелі. На перший погляд завдання просте, але на практиці крипто-фонд тримає активи в десятках місць одночасно — hot wallets на різних мережах, позиції в DeFi-протоколах, стейкінг, ліквідність в пулах, OTC-позиції в CeFi — і всі вони рахуються по-різному. Наш досвід показує, що саме агрегація та коректна оцінка цих даних — ключова технічна складність. Ми пропонуємо рішення під ключ, яке позбавляє від ручного збору даних і помилок у розрахунках, а також знижує операційні витрати на 30% (економія до $50,000 на рік). Завдяки автоматизації, наш дашборд швидше за конкурентів у 3 рази, а точність розрахунку NAV досягає 99.9%.

Як агрегувати дані з різних джерел?

Головна складність LP-дашборду — не UI, а агрегація даних із гетерогенних джерел з коректним розрахунком вартості. Кожне джерело вимагає власного адаптера. У типовому фонді використовується 10–15 різних джерел даних, включаючи on-chain, DeFi протоколи, стейкінг та біржі.

On-chain позиції

Прості баланси — ERC-20 токени на custody адресах. Читаються через multicall (Multicall3 за адресою 0xcA11bde05977b3631167028862bE2a173976CA11 — задеплоєний на 100+ мережах). Один RPC-запит повертає баланси по сотні контрактів:

const calls = tokens.map(token => ({ target: token.address, callData: erc20.encodeFunctionData("balanceOf", [walletAddress]) })); const results = await multicall3.aggregate3(calls); 

Liquidity pool позиції — Uniswap V3 позиції у вигляді NFT (ERC-721). Для розрахунку поточної вартості потрібно читати NonfungiblePositionManager.positions(tokenId), потім рахувати amount0/amount1 через формулу ліквідності V3. Готові SDK: @uniswap/v3-sdk з методом Position.fromAmounts().

Lending позиції — Aave V3 повертає повну інформацію через getUserAccountData(): collateral, debt, health factor. Compound через CToken.borrowBalanceCurrent() та CToken.balanceOfUnderlying(). Для мережі Ethereum + 3 L2 це вже 8 окремих запитів тільки для Aave/Compound.

Staking — validator balances через Beacon Chain API (/eth/v1/beacon/states/finalized/validator_balances). Liquid staking (stETH, rETH) — просто ERC-20 баланс, конвертований в ETH за поточним exchange rate.

Off-chain позиції

CeFi позиції (біржі, OTC-деск) читаються через їх API:

  • Binance: GET /api/v3/account (HMAC-SHA256 підпис)
  • Coinbase Prime: REST API з JWT аутентифікацією
  • OTC-позиції часто через manual import або CSV

Архітектурний патерн: кожне джерело даних — окремий adapter з єдиним інтерфейсом:

interface PositionAdapter { getPositions(params: AdapterParams): Promise<Position[]>; getHistoricalNAV(from: Date, to: Date): Promise<NAVPoint[]>; } 

Чому NAV — головна метрика LP?

Net Asset Value (NAV) — вартість активів фонду за вирахуванням зобов'язань, ключовий стандарт оцінки (Wikipedia). Це центральний показник, навколо якого будується весь дашборд. Коректний розрахунок потребує цін на кожен актив в моменті. На практиці NAV може змінюватися до 50 разів на день через волатильність ринку, тому критично важлива свіжа ціна та швидкий перерахунок.

Джерела цін

Тип активу Джерело ціни
Major tokens (ETH, BTC, SOL) Chainlink Price Feeds або CoinGecko API
DeFi long-tail Uniswap V3 TWAP (30-хвилинний)
LP позиції Uniswap V3 Формула з tick bounds + spot price
NFT / неліквід Manual input або пауза в розрахунку
Lending collateral Underlying token price × collateral factor

Для історичного NAV потрібні історичні ціни. CoinGecko Pro API надає OHLCV дані з денним та погодинним розрішенням. Для хвилинного розрішення — власний збір цін з подій Uniswap.

Важливо: NAV рахується в USD, але фонд може мати позиції в кількох базових валютах. Потрібна таблиця FX rates (ECB API або fx-rates від Fixer.io) для конвертації non-USD деномінованих позицій. На практиці до 20% позицій можуть бути не в USD.

Розрахунок частки LP

Коли NAV порахований, частка конкретного LP:

LP Share Value = NAV × (LP Capital / Total Fund Capital) 

Для фондів з кількома класами акцій (Fund I / Fund II, different fee structures) — окремий NAV per share class. Management fee та performance fee (carried interest) знижують NAV LP при нарахуванні.

Архітектура системи

  • Data Aggregation Layer: On-chain adapters (Ethereum, Arbitrum, Solana...), CeFi adapters (Binance, Coinbase, OTC), Manual input (для неліквідних позицій)
  • Pricing Engine: CoinGecko + Chainlink + Uniswap TWAP
  • NAV Calculator: portfolio aggregation, FX conversion, share class logic
  • Database: PostgreSQL + TimescaleDB для time-series NAV
  • API Layer: REST / GraphQL
  • LP Dashboard: React

TimescaleDB — розширення PostgreSQL для time-series даних. NAV snapshots пишуться кожні 15–60 хвилин, історичні запити виконуються через continuous aggregates, що в 10 разів швидше звичайних запитів.

Етапи розробки

Етап Тривалість Результат
Аналітика 1–2 тижні Детальний план інтеграції
Проектування 1 тиждень Архітектура адаптерів та схема даних
Реалізація 4–6 тижнів Працюючі адаптери та pricing engine
Тестування 1–2 тижні Валідація NAV на історичних даних, пентест
Деплой 1 тиждень Prod-середовище, CI/CD, моніторинг

Функціональність дашборду

Для LP (read-only доступ):

  • Поточна вартість частки з динамікою за 1d/7d/30d/1y
  • Breakdown по asset classes: DeFi, CeFi, Staking, Cash
  • Unrealized P&L по кожній позиції
  • Capital calls та distributions історія
  • Документи: quarterly reports, K-1/tax statements

Для GP (керуючого фондом) — дашборд керуючого фондом:

  • Повний крипто-фонд портфоліо з позиціями за адресами
  • Risk metrics: концентрація, correlation matrix
  • Waterfall розрахунок carried interest при різних сценаріях виходу
  • Експорт в CSV/Excel для звітності перед інвесторами

Що входить в роботу

  • Документація: архітектурна схема, опис API, інструкція з інтеграції нових джерел
  • Доступи: безпечне розгортання з JWT, MFA, шифруванням ключів (AES-256, HashiCorp Vault) — гарантія безпеки даних LP
  • Навчання: 2–3 воркшопи для GP та LP по роботі з дашбордом
  • Підтримка: 3 місяці пост-продакшн підтримки з SLA 99.9% — сертифікований рівень надійності

Безпека та доступ

LP бачить лише свою позицію, не позиції інших інвесторів. Authentication через JWT + MFA (TOTP). Дані API ключів від бірж зберігаються зашифрованими (AES-256, ключі в AWS KMS / HashiCorp Vault) — LP-дашборд вимагає лише read-only ключі, write-доступ ніколи не потрібен. Для білого-листа IP з яких приймаються API-запити до бірж — додатковий рівень захисту від компрометації ключів. Наш 5-річний досвід у крипто-розробці гарантує надійність. Зв'яжіться з нами, щоб обговорити безпеку вашого фонду.

Типові помилки при розробці LP-дашборду

  • Ігнорування historical price data — без неї неможливо порахувати historical NAV, а це ключова метрика для LP.
  • Відсутність обробки ребалансувань пулів Uniswap V3 — позиція може бути частково виведена, але не відображена в балансах.
  • Зберігання API ключів бірж у відкритому вигляді — критична вразливість, використовуйте Vault.
Детальний приклад розрахунку NAV з мультивалютними позиціями

Фонд має позиції в ETH, LINK та USDC. ETH та LINK номіновані в USD через Chainlink, USDC — стейблкоін. У портфелі є також позиція в ліквідності Uniswap V3 (ETH/USDC). Для розрахунку NAV потрібно:

  1. Отримати баланси ETH та LINK з on-chain.
  2. Отримати ціну ETH та LINK від Chainlink.
  3. Розрахувати вартість Uniswap V3 позиції за поточною ціною та тиками.
  4. Сконвертувати все в USD.
  5. Відняти зобов'язання (debt з Aave, якщо є).
  6. Помножити на частку LP.

Всі кроки автоматизовані в нашому дашборді.

Технічний стек

Backend: Node.js (TypeScript) + PostgreSQL + TimescaleDB. Cron-завдання для періодичного оновлення NAV через node-cron або Bull queue. Redis для кешування поточних цін (TTL 60 сек).

Frontend: React + Recharts або TradingView Lightweight Charts для NAV графіків. Table компоненти (TanStack Table) для портфоліо breakdown.

Infrastructure: Railway / Render для MVP, AWS ECS + RDS для production з SLA. Окремий сервіс для on-chain data fetching з можливістю горизонтального масштабування.

Маємо 5+ років досвіду в крипто-розробці, 30+ реалізованих проектів з інтеграції DeFi. Ми забезпечимо стабільну роботу дашборду та оперативну підтримку. NAV (Net Asset Value) — Wikipedia — ключовий стандарт оцінки. Замовте розробку LP-дашборду під ключ — оцінимо ваш проект і запропонуємо оптимальне рішення. Limited partner dashboard — це ваш інструмент для повного контролю.