Моніторинг ліквідності DeFi-протоколу

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Моніторинг ліквідності DeFi-протоколу
Середній
~3-5 днів
Часті запитання

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

Етапи блокчейн-розробки

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1286
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

Моніторинг ліквідності DeFi-протоколу

Протокол з $50M TVL без мониторингу ліквідності — це не економія на інструментах, це сліпе управління ризиком. Коли 30% ліквідності уходить з пулу за 4 години через whale withdrawal, у команди два варіанти: дізнатися про це через алерт та прийняти заходи, або дізнатися з твіта про те, що користувачі не можуть зробити своп через high slippage.

Що мониторити та чому це нетривіально

Концентрація ліквідності у Uniswap v3

У Uniswap v2 загальна ліквідність — зрозуміла метрика: reserve0 * reserve1 = k, чим більше k, тим краще slippage. У Uniswap v3 ліквідність концентрована по тиках. Пул може мати $10M TVL, але якщо 95% зосереджено в діапазоні ±2% від поточної ціни — при виході ціни з цього діапазону effective liquidity падає в 20 раз.

Правильний мониторинг: не просто totalValueLocked, а activeLiquidity — ліквідність в активному діапазоні навколо поточної ціни. Метрика з Uniswap v3 субграфа:

query ActiveLiquidity {
  pool(id: "0x...") {
    liquidity
    sqrtPrice
    tick
    ticks(where: { liquidityNet_not: "0" }, orderBy: tickIdx) {
      tickIdx
      liquidityNet
    }
  }
}

З цих даних будуємо depth chart: скільки ліквідності доступно при ±1%, ±5%, ±10% русі ціни.

Виявлення whale withdrawal

Крупний LP може одночасно вивести ліквідність, обруушивши depth на конкретному ринку. Для протоколу, який залежить від ліквідності в певних пулах (наприклад, стейблкоїн-пулі для redemption), це критичний ризик.

Мониторимо eventi Burn (Uniswap v3) та RemoveLiquidity (Curve, Balancer) через WebSocket підписку. Якщо один LP виводить >10% від total liquidity — алерт одразу.

Стек мониторингу

Збір даних

Три шари джерел:

On-chain eventi (realtime). ethers.js WebSocket підписка на события Sync, Swap, Mint, Burn цільових контрактів. Затримка — секунди від підтвердження транзакції. Потрібна власна нода або WSS від Alchemy/Infura з підтримкою eth_subscribe.

The Graph субграфи (з затримкою 1-5 хвилин). Зручен для агрегованих метрик — hourly/daily TVL, volume, fees. Для історичних даних та трендів. Офіційні субграфи Uniswap, Curve, Balancer, Aave, Compound доступні в The Graph Explorer.

DeFi Llama API (з затримкою 10-60 хвилин). Зручен для cross-protocol TVL порівнянь та загальної картини. Не підходить для realtime алертів.

Зберігання та візуалізація

TimescaleDB (PostgreSQL extension) — оптимален для time-series даних про ліквідність. Партиціювання по часу, гіпертаблиці для автоматичного архівування історичних даних.

Grafana + TimescaleDB datasource — стандартний стек для дашборду. Преднаставлені панелі для:

  • TVL по пулах у реальному часі
  • Depth chart (доступна ліквідність при заданому slippage)
  • Volume/liquidity ratio (індикатор стресу)
  • Top LP-провайдери та їх доля

Система алертів

Метрика Поріг попередження Поріг критичний Канал
TVL drop -10% за 1 час -25% за 1 час Telegram
Single LP withdrawal >5% total liquidity >15% total liquidity PagerDuty
Slippage (1% trade) >0.5% >2% Telegram
Price deviation from oracle >2% >5% PagerDuty
Utilization (lending) >80% >95% PagerDuty

PagerDuty або OpsGenie для критичних алертів — push-уведомлення на телефон, незалежно від часу доби. Telegram-бот для інформаційних уведомлень.

Tenderly Alerts — альтернатива для on-chain подій без власної інфраструктури: налаштовуєш триггери через UI, webhook на Discord/Slack/Telegram.

Розрахунок та мониторинг APY

APY у DeFi непостійний: залежить від volume (trading fees), токен-емісії (liquidity mining rewards) та базової ставки (для лендингу).

Формула для LP APY у Uniswap v3:

dailyFees = pool.volumeUSD24h * feeTier / 1_000_000
feeAPR = (dailyFees / pool.tvlUSD) * 365

При TVL $1M та дневному обсязі $2M на пулі з fee 0.05% (500): dailyFees = $1000, feeAPR = 36.5%. Але це на весь TVL. LP з концентрованою позицією в активному діапазоні заробляє більше пропорційно своєму effective liquidity.

Мониторимо APY по кожному пулу з alerting при різкому падінні — це сигнал про зниження торговельної активності або про те, що обсяг пішов на конкуруючий пул.

Процес впровадження

Інвентаризація (1 день). Список всіх контрактів, подій, метрик для мониторингу. Пріоритизація: що критично для роботи протоколу.

Настройка збору даних (1-2 дні). WebSocket indexer на Node.js/TypeScript, запис у TimescaleDB. Для історичних даних — первинна синхронізація через The Graph.

Дашборд (1 день). Grafana з основними панелями. Не потрібно робити красиво — потрібно робити читаємо та з правильними часовими вікнами.

Алерти (1 день). Пороги на основі історичних даних протоколу. Занадто чутливі алерти — команда перестає на них реагувати. Починаємо з 5-6 критичних метрик.

Орієнтири за часовими рамками

Базовий мониторинг одного протоколу (TVL, eventi, алерти) — 3-5 днів. Комплексний мониторинг кількох протоколів з depth chart, APY traking та кастомним дашбордом — до 2 тижнів.