Розробка IEO-платформи
IEO (Initial Exchange Offering) — продаж токенів через централізовану торговельну площадку, яка виступає посередником між проектом та інвесторами. Binance Launchpad, Huobi Prime, KuCoin Spotlight — класичні приклади. Платформа бере на себе KYC/AML, верифікацію проекту та проведення продажи, проект отримує довіру аудиторії біржи та гарантований листинг.
Власна IEO-платформа — це щось середнє між біржею та launchpad. Це не просто смарт-контракт продажи: це повноцінний продукт з верифікацією проектів, аллокаційним механізмом для учасників, KYC системою, і часто — власним токеном платформи, який дає приоритет в аллокаціях.
Архітектура системи
Компоненти
| Компонент | Ответственність |
|---|---|
| Project Registry | Верифікація та зберігання даних проектів |
| Allocation Engine | Розподіл лотів між учасниками |
| KYC/AML Gateway | Інтеграція з провайдером верифікації |
| Token Sale Contract | Виконання продажи on-chain |
| Staking Contract | Стейкинг платформенного токена для tier-системи |
| Distribution Contract | Vesting та клейм токенів |
| Admin Dashboard | Управління проектами, параметрами продаж |
Tier-система на основі стейкинга
Більшість успішних launchpad-платформ (Polkastarter, TrustPad, GameFi) використовують модель: чим більше користувач застейкал платформенний токен, тим вищий його tier і тим більша гарантована аллокація.
contract TierStaking {
struct Tier {
uint256 minStake; // мінімальний стейк для цього тира
uint256 multiplier; // множник аллокації (у basis points)
uint256 poolWeight; // вага в lottery пулі
}
Tier[] public tiers; // [Bronze, Silver, Gold, Platinum, Diamond]
struct StakeInfo {
uint256 amount;
uint256 stakedAt;
uint256 lockEnd;
uint8 tier;
}
mapping(address => StakeInfo) public stakes;
function stake(uint256 amount, uint256 lockDuration) external {
require(lockDuration >= MIN_LOCK, "Lock too short");
token.safeTransferFrom(msg.sender, address(this), amount);
uint8 tier = calculateTier(amount);
stakes[msg.sender] = StakeInfo({
amount: amount,
stakedAt: block.timestamp,
lockEnd: block.timestamp + lockDuration,
tier: tier
});
emit Staked(msg.sender, amount, tier);
}
function calculateTier(uint256 amount) public view returns (uint8) {
for (uint8 i = uint8(tiers.length - 1); i >= 0; i--) {
if (amount >= tiers[i].minStake) return i;
}
return 0; // немає tier
}
}
Бонус за довгий лок — стандартна практика: стейк на 12 місяців дає вищий tier ніж стейк на 1 місяц з тим же кількістю токенів.
Механізм розподілу аллокацій
Два основних підходи:
Guaranteed allocation (FCFS або weighted)
Кожен учасник отримує гарантовану аллокацію пропорційно тиру. Фактично — whitelist з розмірами аллокації. Просто, передбачувано, але може залишити частину токенів непроданими якщо не всі whitelist учасники купять.
Lottery з oversubscription
Більш справедливий підхід для високого спроси. Учасники реєструються на участь в лотереї. Після закриття реєстрації — випадковий вибір переможців пропорційно тиру (вищий тір = більше лотерейних білетів).
Для чесної лотереї on-chain — Chainlink VRF обов'язковий. Псевдослучайність через blockhash або block.timestamp манипулюється майнерами/валідаторами.
KYC/AML інтеграція
IEO-платформа зазвичай працює з регуляторним простором, що потребує верифікації користувачів. Варіанти:
Fractal ID / Synaps / Sumsub — SaaS KYC провайдери. Користувач верифіцується в їх системі, отримує verifiable credential або whitelist-додання через webhook.
On-chain whitelist керований централізовано. Після KYC поза блокчейном — оператор додає адресу на on-chain whitelist. Найпростіший варіант, але централізований.
Soulbound токени (EIP-5484). KYC верифікація виражена як non-transferable NFT. Контракт продажи перевіряє наявність такого токена. Більш Web3-native підхід, але потребує функціонуючої SBT-інфраструктури.
Escrow та розподіл коштів
Кошти від продажи не повинні йти прямо проекту — це захист покупців. Стандартна схема:
Escrow з milestones. Кошти заблоковані в контракті, звільняються частинами по мірі досягнення milestone. Підтвердження milestone — або через голосування тримачів токенів, або через DAO, або через оракул (якщо milestone вимірюється on-chain).
Листинг та post-sale ліквідність
Частина ответственності IEO-платформи — забезпечити ліквідність після продажи. Автоматичне додавання ліквідності в DEX з частини зібраних коштів.
Admin panel та операційні інструменти
Для управління платформою — backend з:
- Dashboard управління проектами (верифікація, параметри продажи)
- Інструменти для merkle whitelist generation (CSV → Merkle root)
- Мониторинг продажи в реальному часі (raised/cap, учасники)
- Інтеграція з KYC провайдером (webhooks, API)
- Автоматичні уведомлення (Telegram, Email) при ключових подіях
Сроки розробки
| Компонент | Срок |
|---|---|
| Смарт-контракти (стейкинг, продаж, escrow, дистрибуція) | 6–8 тижнів |
| Backend API + admin panel | 4–6 тижнів |
| KYC інтеграція | 1–2 тижні |
| Frontend (користувацький інтерфейс) | 4–6 тижнів |
| Аудит смарт-контрактів | 3–4 тижні |
| Тестування + QA | 2–3 тижні |
Повний цикл від ТЗ до launch-ready платформи: 4–5 місяців. Аудит для платформи, яка буде керувати реальними коштами — обов'язковий. Бюджет: $15,000–$50,000 залежно від обраної команди.







