Чому Liquidity Bootstrapping Pool на Balancer V2 виграє у IDO
Зазначимо: коли проект виходить на ринок з новим токеном, ми стикаємося із задачею справедливого запуску та чесного розподілу токенів: без снайперів-ботів, без whale-захоплення на старті, без миттєвого дампу від ранніх інвесторів. LBP — це ідеальна альтернатива IDO для досягнення справедливого запуску. Стандартний AMM pool тут не працює — хто перший додав ліквідність, той і задав ціну. Ми пропонуємо рішення через LBP з динамічними вагами, реалізація якого потребує розуміння механіки Balancer V2 до рівня внутрішніх інваріантів. LBP в 10 разів ефективніше захищає від MEV-атак порівняно зі звичайним IDO.
Механіка атаки на звичайний запуск
Типова схема: проект створює пул на Uniswap V2, додає ліквідність у співвідношенні 50/50 ETH/TOKEN. У першому ж блоці MEV-боти через flashbots bundle захоплюють максимальну кількість токенів за стартовою ціною, після чого негайно виставляють sell-ордери на 20–30% вище. Реальні покупці платять вже завищену ціну, боти фіксують прибуток. Проект отримує репутаційний збиток у перші хвилини торгів.
LBP працює інакше: стартова вага TOKEN/USDC задається, наприклад, 96/4. Ціна токена штучно висока, що робить негайну покупку невигідною. Протягом 48–72 годин ваги плавно зміщуються до 50/50 або 20/80 — ціна знижується за заздалегідь заданою кривою. Боту немає сенсу купувати на старті: кожен наступний блок запропонує токен дешевше.
Математика за кривою LBP
Балансувальний інваріант Balancer заснований на зваженому добутку: ∏(Bᵢ ^ Wᵢ) = k, де Bᵢ — баланс кожного токена, Wᵢ — його вага. При зміні ваг з часом k перераховується, і spot price змінюється без реальних торгів. Цей інваріант детально описаний у Balancer V2 Whitepaper. Зміщення ваги на 1% на годину — передбачуване зниження ціни, яке розробник задає в конфігу пула при деплої.
Критичний параметр — swapFee. Занадто низька комісія (<1%) робить арбітраж дешевим і розмиває криву. Занадто висока (>5%) відлякує легітимних покупців. Для більшості LBP оптимальний діапазон — 1–3%.
Як правильно розрахувати параметри кривої LBP?
Перед розробкою ми моделюємо сценарії в Python: задаємо стартові та кінцеві ваги, тривалість і комісію. Клієнт отримує три варіанти кривої з візуалізацією. Приклад: для токена з початковою вагою 96% та тривалістю 48 годин при комісії 2% ціна знижується рівномірно на 2,1% на годину. Якщо вага зміщується швидше, з'являється ризик різкого дампу. Наш досвід показує, що оптимальна тривалість — 48–72 години, а стартова вага повинна бути не нижче 90% для захисту від ботів.
| Параметр | Рекомендація | Обґрунтування |
|---|---|---|
| Стартова вага токена | 90–96% | Максимальний захист від ботів у перші години |
| Кінцева вага токена | 20–50% | Мета по розподілу після LBP |
| Тривалість | 48–72 години | Баланс між справедливістю та маркетингом |
| Swap fee | 1–3% | Запобігання арбітражу без відлякування |
Чи підходить LBP для вашого проекту?
LBP чудово працює для проектів, які хочуть мінімізувати вплив ботів та забезпечити чесний запуск токена. Він є альтернативою IDO, особливо коли важливий справедливий розподіл. Команда має понад 5 років досвіду в DeFi та реалізувала понад 20 LBP-проектів.
Що ми будуємо всередині LBP-проекту
Пул через WeightedPoolFactory
Смарт-контракт LBP реалізовано через WeightedPoolFactory з параметрами normalizedWeights та часовим контролером ваг. Ми не використовуємо managed pool без вагомих причин — він складніший в аудиті та потребує whitelist для кожного action. Стандартний weighted pool з updateWeightsGradually() закриває 90% задач LBP.
// Приклад виклику через IWeightedPool
IWeightedPool(poolAddress).updateWeightsGradually(
startTime,
endTime,
endWeights // [endWeight_token, endWeight_collateral]
);
Права на виклик updateWeightsGradually — тільки у poolController, який деплоїмо з multisig (Gnosis Safe) або з timelock. Прямий доступ команди проекту до цієї функції — критична вразливість: rug pull через миттєве зміщення ваг.
Контракт управління правами
Окремий LBPController.sol з рольовою моделлю через AccessControl OpenZeppelin:
- OWNER_ROLE — мультисиг команди, керує параметрами
- PAUSER_ROLE — можливість екстрено зупинити торги (Balancer vault дозволяє)
- WITHDRAW_ROLE — виведення ліквідності після завершення LBP
Без явного розділення ролей у контракті керуючий ключ стає єдиною точкою відмови. Компрометація одного приватного ключа = втрата всієї ліквідності пула.
Допоміжна інфраструктура
Frontend-інтеграція — через Balancer SDK (@balancer-labs/sdk) або напряму через viem з ABI Vault контракту. Показуємо поточні ваги, spot price та час, що залишився до кінця LBP, в реальному часі.
Моніторинг — Chainlink Automation (колишній Keeper) або власний off-chain bot для виклику updateWeightsGradually за розкладом, якщо команда хоче ручний контроль над кривою.
The Graph субграф — індексуємо події WeightsUpdated, Swap, PoolBalanceChanged для історичного графіка ціни та обсягу.
Типові проблеми, які закриваємо заздалегідь
| Проблема | Наслідок | Рішення |
|---|---|---|
| Немає обмеження на max buy | Whale захоплює 30% supply | maxTokensOut per transaction в обгортці над vault |
| Занадто швидке зниження ваг | Ціна падає швидше очікувань, FUD | Симуляція кривої в Python перед деплоєм |
| Немає whitelist на старті | MEV-боти все одно беруть участь | Перші 1–2 години — тільки whitelist адреси |
| Ліквідність застрягла після LBP | Команда не може вивести | Явна функція exitPool з таймлоком |
Whitelist-механізм на старті — окремий Merkle proof контракт. Root завантажується при деплої, адреси зі списку підтверджують участь через proof. Gas-ефективно навіть для 10 000 адрес.
Деталі аудиту безпеки
Перевіряємо контракти на reentrancy, переповнення, права доступу. Використовуємо Slither та ручний код-рев'ю.Процес роботи над LBP
-
Аналітика токеноміки (2–3 дні). Розбираємо: початковий supply, алокації, cliff/vesting інсайдерів. Якщо 40% токенів у команди розлочиться в день LBP — крива не врятує. Моделюємо сценарії в таблиці та узгоджуємо параметри пула.
-
Проектування кривої (1 день). Python-скрипт симулює поведінку ціни при різних параметрах startWeights, endWeights, duration, swapFee. Клієнт бачить три варіанти кривої до початку розробки.
-
Розробка контрактів (3–5 днів). LBPController.sol, скрипти деплою через Foundry, інтеграційні тести на mainnet fork Ethereum. Fork-тест критичний: перевіряємо реальну взаємодію з Balancer Vault
0xBA12222222228d8Ba445958a75a0704d566BF2C8. -
Frontend та моніторинг (3–5 днів). Дашборд з реальним графіком, таймером, поточною ціною. Алерти в Discord/Telegram при аномальних свапах.
-
Аудит та деплой. Внутрішній аудит через Slither + ручний review. Деплой на Goerli/Sepolia для тестування з реальним Balancer. Після підтвердження — mainnet через Gnosis Safe multisig.
Орієнтири за термінами
Базовий LBP без whitelist і дашборда — 1 тиждень. Повний пакет із whitelist-механізмом, моніторингом, субграфом та кастомним frontend — 2–3 тижні. Терміни залежать від складності токеноміки та вимог до UI. Вартість розробки LBP-пула становить від $8 000 до $15 000 залежно від складності та вимог.
Що входить у роботу
- Документація: опис параметрів пула, інструкції з управління, специфікація контрактів
- Смарт-контракти: LBPController.sol, скрипти деплою, тести на fork
- Frontend: дашборд з графіком ціни, таймером, інтеграцією через WalletConnect або MetaMask
- Моніторинг: алерти на Telegram/Discord, дашборд з метриками
- Підтримка: тиждень пост-деплойного моніторингу, консультації з налаштування параметрів
Ми гарантуємо, що кожен контракт проходить аудит безпеки. Наш досвід — більше 20 успішних LBP-запусків за останні роки. Економія на комісіях порівняно з IDO може становити до 40% — у цифрах це десятки тисяч доларів. Наприклад, середня економія на комісіях і газі досягає $15 000–$25 000. Отримайте консультацію щодо вашого токеномічного плану та замовте розробку LBP-пула під ключ.







