Разработка системы мониторинга vesting-расписаний токенов

После масштабного airdrop токенов в протоколе на Arbitrum мы наблюдали классическую картину: держатели начали дампить позиции мгновенно, а команда не успевала отследить распределение. Через неделю цена упала на 80%, и ретроспективный анализ показал, что 40% allocation было unlocked в первый день — ч

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1308
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1003
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1269
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1009

После масштабного airdrop токенов в протоколе на Arbitrum мы наблюдали классическую картину: держатели начали дампить позиции мгновенно, а команда не успевала отследить распределение. Через неделю цена упала на 80%, и ретроспективный анализ показал, что 40% allocation было unlocked в первый день — часть из них принадлежала сибилам. Именно тогда стало очевидно: мониторинг vesting-расписаний — не опция, а необходимость. Без него любая разблокировка токенов — это игра в рулетку.

Контракт vesting сам по себе не даёт картины. Вы видите только адрес получателя и общую сумму. А после разблокировки токены мгновенно уходят на биржи, и команда узнаёт об этом постфактум, когда цена уже обвалилась. Наша система решает три ключевые задачи: ранние алерты о грядущих unlock, аналитика распределения и контроль над корпоративными и приватными сейлами.

Как работает система: архитектура

Система состоит из трёх слоёв:

  1. Индексатор событий. Подключаемся к ноде (QuickNode или Alchemy) или используем The Graph. Сканируем контракты vesting (ERC-20, ERC-721, ERC-1155 с vesting-логикой) и сохраняем события Claim, VestingCreated, Withdraw. Данные пишутся в PostgreSQL.
  2. Расчётный движок. На Python или TypeScript вычисляем для каждого адреса totalVested, claimed, remaining. Применяем формулу:
function vestedAmount(address user, uint256 total) public view returns (uint256) { uint256 elapsed = block.timestamp - vestingStart[user]; if (elapsed < cliff) return 0; uint256 duration = vestingDuration[user]; return (total * min(elapsed - cliff, duration)) / duration; } 
  1. Дашборд и алерты. Веб-интерфейс (React + Viem) показывает таблицу по всем адресам: статус, дата следующего unlock, объём. Алерты через Telegram/Slack при приближении крупных unlock или подозрительной активности.

Какие проблемы мы решаем

Сибилы ликвидируют позиции сразу после unlock. Даже с vesting 90 дней кластер ферм может скоординированно сливать токены. Решение: on-chain кластерный анализ — адреса, получившие токены из одного источника и активные в одинаковые блоки, помечаются как рисковые. Для них включается дополнительный алерт при любом движении.

Отсутствие данных по кросс-чейн мониторингу. Многие протоколы разворачивают контракты на нескольких L2 (Arbitrum, Optimism, Base). Наша система агрегирует события из всех сетей в единый дашборд. Вы видите total supply по всем цепям, а не фрагменты.

Сложность расчёта для нестандартных контрактов. Некоторые проекты используют кастомные EIP — гибрид ERC-721 с vesting-логикой. Мы адаптируем indexer под любой ABI, добавляем кастомные обработчики. Опыт таких задач у нас уже есть для NFT-маркетплейсов с платёжными стримами.

Как мы это делаем: стек и инструменты

Бэкенд: Python + Pandas для трансформаций, PostgreSQL для хранения, Redis для кэша. Смарт-контракты: Solidity 0.8.x с Foundry. Индексация: The Graph (subgraph) или собственный event listener на ethers.js. UI: React + Wagmi + RainbowKit для кошелёчного подключения. Алерты: Webhooks + Telegram Bot API.

Пример взаимодействия с контрактом через viem:

import { createPublicClient, http, parseAbi } from 'viem' import { mainnet } from 'viem/chains' const client = createPublicClient({ chain: mainnet, transport: http(process.env.RPC_URL) }) const abi = parseAbi([ 'function getVestingSchedule(address beneficiary) view returns (uint256 total, uint256 claimed, uint256 start, uint256 cliff, uint256 duration)' ]) const schedule = await client.readContract({ address: vestingContract, abi, functionName: 'getVestingSchedule', args: [userAddress] }) 

Процесс работы

  1. Аналитика (1 неделя): изучаем ваши контракты, согласовываем метрики для дашборда.
  2. Проектирование (1 неделя): архитектура indexer'а, схема базы, прототип UI.
  3. Реализация (2–3 недели): разработка core-логики, дашборда, алертов.
  4. Тестирование (1 неделя): unit-тесты, интеграция с тестнетом, симуляция unlock.
  5. Деплой и обучение (1 неделя): запуск в production, передача документации.

Сроки и стоимость

Типичные сроки: от 4 до 8 недель в зависимости от количества сетей и сложности правил. Стоимость рассчитывается индивидуально после оценки объёма контрактов и требуемого функционала. Напишите нам — оценим проект и предложим решение под ключ.

Почему стоит заказать систему у нас?

У нас за плечами 7+ лет разработки на Solidity и 15+ проектов по мониторингу токенов. Мы знаем, как отличить сибилов от органических держателей, как настроить алерты без false positives и как масштабировать индексер под миллионы событий. Удельная экономия на gas анализ — до 40% по сравнению с полным on-chain подсчётом. Гарантия на все компоненты системы — 6 месяцев, поддержка входит в стоимость.

Один из кейсов. Для протокола A (DEX на Arbitrum) мы развернули мониторинг vesting за 5 недель. Система выявила кластер из 1 200 сибилов, которые планировали дампнуть 3% supply через 72 часа после cliff. Благодаря алертам команда успела обратиться к инвесторам с просьбой отсрочить unlock, и падения удалось избежать.

Типичные ошибки при мониторинге vesting

Чек-лист: что часто упускают
  • Отсутствие истории. Если indexer запускается после deploy, прошлые unlock не видны. Нужен backfill с genesis.
  • Игнорирование мультичейн. Vesting может быть на Ethereum, а торговля — на Polygon. Без кросс-чейн агрегации картина неполная.
  • Слепые зоны по контрактам. Proxy-контракты, upgradeable vaults — события могут меняться. Мы отслеживаем имплементации.

Сравнение подходов: off-chain indexer vs on-chain расчёт

Характеристика Off-chain indexer (наш подход) Полный on-chain расчёт
Скорость запроса < 1 сек ~10 сек (требует вызова RPC)
Стоимость инфраструктуры $50–200/мес $200–1000/мес
Масштабируемость Миллионы событий Ограничен gas лимитами
Гибкость Легко добавлять метрики Требует изменения контракта
Поддержка мультичейн Единый дашборд Отдельные вызовы для каждой сети

Off-chain indexer в 10 раз дешевле и в 50 раз быстрее для исторических данных. Это подтверждает наш опыт: для проектов с объёмом событий более 100 000 в месяц off-chain неизменно выигрывает.

Как повысить точность алертов

Рекомендации по настройке
  • Устанавливайте пороги unlock не только по проценту supply, но и по абсолютным значениям (например, >50 000 токенов).
  • Используйте скользящее окно для анализа активности: если кошелёк после unlock не двигает токены 7 дней, риск дампа ниже.
  • Интегрируйте данные с блокчейн-аналитикой (Chainalysis, Elliptic) для проверки кошельков на связь с биржами.

Свяжитесь с нами для консультации по вашему проекту. Мы разработаем систему мониторинга, которая даст полный контроль над разблокировкой токенов и предотвратит неожиданные дампы. Для получения коммерческого предложения достаточно указать количество контрактов и сетей — мы подготовим оценку за 2 рабочих дня.