Розробка інструменту відстеження потенціальних airdrop
Airdrop-фарминг перетворився на окрему професію. Користувачі ведуть десятки гаманців, взаємодіють з протоколами за чіткими паттернами, і пропускають розподіли лише тому що не встигають слідкувати за оголошеннями. Наш інструмент відстеження потенціальних airdrop автоматизує весь цикл моніторингу: збирає on-chain дані про взаємодії гаманців з протоколами, оцінює eligibility за відомими критеріями, алертує про нові можливості та розраховує потенційний прибуток від кожного airdrop-розподілу. Це особливо корисно для команд і фондів, що керують великими портфелями гаманців.
Ринок тут неоднорідний. Є готові рішення — Earni.fi, Metawin, DeBank portfolio — але вони або закриті, або не покривають нішеві протоколи, або не дають кастомних критеріїв оцінки. Кастомний інструмент під ключ виправданий для фондів з великим портфелем гаманців та для команд протоколів, які хочуть аналізувати власні потенційні розподіли і налаштовувати критерії eligibility під конкретну стратегію.
Архітектура системи
Джерела даних
Інструмент працює з кількома класами даних:
On-chain activity data — історія транзакцій гамания, взаємодії з контрактами, token balances, LP позиції, NFT holdings. Отримується через RPC-ноди (Alchemy, Infura, QuickNode) або спеціалізовані indexers.
Protocol-specific criteria — кожний протокол, оголошуючи airdrop, публікує snapshot criteria. Типічні: мінімальний обсяг торгів, кількість унікальних днів активності, використання конкретних функцій (borrow, не лише deposit). Ці критерії потрібно парсити і зберігати структурованно.
Snapshot дані — багато протоколів публікують Merkle tree з адресами і сумами до офіційного оголошення (або в момент). The Graph subgraph-и, IPFS, GitHub репозиторії протоколів — джерела для ранної перевірки eligibility.
Stack індексації
Для моніторингу on-chain активності два підходи:
Polling через RPC: запит eth_getLogs для відомих контрактів, eth_getTransactionCount, balance checks. Просто, дёшево, але повільно при великій кількості гаманців і чейнів.
Event streaming через Alchemy Notify / QuickNode Streams: webhook при появі транзакції від відстежуваної адреси. Near-realtime, але вимагає підписки і webhook endpoint.
Для інструменту з < 100 гаманців на 3-5 чейнах: polling раз на 15-30 хвилин достатньо. Для 1000+ гаманців — обов'язково event streaming або self-hosted нода з кастомним indexer.
interface WalletProfile {
address: string;
chains: ChainActivity[];
}
interface ChainActivity {
chainId: number;
txCount: number;
uniqueProtocols: string[];
uniqueActiveDays: number;
volumeUSD: number;
lastActivity: Date;
tokenBalances: TokenBalance[];
defiPositions: DefiPosition[];
}
interface AirdropOpportunity {
protocolName: string;
estimatedValue: number | null;
eligibilityScore: number; // 0-100
missingCriteria: string[];
snapshotDate: Date | null;
claimDeadline: Date | null;
status: 'potential' | 'confirmed' | 'claimable' | 'claimed' | 'expired';
}
Eligibility scoring
Чистого «так/ні» недостатньо — потрібен score з поясненням чого не вистачає. Приклад логіки для протоколу типу Arbitrum:
function scoreArbitrumEligibility(activity: ChainActivity): EligibilityResult {
const criteria = [
{
name: 'Мінімум 4 транзакції',
met: activity.txCount >= 4,
weight: 20,
},
{
name: 'Активність в 2+ місяцях',
met: countActiveMonths(activity) >= 2,
weight: 25,
},
{
name: 'Обсяг > $10,000',
met: activity.volumeUSD >= 10000,
weight: 30,
},
{
name: 'Взаємодія з 3+ протоколами',
met: activity.uniqueProtocols.length >= 3,
weight: 25,
},
];
const score = criteria.reduce((sum, c) => sum + (c.met ? c.weight : 0), 0);
const missing = criteria.filter(c => !c.met).map(c => c.name);
return { score, missing };
}
Реальні критерії ніколи не відомі точно до оголошення — scoring завжди евристичний, на основі паттернів минулих розподілів аналогічних протоколів.
Моніторинг нових можливостей
Джерела сигналів для відстеження airdrop
- Twitter/X API — пошук за ключовими словами «airdrop», «snapshot», «eligible», згадування конкретних протоколів з watchlist
- Governance форуми — Snapshot.org, Commonwealth, Discourse. Proposal з згадуванням token distribution = ранній сигнал
- GitHub активність — commit з «merkle», «airdrop», «distributor» в репозиторії протоколу
- The Graph — нові subgraph-деплойменти протоколів з watchlist іноді передують airdrop-у
Сигнали агрегуються і ранжуються за confidence: підтверджений офіційний оголос = 100%, паттерн з кількох непрямих сигналів = 40-60%.
База даних протоколів
Ядро системи — база знань про протоколи і їхні історичні airdrop-и. Схема:
| Поле |
Тип |
Описання |
| protocol_id |
uuid |
|
| name |
text |
Uniswap, dYdX, Arbitrum |
| category |
enum |
dex, lending, l2, bridge |
| chains |
int[] |
chainId масив |
| past_airdrops |
jsonb |
історичні розподіли |
| known_criteria |
jsonb |
відомі критерії eligibility |
| snapshot_contract |
text |
адреса distributor якщо відома |
| watchlist_priority |
int |
1-10 |
Базу потрібно підтримувати вручну + автоматично парсити з відкритих джерел (airdrops.io, DeFiLlama airdrop розділ).
Нотифікації та UI
Користувач повинен бачити: які гаманці потенційно eligible, що потрібно зробити для прохождення критеріїв, deadline для claim.
Канали нотифікацій: Telegram bot (найзручніший для крипто-аудиторії), email, webhook для інтеграції з зовнішніми системами.
Dashboard мінімально: таблиця гаманців × протоколів з eligibility score, сортування по estimated value, фільтр за статусом. Next.js + shadcn/ui + TanStack Table — стандартний вибір.
Обмеження та чесний взгляд
Інструмент не гарантує airdrop. Критерії завжди публікуються після snapshot, і невозможно дізнатися точні правила заздалегідь. Виключення — Sybil-detection: більшість протоколів відсікають гаманці з очевидними Sybil-паттернами (однакові суми, створені в один день, пов'язані через одну адресу). Інструмент може детектувати такі паттерни у власному портфелі гаманців і попереджувати.
Друге обмеження — data freshness. The Graph subgraph-и відстають на кілька блоків, деякі протоколи не індексовані публічно взагалі, і тоді потрібно парсити контракти прямо через eth_getLogs з кастомною ABI декодировкою.
Процес роботи
Аналітика (3-4 дні). Список протоколів для моніторингу, кількість гаманців, цільові чейни, вимоги до нотифікацій.
Розробка backend (3-4 тижні). Indexer → scoring engine → база протоколів → notification система.
Розробка frontend (1-2 тижні). Dashboard, управління гаманцями, налаштування алертів.
Запуск та наповнення бази (1 тиждень). Додавання 50-100 протоколів до бази знань.
Строки і вартість залежать від кількості підтримуваних чейнів і джерел даних. Напишіть нам — оцінимо проект безкоштовно і запропонуємо оптимальне рішення.
Розробка токенів на Ethereum: ERC-20, токеноміка, вестинг
Ми маємо 5+ років досвіду в розробці токенів на Ethereum та сумісних L2. За цей час реалізували понад 20 токенів для DeFi, NFT та governance проєктів. Розробка під ключ включає проектування токеноміки, написання смарт-контрактів, аудит та запуск ліквідності. Гарантуємо прозорість умов і супровід після запуску. Напишіть нам — отримайте технічний аналіз вашого проєкту за 1 день.
«ERC-20 — це просто» — фраза, після якої починаються проблеми. Базовий transfer написати не складно. Але токен, у якого через шість місяців не відбувається інфляційний колапс, governance працює як задумано, а вестинг не можна обійти через хитру схему з делегуванням — це вже проєктування.
Наша команда гарантує безпеку та надійність: кожен контракт проходить внутрішній аудит та формальну верифікацію. Ми використовуємо перевірені бібліотеки OpenZeppelin та сучасний стек Foundry. Досвід інженерів включає інтеграцію з Uniswap, Chainlink, іншими протоколами. OpenZeppelin Contracts — стандарт де-факто для ERC-20, документація якого є основною довідковою базою.
ERC-20: що під капотом
Стандарт ERC-20 — дев'ять функцій. Складність починається з розширень.
ERC-20Permit (EIP-2612) — gasless approve через підпис. Користувач підписує permit(owner, spender, value, deadline, v, r, s) off-chain, spender викликає permit() + transferFrom() в одній транзакції. Це прибирає окремий approve step. Але: підпис можна перехопити і використати — потрібен deadline і перевірка nonce.
ERC-20Votes (EIP-5805) — snapshot балансів для governance. Checkpoint-система зберігає історію балансів за номером блоку. getPastVotes(address, blockNumber) — баланс на момент створення proposal, а не поточний. Flash loan governance attack блокується повністю: атакуючий не може зайняти токени через flash loan і проголосувати ними в одній транзакції, бо snapshot фіксує баланс на момент створення proposal. ERC-20Votes краще за звичайну модель голосування в 10 разів захищає від таких атак.
Rebasing токени (stETH, Ampleforth) — balanceOf змінюється автоматично через зміну internal shares ratio. Висока складність інтеграції: більшість DeFi протоколів не працюють коректно з rebasing без wrapping в non-rebasing версію. Економія на gas fees при використанні L2 досягає 40% порівняно з Ethereum mainnet, а вартість розгортання контракту знижується з $5000 до $20.
Fee-on-transfer токени — при кожному transfer знімається відсоток. Ламають AMM розрахунки: пул отримує менше, ніж очікував. Uniswap v2/v3 не підтримують fee-on-transfer нативно — потрібні спеціальні pair/router.
Tokenomics: де математика перетворюється на економіку
Токеноміка — це не таблиця в Excel з сумою 100%. Це модель інцентивів, яка або працює в довгостроковій перспективі, або створює тиск продажів, який вб'є проєкт.
Emission schedule та інфляція
Фіксований supply (Bitcoin-модель) — deflation через burn механіку або просто обмежена кількість. Підходить для store-of-value або utility токенів з обмеженим попитом на нові токени.
Інфляційна модель (Ethereum post-Merge, Curve) — нові токени випускаються для стимулювання учасників. Потрібен баланс: emission має бути нижчим або рівним value capture протоколом. Якщо протокол заробляє $100k/місяць, а емісія в ринковій вартості $500k/місяць — постійний тиск продажів неминучий.
Halving schedules (Bitcoin-style) — зменшення emission з часом. Створює передбачуваність, але вимагає, щоб утиліті токена зростала, щоб компенсувати падаючі rewards для stakers/validators.
Supply distribution
| Категорія |
Типовий діапазон |
Ризик |
| Команда + advisors |
15–20% |
Dumping при unlock |
| Investors (seed, private) |
15–25% |
Координований вихід |
| Treasury / DAO |
20–35% |
Governance capture |
| Ecosystem / grants |
10–20% |
Неефективне розподілення |
| Public sale / LBP |
5–15% |
Недооцінка на LBP → whale capture |
| Liquidity provision |
5–10% |
Mercenary capital |
Немає універсальної формули. Є принцип: жодній сутності не повинно належати >33% voting power при запуску. Інакше governance — фікція.
Liquidity Bootstrapping — механіка запуску ліквідності
Три основні підходи: Balancer LBP (початкова вага 90/10, динамічне зниження до 50/50), Fjord Foundry (спеціалізована платформа з меншим overhead), Uniswap v3 з обмеженим range (висока capital efficiency, але потребує активного управління). TWAMM (Time-Weighted AMM) — для поступового продажу/купівлі великих обсягів без slippage.
Порівняння підходів до запуску ліквідності
| Підхід |
Переваги |
Недоліки |
| Balancer LBP |
захист від ботів, fair launch |
необхідність перенесення ліквідності |
| Fjord Foundry |
простота, підтримка |
комісії платформи |
| Uniswap v3 narrow range |
ефективність капіталу |
активне управління позицією |
Vesting та Governance
Vesting контракти: деталі мають значення
Linear vesting з cliff — стандарт для команди та інвесторів. cliff — період після TGE, протягом якого нічого не доступно. Після cliff — лінійний unlock до duration.
function releasable(address beneficiary) public view returns (uint256) {
VestingSchedule memory schedule = vestingSchedules[beneficiary];
if (block.timestamp < schedule.cliff) return 0;
uint256 elapsed = block.timestamp - schedule.cliff;
uint256 vestingDuration = schedule.duration - (schedule.cliff - schedule.start);
uint256 vested = schedule.totalAmount * elapsed / vestingDuration;
return vested - schedule.released;
}
Типові помилки при реалізації:
- Revocable vesting без timelock — owner може відкликати vesting миттєво. Рішення: revocation через multisig + governance vote.
- Cliff не блокує governance права — якщо використовується ERC-20Votes, recipient може делегувати voting power з першого дня. Потрібно явно розділити voting power і claim logic.
- Відсутність emergency pause — Pausable + timelock на unpause.
Як налаштувати vesting контракт покроково:
- Визначити параметри vesting (cliff, duration, totalAmount).
- Розгорнути контракт TokenVesting (наприклад, OpenZeppelin).
- Призначити beneficiary та підтвердити розклад.
- Налаштувати emergency pause та revocation через multisig.
- Протестувати сценарії за допомогою Foundry fuzz тестів.
Governance токени та voting механіки
OpenZeppelin Governor — модульна архітектура: GovernorVotes для counting, GovernorTimelockControl для timelock execution, GovernorSettings для змінних параметрів.
Quorum — мінімальний відсоток supply для валідності голосування. Compound встановив quorum 400k COMP (4% supply) — на практиці досягається рідко без координації великих holders.
Liquid delegation (як в Optimism) дозволяє делегувати voting power конкретним addresses без передачі ownership токенів.
Як обрати правильний тип токена для вашого проєкту?
Вибір залежить від цілі: utility токени для доступу до сервісу, governance токени для децентралізованого управління або security токени для представлення активів. Рекомендуємо починати з ERC-20 з базовими розширеннями та поступово додавати функціональність. Ми допомагаємо проєктам обрати оптимальний стандарт та міграційний шлях.
Які ризики виникають при використанні rebasing токенів?
Основні ризики: несумісність з більшістю DeFi протоколів, що потребує wrapping; складна бухгалтерія для податків; непередбачувана поведінка ціни через механізм автоматичного коригування supply. Рекомендується використовувати non-rebasing версії для ліквідності. Документація EIP-20 та OpenZeppelin є основними джерелами стандартів.
Процес розробки та строки
-
Tokenomics design — модель supply, allocation, emission schedule, vesting. Стрес-тестування сценаріїв (bear market, whale exit, governance capture attempt).
-
Контракт розробка — ERC-20 + extensions, vesting, governance. Foundry fuzz тести на vesting calculations, governance thresholds.
-
Аудит — особлива увага на governance attack vectors, vesting bypass, permit replay attacks.
-
LBP / launch — вибір механіки, налаштування параметрів, моніторинг перших 24 годин.
-
Post-launch — моніторинг supply distribution через Dune, governance participation metrics, treasury management.
Стек: Solidity 0.8.x, OpenZeppelin Contracts 5.x, Foundry, Gnosis Safe, OpenZeppelin Defender, Dune Analytics.
Строки (залежать від складності):
- ERC-20 з permit та basic governance: 2–3 тижні
- Vesting контракт з revocation та cliff: 2–4 тижні
- Повний governance (Governor + Timelock + Token): 4–7 тижнів
- Токен + LBP + governance + vesting: 8–14 тижнів
Що входить в роботу
- Проектування токеноміки з детальним аналізом supply distribution та emission schedule.
- Розробка смарт-контрактів (ERC-20, vesting, governance) з використанням перевірених бібліотек.
- Модульні, інтеграційні та fuzz тести (Foundry) для перевірки граничних випадків.
- Внутрішній аудит коду з використанням Slither та Mythril.
- Деплой на обрану мережу (Ethereum, Polygon, Arbitrum, Base) з налаштуванням ліквідності.
- Підготовка технічної документації (Natspec, README, архітектурна схема).
- Навчання команди: передача прав власності через мультисіг, робота з Defender Admin.
- Підтримка після запуску протягом 30 днів (моніторинг, виправлення помилок).
Зв'яжіться з нами для отримання консультації та оцінки вашого проєкту. Замовте розробку токена — ми підготуємо рішення під ключ.