Ликвидатор Aave v3: как построить высокочастотного бота с flash loan и MEV-защитой
В периоды резкого падения рынка на Aave v3 открываются позиции на десятки миллионов долларов, доступные для ликвидации. Боты, которые успевают исполнить ликвидации первыми, зарабатывают liquidation bonus (5–15% от суммы долга). Те, кто отправили транзакции на 200 мс позже — получают revert и теряют только на газе. Разрыв между «успел» и «не успел» — это архитектурные решения, принятые за месяцы до события. От скорости реакции зависит прибыль: ликвидация позиции на $100k может принести до $15k бонуса в момент, когда рынок падает на 10%. Наши инженеры строят ботов, которые попадают в первую волну благодаря оптимизации on-chain и off-chain компонентов.
Как работает ликвидация в Aave v3?
Позиция становится ликвидируемой, когда healthFactor < 1:
HF = Σ(collateral_i * liquidationThreshold_i) / totalDebt Liquidation threshold зависит от актива: для ETH — 82.5%, для WBTC — 75%, для более волатильных — 65% и ниже. При HF < 1 любой вызывает liquidationCall() и получает collateral со скидкой — liquidation bonus. Важный нюанс Aave v3: close factor = 0.5 при HF > 0.95, но если HF упал ниже 0.95 — можно ликвидировать 100% долга за один вызов. Это меняет расчёт прибыльности.
Какие источники данных используем для поиска позиций?
Три подхода с разным trade-off между latency и полнотой:
| Источник | Latency | Полнота | Применение |
|---|---|---|---|
| The Graph (subgraph) | 15–60 с | Все позиции | Фоновый скан |
| Aave API (positions) | 5–30 с | Все позиции | Периодический опрос |
Событие Borrow + пересчёт |
Real‑time | Новые позиции | Добавление в watchlist |
Рабочая архитектура: фоновый скан через The Graph для построения базы всех позиций с HF < 1.3 (pre-liquidation watchlist), плюс real-time мониторинг через WebSocket на события Borrow, Repay, LiquidationCall, ReserveDataUpdated для обновления HF в watchlist. При изменении цены пересчитываем HF для всего watchlist и немедленно отправляем транзакции для позиций, где HF опустился ниже 1.
Почему используем flash loan?
liquidationCall требует погашаемый актив заранее. Вам не нужен собственный капитал: используется flash loan из того же Aave. Занимаем debtAsset → вызываем liquidationCall → получаем collateral со скидкой → продаём часть collateral через Uniswap v3/Paraswap для погашения flash loan → оставляем profit. Всё в одной атомарной транзакции. Если profit < gas cost — транзакция реверсируется, теряем только газ.
Контракт ликвидатора реализует интерфейс IFlashLoanSimpleReceiver (Aave v3). В executeOperation callback:
- Вызов
POOL.liquidationCall(collateralAsset, debtAsset, user, debtToCover, receiveAToken) - Проверка полученного количества collateral
- Swap через Uniswap v3 со слиппажем ≤0.5% (иначе ликвидация убыточна)
- Возврат flash loan + fee (0.05% для Aave v3)
Что делаем для защиты от MEV и конкуренции?
Ликвидации — высококонкурентная среда. Без приоритизации — sandwich или front-running. Сравните методы:
| Метод | Эффективность | Стоимость | Сети |
|---|---|---|---|
| Flashbots bundle | Устраняет front-running в 90% случаев | 0.1–0.5 ETH | Ethereum |
| Private RPC (bloXroute) | Защита от front-running, но не от реорdriners | Подписка | Ethereum, BNB |
| Динамический priorityFee | Просто и работает, конкуренция высокая | Высокий газ | Все EVM |
Для сравнения: Flashbots bundle в 10 раз эффективнее прямой транзакции в условиях высокой конкуренции. На Arbitrum и Polygon Flashbots не работает, но там latency ниже и конкуренция меньше — прямые транзакции с чуть повышенным gasPrice обычно достаточны. Flashbots documentation
Как построен бот?
Контракт ликвидатора (Solidity). Реализует IFlashLoanSimpleReceiver, интегрирован с Uniswap v3 Swap Router. Параметризован: поддерживает несколько DEX для свапа (fallback с Uniswap на Paraswap если слиппаж высокий). Деплоим через Foundry с forge script, верификация на Etherscan автоматически.
Off-chain движок (Node.js/TypeScript + viem). Watchlist management, мониторинг событий, расчёт прибыльности, отправка транзакций. Конфиг через .env: пороги HF, минимальная прибыль, поддерживаемые сети, Flashbots RPC.
Инфраструктура. Собственная нода или премиум RPC (Alchemy Growth/Business tier) для стабильного WebSocket. На Ethereum — обязательно, на L2 — по ситуации.
Подробнее о расчёте прибыльности
Для каждой потенциальной ликвидации симуляция: берём текущий ончейн-стейт (через eth_call), выполняем liquidationCall и swap, считаем profit минус газ. Если profit/gas > заданного порога (например, 2x), отправляем транзакцию. Порог подбирается так, чтобы не тратить газ на ликвидации с нулевой или отрицательной прибылью.
Что входит в работу
- Аудит целевых сетей и выбор оптимальной стратегии
- Разработка смарт-контракта ликвидатора с flash loan и мульти-DEX свапом
- Написание off-chain движка с мониторингом и расчётами
- Интеграция MEV-защиты (Flashbots / private RPC)
- Деплой в выбранные сети, верификация контрактов
- Мониторинг (Grafana dashboard: P&L, успешные ликвидации, газ)
- Передача исходного кода, документации, обучение команды
Опыт и гарантии
Наша команда — блокчейн-инженеры с солидным опытом в продакшене DeFi. За много лет на рынке мы реализовали более 30 проектов по автоматизации DeFi, включая ликвидаторов для Aave, Compound и MakerDAO. Предоставляем гарантию на корректную работу контрактов и поддерживаем клиента после запуска. Вы можете значительно сократить расходы на газ за счёт оптимизации и получать стабильный доход от ликвидаций.
Сроки и как начать
Базовый бот для одной сети (Ethereum или Polygon) с flash loan и Uniswap — 1–1.5 недели. Мультисетевая версия с Flashbots, динамическим роутингом и полным мониторингом — 2–3 недели. Стоимость обсуждается индивидуально после анализа ваших целей. Свяжитесь с нами — бесплатно оценим проект за 1 день и предложим план. Получите консультацию прямо сейчас: мы поможем вам запустить собственный ликвидатор и начать зарабатывать на любых рыночных движениях. Закажите разработку бота ликвидаций и начните зарабатывать на рыночных движениях.







