Розробка системи аналізу тиску продажів від unlock

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

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

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

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

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

Розробка системи аналізу тиску продажів від unlock

Unlock schedule — один з головних джерел ціневого тиску на токен. Кожен раз, коли крупна алокація виходить з vesting, ринок або спокійно переварює це, або отримує dump на 20-40%. Різниця — в тому, наскільки хорошо команда та інвесторів розуміють структуру наступного тиску заздалегідь.

Система аналізу unlock sell pressure вирішує конкретну задачу: за N днів до события дати кількісну оцінку того, яка частина розблокованого обсягу, скоріш за все, вийде на ринок, в які часові вікна, та як це співвідноситься з поточною ліквідністю.

Джерела даних

On-chain vesting контракти

Перший джерело — самі vesting контракти. Якщо токен використовує стандартні схеми (TokenVesting від OpenZeppelin або кастомний VestingWallet), дані повністю on-chain: адреса бенефіціара, totalAmount, cliff, duration, claimed.

// Приклад читання vesting schedule через ethers.js
const vestingContract = new ethers.Contract(VESTING_ADDRESS, VESTING_ABI, provider);

async function getSchedule(beneficiary: string) {
    const schedule = await vestingContract.vestingSchedule(beneficiary);
    return {
        totalAmount: schedule.amountTotal,
        cliff: schedule.cliff.toNumber(),
        duration: schedule.duration.toNumber(),
        released: schedule.released,
        start: schedule.start.toNumber(),
    };
}

Проблема: багато проектів не публікують адреси vesting контрактів явно. Потрібен пошук через emitted события або аналіз транзакцій з деплоя токена.

Token holder snapshots

Другий джерело — snapshots крупних холдерів з Etherscan API, Covalent або The Graph. Адреси з великими балансами, заблокованими з моменту TGE, — потенціальні продавці в момент unlock.

Історичні паттерни

Третій джерело — on-chain історія транзакцій бенефіціарів. Як вел себе дана адреса в попередніх unlock-событях: продавав протягом 24 годин, тримав, переводив на CEX (майже завжди означає продажу).

Класифікація адрес за вероятністю продажі

Не всі розблоковані токени однаково небезпечні. Потрібна сегментація:

Категорія Ознаки Вероятність продажі
Seed/Private investors Ранній вхід, високий multiplier (10x+) 60-85%
Strategic investors Середній multiplier (3-7x) 30-55%
Team Довгострокова цікавість, публічні люди 10-25%
Advisors Часто малий vesting, висока мотивація виходу 40-70%
Ecosystem/Community Розподілені адреси, малі суми 15-30%

Це не точні цифри — вони калібруються під конкретний проект на основі історичних даних. Якщо команда вже проходила через unlocks (наприклад, часткові розблокування), історія дає реальну calibration.

Ліквідностний контекст

Сума тиску продажів сама по собі малоінформативна без порівняння з ліквідністю рынку. Ключові метрики:

Sell pressure ratio — розблокуваний обсяг (в USD) поділений на середньодневний обсяг торгів за останні 30 днів. Якщо SPR > 0.3 (30%), чекай турбулентності.

DEX depth analysis — реальна ліквідність в AMM пулах. Через Uniswap v3 subgraph можна отримати розподіл ліквідності по цінових діапазонах і розрахувати price impact для різного обсягу продажів.

// Запит до Uniswap v3 subgraph для аналізу глибини пулу
const POOL_QUERY = `
  query GetPool($poolId: String!) {
    pool(id: $poolId) {
      liquidity
      token0Price
      ticks(first: 100, orderBy: tickIdx) {
        tickIdx
        liquidityNet
        liquidityGross
      }
    }
  }
`;

// Price impact при продажі X токенів розраховується
// через симуляцію swap по формулі Uniswap v3
function estimatePriceImpact(sellAmount: bigint, poolData: PoolData): number {
    // симуляція через тики ліквідності
    // ...
}

CEX order book depth — якщо токен торгується на Binance/OKX, потрібно аналізувати глибину bid-стакана. Менш автоматизуємо, але критично для токенів з основним обсягом на CEX.

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

Система складається з кількох компонентів:

Scheduler — читає всі vesting контракти, будує timeline разблокування на наступні 12 місяців. Оновлюється щоденно.

Classifier — присвоює кожному адресі-бенефіціару категорію та вероватність продажі. Використовує on-chain історію + метаданні (публічний інвестор, фонд з відомою політикою тощо).

Pressure Calculator — для кожного unlock события рахує очікуваний sell pressure в USD з доверительним інтервалом.

Liquidity Monitor — агрегує дані про ліквідність з DEX та CEX, оновлюється кожні 15 хвилин.

Alert Engine — за 7 днів та за 24 години до unlock генерує репорт: очікуваний обсяг тиску, поточна ліквідність, рекомендації (наприклад: «розглянути buyback програму» або «підготувати MM для підтримки стакана»).

Мітигація тиску

Система не лише аналізує — допомагає приймати рішення. Інструменти мітигації:

OTC договорённості з крупними інвесторами — продажа вне ринку, без ціневого тиску. Реалізуємо для адрес з сумою > $500K.

Buyback програма — якщо проект має treasury, зарезервувати частину коштів для поглинання sell pressure. Система розраховує необхідний обсяг buyback для утримання ціни в заданому діапазоні.

Unlock smoothing — якщо vesting контракт дозволяє, можна договоритися з бенефіціарами про voluntary lockup extension в обмін на додаткове вознаграження. Деякі проекти роблять це через governance голосування.

Комунікаційна підготовка — заблаговременне публічне розкриття інформації про unlock знижує панік. Система генерує дані для підготовки investor update.

Stack розробки

Backend: Node.js + TypeScript, PostgreSQL для зберігання історичних даних, Redis для кешу on-chain даних. Blockchain indexing: або власний indexer на основі ethers.js, або інтеграція з Covalent/Alchemy/The Graph.

Frontend (dashboard): React + recharts для візуалізації timeline, таблиці з детализацією по адресам, export в CSV для звітності.

Розробка займає 4-8 тижнів залежно від кількості підтримуваних мереж та глибини аналізу. Пріоритет — точність даних та надійність алертів перед красотою інтерфейсу.