TVL протокола EtherFi превышает $5B, а суточный объём депозитов составляет десятки тысяч ETH. Однако подключить EtherFi корректно — нетривиальная задача. Основные сложности: расчёт обменного курса eETH/weETH, обработка withdrawal queue с задержкой до 4 дней, и корректное отображение начисляемых points. Наш опыт включает 15+ интеграций, и мы разобрали все типичные грабли. Закажите аудит вашей архитектуры прямо сейчас, чтобы избежать ошибок.
Какие токены EtherFi мы подключаем и зачем?
eETH — нативный liquid restaking token с rebasing механизмом: баланс растёт по мере получения наград. weETH — wrapped eETH, value-accruing версия с постоянно растущим обменным курсом относительно eETH. Именно weETH используется в большинстве DeFi-протоколов (Aave, Morpho, Pendle), так как его курс не требует частых обновлений из-за rebase. Разница в gas затратах между использованием eETH и weETH может составлять до 30% на операциях обновления баланса.
| Токен | Тип | Основное применение | Преимущества |
|---|---|---|---|
| eETH | Rebasing | Хранение, стейкинг, отображение баланса | Простота, автоматическое начисление наград |
| weETH | Value-accruing | DeFi коллатерал, AMM, lending pools | Стабильный курс, не требует частых апдейтов |
Почему weETH предпочтительнее eETH для DeFi?
Использование weETH в качестве коллатерала позволяет избежать пересчёта балансов при каждом rebase. В протоколах Aave и Morpho курс задаётся через Chainlink price feed, который обновляется раз в несколько часов. Это в 2–3 раза снижает operational overhead по сравнению с eETH, где оракул требует синхронизации с rebase (каждые 6–8 часов).
Как интегрировать EtherFi в DeFi протокол?
Deposit ETH и получение eETH
interface ILiquidityPool { function deposit() external payable returns (uint256); function deposit(address _referral) external payable returns (uint256); } // Deposit ETH, получить eETH ILiquidityPool liquidityPool = ILiquidityPool(ETHERFI_LIQUIDITY_POOL); uint256 eETHAmount = liquidityPool.deposit{value: ethAmount}(referralAddress); Wrap/Unwrap eETH ↔ weETH
interface IWeETH { function wrap(uint256 _eETHAmount) external returns (uint256); function unwrap(uint256 _weETHAmount) external returns (uint256); function getWeETHByeETH(uint256 _eETHAmount) external view returns (uint256); function getEETHByWeETH(uint256 _weETHAmount) external view returns (uint256); } // Конвертация для DeFi протоколов IWeETH weETH = IWeETH(WEETH_ADDRESS); uint256 weETHAmount = weETH.wrap(eETHAmount); Withdrawal Request
interface IWithdrawRequestNFT { function requestWithdraw(uint256 amount, address recipient) external returns (uint256); } // Получить NFT с pending withdrawal uint256 requestId = withdrawRequestNFT.requestWithdraw(eETHAmount, msg.sender); // Ждать finalizeWithdraw (несколько дней) Вывод ETH из EtherFi занимает от 2 до 4 дней. В это время пользователь получает NFT, представляющее право на вывод. После финализации NFT сжигается и ETH переводится на указанный адрес. Важно корректно отслеживать событие WithdrawCompleted в интерфейсе.
Как обрабатывать price feed для weETH?
При использовании weETH как коллатерала необходим актуальный курс к ETH. Chainlink предоставляет специальный weETH/ETH feed (Chainlink Documentation). Альтернативно можно использовать метод getRate() на контракте weETH.
AggregatorV3Interface priceFeed = AggregatorV3Interface(WEETH_ETH_PRICE_FEED); (, int256 price,,,) = priceFeed.latestRoundData(); // price — в wei за 1 weETH EtherFi Points и Loyalty система
EtherFi использует points для bootstrapping ликвидности. Через API EtherFi можно верифицировать и показывать points пользователей в вашем интерфейсе. Реферальная программа работает на смарт-контрактах с on-chain отслеживанием. Мы реализуем этот функционал под ключ, включая интеграцию с вашим back-end. В среднем пользователи генерируют до 5% дополнительных points через реферальные ссылки.
Как проходит интеграция: от анализа до деплоя?
- Аналитика: ревью архитектуры, выбор токенов (eETH/weETH), определение точек взаимодействия. Оценка объёма работы и выявление узких мест.
- Проектирование: диаграмма flow, спецификация событий, подбор конфигураций для mainnet-fork. Учитываются edge cases: flash loan атаки, минимальные депозиты, обработка ошибок.
- Реализация: разработка смарт-контрактов (депозит, wrap, withdrawal) и front-end логики. Все контракты проходят статический анализ (Slither, Mythril).
- Тестирование: unit-тесты + интеграционные тесты в Tenderly или Forge, проверка edge cases (flash loan атаки, slippage). Отдельно тестируем withdrawal queue под нагрузкой.
- Деплой: подписание контрактов, верификация в Etherscan, настройка мониторинга. Предоставляем скрипты для повторяемых деплоев.
Что вы получаете по итогу?
- Работающая интеграция с EtherFi: депозит/вывод eETH, wrap/unwrap weETH, отображение балансов и points.
- Документация по смарт-контрактам и API.
- Тестовый стенд и инструкции по интеграции для вашей команды.
- Пост-релизная поддержка на месяц (исправление багов, помощь с обновлениями).
Какие риски стоит учесть при интеграции?
- Смена обменного курса eETH/weETH из-за rebase требует правильного округления, иначе возможны ошибки в расчётах (потери ликвидности до 0.1%).
- Зависимость от Chainlink price feed: если оракул устареет, позиции могут быть некорректно оценены. Рекомендуем добавить запасной price feed от MakerDAO.
- Изменения в контрактах EtherFi (upgradeable) — необходимо отслеживать EIP и своевременно обновлять интеграцию.
Сравнение базовой и расширенной интеграции
| Сценарий | Базовая интеграция | Расширенная интеграция |
|---|---|---|
| Деятельности | Депозит/вывод eETH | + wrap/unwrap weETH + points + referral |
| Срок | 1–2 недели | 2–4 недели |
| Gas оптимизации | Нет | Да (packing, batch calls) |
| Тестирование | Unit + интеграционное | + Fuzzing + mainnet форк |
Получите аудит вашей архитектуры и расчёт стоимости интеграции — мы подберём оптимальный объём работ под ваш бюджет. Закажите консультацию прямо сейчас.







