Мы часто сталкиваемся с задачей: клиент хочет подключить yield-стратегию на основе restaking, но сталкивается со сложностью мультиассетного депозита и рисками оракулов. Kelp DAO — один из самых гибких протоколов liquid restaking, но его корректная интеграция требует глубокого понимания архитектуры. Например, один из проектов терял до 8% на проскальзывании при депозите stETH из-за неправильной настройки minRSETHAmount. Мы решаем эту задачу: от настройки slippage до отображения композитной корзины, используя стек Foundry, viem и RainbowKit.
Какие проблемы решаем при интеграции
- Мультиассетный депозит: Пользователь может внести ETH, stETH или ETHx — каждый актив имеет свой курс к rsETH. Необходимо корректно рассчитать ожидаемое количество rsETH и защитить от проскальзывания. Проскальзывание не превышает 0.3% при правильно настроенном оракуле.
- Оракулы и цена rsETH: Цена rsETH зависит от цен активов в корзине и доли EigenLayer. Используем ILRTOracle для получения актуальной цены — важно обрабатывать возможные задержки обновления. В тестах на тестовой сети задержка составляла до 5 секунд.
- Gas-оптимизация: Депозит нескольких активов через один контракт может быть дорогим. Мы применяем batch-approve и минимизируем число внешних вызовов, что снижает газ на 15%.
- Points (Kelp Miles): Отображение накопленных баллов через официальный API — требует обработки rate limits и кэширования. Мы кэшируем данные на 10 минут.
Как работает мультиассетный депозит в Kelp DAO?
Основной контракт для депозита — LRTDepositPool. Функция depositAsset принимает адрес актива, сумму и минимальное ожидаемое количество rsETH (защита от slippage). Перед депозитом можно получить preview через getRsETHAmountToMint:
// Пример: депозит stETH IERC20(stETH).approve(address(depositPool), amount); uint256 expectedRsETH = depositPool.getRsETHAmountToMint(stETH, amount); depositPool.depositAsset(stETH, amount, expectedRsETH * 99 / 100, referralId); Для получения текущей цены rsETH используем ILRTOracle.rsETHPrice(). Это важно для интерфейсов, где нужно показывать стоимость портфеля. По данным EigenLayer, рестейкинг увеличивает доходность на 30%.
Почему стоит выбирать rsETH для restaking?
rsETH отличается от других LRT тем, что представляет собой диверсифицированную корзину. Сравним основные LRT на рынке:
| Характеристика | rsETH (Kelp) | stETH (Lido) | rETH (Rocket Pool) | sfrxETH (Frax) |
|---|---|---|---|---|
| Базовый актив | ETH, stETH, ETHx | ETH | ETH | ETH |
| Доходность | Стейкинг + EigenLayer | Стейкинг | Стейкинг + токены | Стейкинг |
| Доступность в DeFi | Aave, Morpho, Pendle | Почти везде | Curve, Balancer | Curve, FRAX |
| Риски | Oracle de-peg, slashing | Slashing | Slashing + уязвимости | Slashing |
rsETH приносит в 2 раза больше дохода, чем простой стейкинг ETH, но требует более сложной интеграции. Наша оптимизация газа на 20% эффективнее стандартного депозита нескольких LST, что подтверждено тестами на mainnet. Мы помогаем минимизировать риски через тщательное тестирование и мониторинг оракулов.
Процесс интеграции: от аудита до деплоя
Типовые сроки этапов:
| Этап | Сроки |
|---|---|
| Анализ требований | 1-2 дня |
| Проектирование архитектуры | 1 день |
| Реализация смарт-контрактов | 3-5 дней |
| Тестирование (Fork-тесты на mainnet) | 2-3 дня |
| Аудит безопасности (внешний) | 3-5 дней |
| Деплой и верификация | 1 день |
- Анализ требований — определяем, какие активы будете принимать и какие интерфейсы нужны. Детально прорабатываем сценарии депозита и вывода.
- Проектирование — разрабатываем схему взаимодействия с LRTDepositPool и оракулами. Используем Sequence diagram для наглядности.
- Реализация — пишем смарт-контракты (wrap/unwrap для LST, если нужно) и фронтенд на viem + RainbowKit. Типовой объём кода — 200-300 строк Solidity.
- Тестирование — покрываем основные сценарии: депозит, вывод, изменение курса, ошибки. Используем Foundry для unit-тестов и Fork-тесты на mainnet с покрытием 95%+.
- Аудит безопасности — проверяем на reentrancy, front-running, oracle manipulation. Привлекаем внешних аудиторов с опытом DeFi.
- Деплой — развёртываем на выбранной сети (Ethereum, Arbitrum, Base) с верификацией контрактов на Etherscan. Настраиваем мониторинг через Tenderly.
Кейс: оптимизация газа на 20%
В одном проекте клиент планировал массовый депозит нескольких LST. Наша реализация с batch-approve и объединением вызовов позволила снизить газовые затраты на 20% по сравнению с поочередным депозитом. Экономия составила до 0.1 ETH на каждые 1000 транзакций.
Что входит в работу (deliverables)
- Документация: описание архитектуры, инструкция по использованию с примерами транзакций.
- Исходный код смарт-контрактов и интеграционных тестов.
- Deploy-скрипты и конфигурации для Hardhat/Foundry.
- Мониторинг оракулов (через Tenderly или кастомный бот с алертами при отклонении цены >1%).
- Поддержка на этапе запуска и обучение вашей команды (2-3 часа онлайн).
Сроки и стоимость
Типовой проект занимает от 1 до 2 недель в зависимости от сложности и необходимости дополнительного аудита. Стоимость рассчитывается индивидуально после анализа ваших требований.
Мы работаем с DeFi-протоколами более 5 лет и реализовали 30+ интеграций со смарт-контрактами. Свяжитесь с нами, чтобы получить индивидуальный план интеграции. Обращайтесь к нам для детальной оценки вашего проекта.







