Розробка системи алертів про наступні token unlock
Token unlock — один з найпередбачуваніших джерел ціневого тиску в крипто. Коли команда, інвестори або advisors бачать, як до них на гамань йде крупний cliff — це заздалегідь відома подія. Проблема в тому, що більшість учасників ринку дізнаються про це постфактум, з новин, коли ціна вже впала.
Система алертів про наступні token unlock вирішує просту задачу: дати підписнику інформацію до события, а не після.
Що моніторимо та звідки беремо дані
Основних джерел три: on-chain дані з vesting-контрактів, off-chain розписання з баз даних (TokenUnlocks, Vesting.vc, CryptoRank) та аналітика з первинних документів (whitepaper, tokenomics sheets).
On-chain моніторинг — найнадійніший спосіб для проектів з прозорими vesting контрактами. Стандартні паттерни: OpenZeppelin VestingWallet, TokenVesting від Gnosis, кастомні реалізації з release() функцією.
// Приклад відстеження VestingWallet подій через ethers.js
const vestingABI = [
"event ERC20Released(address indexed token, uint256 amount)",
"function releasable(address token) view returns (uint256)",
"function end() view returns (uint256)"
];
async function checkUpcomingUnlocks(vestingAddresses, tokenAddress, provider) {
const alerts = [];
const now = Math.floor(Date.now() / 1000);
const sevenDaysFromNow = now + 7 * 24 * 3600;
for (const addr of vestingAddresses) {
const contract = new ethers.Contract(addr, vestingABI, provider);
try {
const endTime = await contract.end();
const releasable = await contract.releasable(tokenAddress);
// Якщо є розблокуваний обсяг і він скоро
if (releasable > 0n && Number(endTime) <= sevenDaysFromNow) {
alerts.push({
vestingContract: addr,
unlockAmount: ethers.formatUnits(releasable, 18),
unlockTimestamp: Number(endTime),
daysUntilUnlock: (Number(endTime) - now) / 86400
});
}
} catch (e) {
// Контракт не реалізує інтерфейс — пропускаємо
}
}
return alerts;
}
Структура алертів та канали доставки
Алерт містить мінімально необхідний контекст: проект, обсяг unlock в токенах та доларах (по поточній ціні), категорія отримувачів (team/investors/ecosystem), дата та час по UTC, посилання на on-chain джерело.
Канали доставки: Telegram bot (найпопулярніший), Email, Discord webhook, REST API для інтеграції в сторонні dashboards. Пріоритет каналу задається користувачем при підписці.
Пороги значимості варто налаштовувати по % від circulating supply, а не по абсолютному обсягу — unlock 1M токенів для проекту з 10B circulating supply незначний, той же обсяг при 50M circulating supply — це 2%, серйозна подія.
Строки розробки
MVP з моніторингом топ-100 проектів по ринковій капіталізації, Telegram + Email алертами та веб-інтерфейсом для управління підписками займає 6–8 тижнів. Повнофункціональна платформа з API, підтримкою кастомних vesting-контрактів та аналітикою впливу unlock на ціну — 3–4 місяці.







