Розробка системи звітності крипто-фонду під ключ
Типовий крипто-фонд: 40+ гаманців на 5 блокчейнах, позиції в Uniswap V3, Aave, стейкінг ETH, частина активів на Binance. Ручне зведення звітів забирає 40 годин на тиждень, а помилки в розрахунку P&L коштують тисяч доларів. Готового SaaS для такої специфіки немає — або ви втрачаєте деталізацію, або платите за інтеграцію кожного протоколу окремо.
Ми створюємо кастомні системи звітності, які агрегують дані безпосередньо з блокчейну та CEX, розраховують P&L з підтримкою FIFO, LIFO та ACB, і генерують NAV, investor report та податковий звіт. Наш досвід — 5+ років у блокчейн-розробці, 20+ проєктів для фондів з AUM до $500M. Замовте таку систему — вона окупиться за 6 місяців за рахунок скорочення ручної праці на 80%.
Чому агрегація через RPC та API, а не через DeBank?
Агрегатори на кшталт Zapper або DeBank зручні для перегляду портфеля, але не для звітності. Вони не дають доступу до сирих даних, не підтримують усі протоколи та можуть помилятися в розрахунках. Для аудиторської достовірності потрібні прямі дані з блокчейну. EVM-мережі опитуємо через RPC, використовуючи Multicall3 — контракт, розгорнутий на всіх популярних мережах. Він дозволяє виконати десятки викликів balanceOf за один запит, скорочуючи час збору на 98% та навантаження на інфраструктуру. Solana обробляємо через Helius RPC з batch-запитами. CEX інтеграція — через історію trades Binance, OKX та Bybit API.
Як працює облік Uniswap V3 LP позицій?
LP позиції — це NFT з tokenId. Читаємо контракт NonfungiblePositionManager, витягуємо liquidity, tick range та accrued fees. Поточну вартість рахуємо через квантову математику тіків пулу — це єдиний коректний спосіб. Без нього ви не побачите impermanent loss та непідтверджену комісію.
def get_uniswap_v3_position_value(token_id: int, block: int = None) -> dict: position_manager = w3.eth.contract( address="0xC36442b4a4522E871399CD717aBDD847Ab11FE88", abi=NPM_ABI ) pos = position_manager.functions.positions(token_id).call(block_identifier=block or "latest") # pos: (nonce, operator, token0, token1, fee, tickLower, tickUpper, # liquidity, feeGrowthInside0LastX128, feeGrowthInside1LastX128, # tokensOwed0, tokensOwed1) liquidity = pos[7] tick_lower, tick_upper = pos[5], pos[6] pool = get_pool(pos[2], pos[3], pos[4]) current_tick = pool.functions.slot0().call()[1] sqrt_price = pool.functions.slot0().call()[0] amount0, amount1 = calculate_amounts(liquidity, sqrt_price, tick_lower, tick_upper, current_tick) fees0, fees1 = calculate_uncollected_fees(pos, pool, tick_lower, tick_upper) return { "principal": {"token0": amount0, "token1": amount1}, "fees": {"token0": fees0, "token1": fees1} } Порівняння методів вартісної бази: FIFO, LIFO, ACB
Вибір методу безпосередньо впливає на P&L та податкові зобов'язання. Ось порівняння:
| Метод | Принцип | Коли краще | Недоліки |
|---|---|---|---|
| FIFO | Перший прийшов — перший пішов | Стандарт, підходить для довгострокових інвесторів | Може збільшувати податок при зростанні |
| LIFO | Останній прийшов — перший пішов | Оптимізація при зростаючому ринку | Не дозволений у деяких юрисдикціях |
| ACB | Середня вартість | Простота, підходить для частих торгів | Може давати неточний P&L при великих коливаннях |
Реалізація FIFO на Python:
from dataclasses import dataclass from collections import deque from decimal import Decimal @dataclass class Lot: amount: Decimal cost_basis_usd: Decimal acquired_at: datetime class FIFOLedger: def __init__(self): self.lots: dict[str, deque[Lot]] = {} def buy(self, symbol: str, amount: Decimal, price_usd: Decimal, ts: datetime): if symbol not in self.lots: self.lots[symbol] = deque() self.lots[symbol].append(Lot(amount, amount * price_usd, ts)) def sell(self, symbol: str, amount: Decimal, price_usd: Decimal, ts: datetime) -> Decimal: proceeds = amount * price_usd cost = Decimal(0) remaining = amount while remaining > 0 and self.lots[symbol]: lot = self.lots[symbol][0] if lot.amount <= remaining: cost += lot.cost_basis_usd remaining -= lot.amount self.lots[symbol].popleft() else: portion = remaining / lot.amount cost += lot.cost_basis_usd * portion lot.amount -= remaining lot.cost_basis_usd -= lot.cost_basis_usd * portion remaining = Decimal(0) return proceeds - cost Етапи впровадження системи звітності
- Аналіз портфеля — збираємо адреси, протоколи, необхідну історію (7 днів, 30 днів, вся історія).
- Проектування архітектури — визначаємо адаптери для кожного протоколу, метод вартісної бази, формати звітів.
- Розробка агрегаторів — пишемо скрипти для Multicall3, CEX API, кастомних контрактів.
- Інтеграція ML-модуля P&L (опціонально) — для передбачення impermanent loss та оптимізації ребалансування LP.
- Генерація звітів — NAV, P&L, transaction history, tax report у PDF/Excel.
- Деплой та навчання — розгортаємо на вашому сервері або в хмарі, навчаємо команду.
Що входить у результат
- Скрипти агрегації для EVM та Solana, підтримка 20+ протоколів (Uniswap, Aave, Compound, Lido, Curve та ін.).
- Інтеграція CEX (Binance, OKX, Bybit) з автоматичним вивантаженням trades.
- Розрахунок P&L (FIFO/LIFO/ACB на вибір) з урахуванням комісій та сплітів.
- Детерміновані звіти — будь-який аудитор може відтворити дані з вихідних контрактів.
- Повна документація, навчання команди, гарантія точності (верифікація кожного виклику).
Кейс: як ми скоротили ручну працю на 80% для фонду з AUM $200M
Фонд M керував 80 гаманцями на 6 мережах, включаючи складні LP в Uniswap V3 та стейкінг в Rocket Pool. Раніше звітність займала 35 годин на тиждень. Впровадили кастомну систему на основі Multicall3 та FIFO-ledger. Результат: автоматичний збір за 5 хвилин, щотижневий звіт — 1 година на перевірку. Система працює 2 роки, жодного розходження з ретроспективним аудитом.
Строки та як почати
Базова версія для 5–10 адрес на 3–4 мережах з базовими DeFi протоколами займає 3–5 тижнів. Вартість розраховується індивідуально — залежить від кількості адрес, протоколів та глибини історії. Зазвичай проєкт окупається за півроку за рахунок скорочення ручної праці на 80%.
Отримайте консультацію — зв'яжіться з нами, і ми підготуємо пропозицію під вашу специфіку. Замовте демо-версію для вашого портфеля вже сьогодні.







