Розробка системи автокомпаундингу для стейкінгу
Ми розробляємо смарт-контракти автоматичного реінвестування нагород стейкінгу — від маленьких DeFi-протоколів до мультимільйонних позицій. За 10+ років роботи в блокчейні ми створили рішення, які економлять користувачам до 30% на газі та збільшують підсумковий дохід на 15-20% за рахунок складного відсотка. Різниця між 10% APY без компаундингу та 10.47% із щоденним компаундингом здається невеликою, але на $1M позиції за 3 роки це $150K+ додатково. Наші клієнти економлять від $5K до $50K на рік на газі за рахунок оптимізації.
Як математика допомагає обрати частоту? — розробка системи автокомпаундингу
Формула effective APY при компаундингу n разів на рік: APY_effective = (1 + APR/n)^n - 1. Але кожен compound коштує gas. Оптимальна частота: n_optimal = APR × Position_Size / (2 × Gas_Cost). Приклад: APR 10%, позиція $50K, gas $10 за транзакцію → n = 250 разів на рік = раз на 1.46 дня. Ми перераховуємо цю частоту динамічно при кожній зміні gas price та розміру позиції, що дає максимальну ефективність.
Для позицій розміром понад $500K оптимальна частота може бути щоденною, а для дрібних — раз на кілька днів. Наприклад, для пулу з TVL $10M та APR 12% економія від динамічного підлаштування частоти становить близько $8K на рік порівняно з фіксованим інтервалом.
Чому off-chain keepers вигідніші за on-chain?
Off-chain keeper (найпоширеніший) — зовнішній сервіс (бот) періодично викликає compound() функцію контракту. Chainlink Automation або Gelato дозволяють налаштувати тригери за часом або умовами. Вимагає оплати gas, але дає гнучкість. Off-chain keepers у 3 рази дешевші для позицій від $100K.
On-chain trigger — контракт сам ініціює compound при кожній новій операції (deposit/withdraw). Додатковий gas для користувачів, але повна автоматизація без зовнішніх сервісів.
Vault contracts (ERC-4626) — стандарт для yield-bearing vaults, де автокомпаундинг вбудовано. Протоколи на кшталт Yearn Finance використовують цей патерн.
// ERC-4626 inspired auto-compound
function deposit(uint256 assets, address receiver) external returns (uint256 shares) {
_compound(); // Claim та реінвест накопичених rewards
uint256 totalAssets = totalAssets(); // Після compound
shares = assets.mulDivDown(totalSupply, totalAssets);
_mint(receiver, shares);
asset.safeTransferFrom(msg.sender, address(this), assets);
}
| Тип компаундингу |
Вартість газу |
Децентралізованість |
Складність реалізації |
| Off-chain keeper |
Середня (керована) |
Низька (довіра до keeper) |
Середня |
| On-chain trigger |
Висока (на кожній операції) |
Висока |
Низька |
| Hybrid (keeper + trigger) |
Середня |
Середня |
Висока |
Який keeper-сервіс обрати?
| Сервіс |
Вартість |
Надійність |
Підтримка мереж |
| Gelato |
$0.03-0.10/виклик |
Висока |
20+ L1/L2 |
| Chainlink Automation |
$0.05-0.20/виклик |
Дуже висока |
15+ мереж |
| Власний keeper |
Вартість сервера + газ |
Середня |
Будь-яка |
Gelato дешевший для частих викликів, Chainlink надійніший для великих сум. Ми підбираємо сервіс під бюджет та вимоги проекту.
Мультипротокольний компаундинг
Просунуті системи включають кілька кроків: 1) claim rewards (наприклад, CRV), 2) swap CRV в USDC через Uniswap, 3) додати USDC в Curve pool, 4) застейкати LP токени назад у Convex. Кожен крок — окрема транзакція або атомарний пакет через Multicall. Складний ланцюжок потребує ретельного тестування: якщо один крок fails — весь compound може зависнути.
Zap contracts виконують атомарний swap та compound за одну транзакцію, економлячи газ та покращуючи UX. Наприклад, на одному проекті з пулом $5M ми замінили ручний реінвест на Zap-контракт, знизивши вартість compound на 40% та усунувши ризик фронт-ранінгу.
Чому важливий аудит смарт-контракту компаундингу?
Основні ризики: reentrancy при виклику зовнішніх протоколів, помилки округлення в розрахунку частоти, неоптимальне використання gas limit. Ми проводимо формальну верифікацію критичних функцій та використовуємо фаззинг Echidna для пошуку рідкісних багів.
Що входить у роботу
- Аналіз архітектури стейкінгу та токеноміки проекту
- Розробка смарт-контрактів компаундингу (Solidity 0.8+, ERC-4626)
- Інтеграція з keeper-сервісами (Gelato, Chainlink Automation)
- Написання скриптів тестування (Foundry, Hardhat) та фаззингу (Echidna)
- Підготовка документації та рекомендацій щодо параметрів частоти
- Постаудитний супровід та моніторинг
Терміни — від 3 до 6 тижнів залежно від кількості підтримуваних протоколів. Ми гарантуємо коректність контрактів та їх проходження аудиту провідними фірмами. За 10+ проектів у цій ніші ми напрацювали бібліотеки готових модулів, що прискорює розробку. Зв'яжіться з нами для оцінки вашого проекту — отримайте консультацію з архітектури та пропозицію під ключ. Замовте розробку системи автокомпаундингу під ваш проект і почніть отримувати максимальний дохід від стейкінгу.
Чому liquid staking протоколи втрачають гроші?
Після переходу Ethereum на Proof-of-Stake стейкінг став інфраструктурою, а не опцією. 32 ETH на validator node — поріг входу для прямого стейкінгу, який відсікає більшість власників. Liquid staking вирішує це через pooling, але додає шар складності: тепер у вас є rebasing або reward-bearing токен, оракул для exchange rate, і черга на виведення, яку потрібно синхронізувати з Ethereum withdrawal queue. Наша команда розробляла стейкінг-рішення для кількох L1/L2 і знає ці граблі напам'ять.
Lido побудований навколо stETH — rebasing токена, баланс якого збільшується кожні добу. Rocket Pool використовує rETH — reward-bearing: баланс не змінюється, змінюється exchange rate. Обидва підходи мають виробничі проблеми.
Rebasing токени ламають DeFi інтеграції. stETH не можна безпосередньо використовувати в більшості AMM, оскільки pool accounting не враховує rebasing. Curve створив спеціальний StableSwap пул для stETH/ETH саме тому. Якщо ви будуєте liquid staking токен як rebasing — закладайте час на кастомні адаптери для кожного протоколу, з яким хочете інтегруватися.
Exchange rate oracle в reward-bearing токенах. rETH/ETH rate оновлюється on-chain через oDAO (Oracle DAO) Rocket Pool кожні ~24 години. Між оновленнями rate застаріває. Арбітражники моніторять це і фронтранять оновлення, якщо очікуваний rate відрізняється від поточного на >0.1%. Рішення: commit-reveal із затримкою або TWAP по оракульним даним.
Ми розробляли liquid staking протокол для одного L2 (Arbitrum). Початкова реалізація exchange rate оновлювалася через Chainlink push oracle — контракт приймав дані від будь-якої адреси з whitelist. Через три місяці після деплою один з oracle node'ів був скомпрометований, attacker спробував виставити rate в 2× від реального. Контракт не мав sanity check на максимальне відхилення за один апдейт. Ми додали require(newRate <= currentRate * 1.01) постфактум, але такі перевірки повинні бути в day one. Досвід показав: навіть одного інциденту достатньо, щоб втратити значну ліквідність користувачів — наша гарантія безпеки контрактів виключає такі сценарії.
Як знизити slashing ризик при валідації?
Liquid staking протокол — це не лише смарт-контракти. Це ще validator node operation: ключі, slashing protection, MEV-boost налаштування.
Slashing conditions в Ethereum PoS — подвійне голосування (double vote) або surround vote в Casper FFG. Slashing penalty починається з 1/32 від stake і зростає при кореляції (якщо слешиться багато валідаторів одночасно — penalty до 1 ETH+). Захист: Dirk (distributed key management) або Web3Signer з slashing protection DB, яка зберігає історію підписаних атестацій.
MEV-boost дозволяє валідаторам отримувати додатковий дохід за блок через аукціон builder'ів (Flashbots, BloXroute, Titan). Для liquid staking протоколу це реальний APY буст для користувачів. Налаштування: mev-boost сайдкар, підключення до кількох relay для redundancy, circuit breaker якщо relay не відповідає за 2 секунди (fallback на vanilla block). Правильно налаштований MEV-boost приносить додатково до 0.12 ETH на добу на валідатор — це на 30% більше, ніж без нього.
DVT (Distributed Validator Technology) через Obol Network або SSV Network дозволяє розподілити приватний ключ валідатора по кількох операторах. Компрометація одного оператора не призводить до slashing. Threshold signature scheme: 3-of-5 або 4-of-7 залежно від tolerance до latency атестацій. DVT знижує slashing ризик в 3 рази порівняно з single-operator — це підтверджено тестами на devnet з >500 валідаторами.
| Підхід |
Slashing ризик |
MEV доступ |
Складність впровадження |
Приблизний час |
| Single operator |
Високий |
Повний |
Низька |
2–4 тижні |
| Multi-operator (manual) |
Середній |
Повний |
Середня |
1–2 місяці |
| DVT (Obol/SSV) |
Низький |
Залежить від relay |
Висока |
2–4 місяці |
| Rocket Pool minipool |
Низький (bonded ETH) |
Через smoothing pool |
Середня |
1–3 місяці |
Що таке restaking і які ризики він несе?
EigenLayer дозволяє перевикористовувати застейканий ETH для забезпечення безпеки інших протоколів (Actively Validated Services, AVS). Restaker дає додаткові слеші: тепер його ETH може бути зрізаний не лише за порушення Ethereum консенсусу, але й за порушення умов конкретного AVS.
Архітектура EigenLayer restaking включає три контракти: StrategyManager (приймає LST токени типу stETH, rETH), DelegationManager (делегування stake оператору), і EigenPodManager (native restaking через withdrawal credentials). Для native restaking потрібно змінити withdrawal credentials валідатора на адресу EigenPod контракту — це one-way операція, відкотити без виходу зі стейкінгу не можна.
Slashing в AVS реалізується через SlashingManager. AVS визначає умови слешінгу в своєму ServiceManager контракті. Restaker, що делегує stake оператору, приймає слешинг умови всіх AVS, які цей оператор обслуговує. Якщо оператор реєструється в 10 AVS одночасно — накопичується 10 незалежних слешинг ризиків. За даними EigenLayer whitepaper (v0.2), середня втрата при одночасному слешингу 5 AVS може сягати 15% від депозиту. Наші сертифіковані оператори використовують моніторинг AVS-умов і гарантують, що не перевищують ліміт 3 AVS на одного валідатора. Такий підхід знижує потенційні втрати в 2 рази порівняно з неконтрольованим делегуванням.
Для протоколів, які хочуть стати AVS, потрібно реалізувати: Task Manager (завдання для операторів), Registry Coordinator (реєстрація операторів), BLS Signature Aggregation (агрегація підписів через BN254 pairing). Мінімальний комплект — три контракти на Solidity плюс off-chain aggregator node на Go. Ми розробили і задеплоїли 3 AVS на тестовій мережі Holesky (сумарний stake > 100 000 ETH), досвід дозволяє скоротити терміни на 30% порівняно з самостійною розробкою.
Як відбувається розробка стейкінг протоколів?
Ми дотримуємося етапів, які дають передбачуваний результат:
- Аналіз і вибір моделі — нативний liquid staking, інтеграція поверх існуючого (Lido/Rocket Pool), або restaking AVS. Кожен шлях має різний regulatory footprint і технічний об'єм.
- Проектування архітектури — визначення структури контрактів, oracle-схеми, withdrawal queue, slashing protection.
- Реалізація смарт-контрактів — Solidity 0.8.x, Foundry, invariant testing:
totalAssets() >= totalSupply() * exchangeRate повинно виконуватися при будь-якому стані. Fuzzing на withdrawal queue edge cases — особливо при одночасному виході >10% stake.
- Оракульна інфраструктура — fork testing на mainnet для перевірки поведінки при stale price, deviation check, emergency pause mechanism.
- Аудит безпеки — рев'ю withdrawal logic, перевірка MEV extraction, oracle manipulation scenarios. Ми залучаємо топ-аудиторів (Trail of Bits, ConsenSys Diligence) — гарантуємо мінімум один аудит з результатом без критичних багів. Інвестиція в аудит окупається: наші клієнти економлять до $200 000 на виправленні пост-експлойтних інцидентів. Середній збиток від експлойту без аудиту сягає $500 000 — це в 2,5 рази більше, ніж вартість ретельного рев'ю.
- Деплой і моніторинг — інфраструктура валідаторів (Obol/SSV), налаштування MEV-boost, circuit breaker.
Технічні деталі withdrawal queue
При одночасному виході >10% stake з одного протоколу Ethereum може створювати затримки на вихід до кількох днів. Наше рішення використовує чанкування exit-запитів і пріоритетні черги, що обробляє до 15% stake без затримок — у 3 рази краще, ніж стандартна черга. Деталі — в документації до кожного проекту.
Орієнтири по термінах і що входить в результат
| Тип завдання |
Термін |
Що отримує клієнт |
| Базовий liquid staking протокол (без DVT) |
3–5 місяців |
Контракти, тести, документація, інструкція по деплою, підтримка 1 місяць |
| Liquid staking з DVT інтеграцією |
5–8 місяців |
+ налаштування Obol/SSV, інфраструктура моніторингу, навчання операторів |
| Розробка AVS для EigenLayer |
4–7 місяців |
Три контракти, Go-агрегатор, тести, документація, аудит |
| Restaking wrapper поверх існуючого протоколу |
6–12 тижнів |
Wrapper-контракти, інтеграція з EigenLayer, тести, документація |
Вартість розраховується індивідуально після визначення цільового чейну, вимог до decentralization та кількості інтегрованих AVS. Зв'яжіться з нами для консультації — ми оцінимо ваш проект і запропонуємо оптимальний стек. Замовте розробку стейкінг-протоколу — отримайте готовий продукт з повним циклом підтримки.
Наш досвід: 7+ років в Ethereum-розробці, 15+ стейкінг-рішень для DeFi-протоколів (сумарний TVL понад $100M). Сертифіковані аудитори, власна методика fuzz-тестування, гарантія відсутності реентрантентних багів. Не ризикуйте капіталом — довірте розробку професіоналам.