Разработка MEV-бота для сэндвич-атак на Ethereum
Сэндвич-бот — это легальный MEV-инструмент, который эксплуатирует slippage tolerance пользователей DEX. Мы создаём таких ботов с нуля, используя Rust, Flashbots и собственные симуляторы. Арбитраж, ликвидации, сэндвичи — три основных стратегии MEV-извлечения в продакшне. Сэндвич конкретно: бот видит жертву в mempool, вставляет свою покупку перед ней (frontrun), жертва двигает цену вверх, бот продаёт после (backrun). Разница — прибыль бота, убыток жертвы в рамках её же slippage tolerance. Это арбитраж на информации о порядке транзакций.
Разработка такого бота — задача о скорости (латентность мемпула), экономике (калькулятор прибыльности) и инфраструктуре (надёжный деплой без потерь). Наш опыт в MEV-разработке позволяет создавать ботов, которые приносят прибыль в условиях высокой конкуренции. Оценим ваш проект, предоставим детальный расчёт рентабельности.
Почему большинство сэндвич-ботов убыточны?
Неточный расчёт прибыльности
Самая частая ошибка — расчёт profit без учёта всех costs. Реальный P&L:
profit = amountOut_backrun - amountIn_frontrun
costs = gasCost_frontrun + gasCost_backrun + builderTip
netProfit = profit - costs
gasCost при агрессивных tips на Ethereum mainnet — не мелочь. Если сэндвич приносит $2, а builder tip составляет $1.5 — сделка убыточна. Бот должен симулировать весь пакет перед отправкой и отбрасывать сделки с отрицательным net profit. Симуляция через eth_call — медленная. Мы используем in-process EVM симуляторы (revm на Rust) для микросекундной оценки.
Revert из-за price impact расчёта
Бот рассчитал прибыль в момент T, отправил транзакцию через 50 мс. За это время другой бот выполнил свой frontrun. Состояние пула изменилось, цена двигается сильнее расчётного, жертва попадает за пределы slippage tolerance, её транзакция ревертируется. Backrun не нужен, но газ за frontrun потрачен. Защита: backrun транзакция conditional — проверяет, что целевая транзакция действительно была включена. В Flashbots bundle это реализуется через reverting_tx_hashes — если жертва ревертировалась, весь bundle не включается.
Конкуренция и builder relationship
На Ethereum 95%+ MEV-bundles проходят через block builders (Flashbots, beaverbuild). Бот, отправляющий транзакции напрямую в публичный mempool, проигрывает. Правильная инфраструктура: MEV-Share, прямые соединения с топ-builders, мониторинг mev-boost relay. Мы обеспечиваем интеграцию с ведущими relay для максимизации inclusion rate.
Как оптимизировать исполнение через Flashbots?
Архитектура production сэндвич-бота включает:
- Мемпул мониторинг с прямыми пиринговыми соединениями и фидами bloXroute. Настраиваем собственную ноду с
--txpool.pricelimit 0.
- Фильтрация кандидатов: только известные DEX router, декодированный calldata с slippage > 0.5%, достаточный gas price.
- Расчёт оптимального frontrun amount: для Uniswap V2 — аналитическое решение, для V3 — численная оптимизация. Учитываем marginal cost каждого дополнительного доллара.
- Execution через Flashbots с conditional bundle:
const bundle = [
{ signer: wallet, transaction: frontrunTx },
{ hash: victimTxHash },
{ signer: wallet, transaction: backrunTx }
];
const bundleResponse = await flashbotsProvider.sendBundle(
bundle,
targetBlockNumber,
{ minTimestamp: 0, maxTimestamp: 0, revertingTxHashes: [victimTxHash] }
);
revertingTxHashes — ключевой параметр: если жертва ревертируется, весь bundle дропается, бот не теряет газ на frontrun без backrun.
Сравнение чейнов для сэндвич-атак
| Чейн |
Тип мемпула |
Конкуренция |
Средняя прибыль на сделку |
| Ethereum |
Flashbots/private |
Высокая |
$5–$50 |
| BSC |
Публичный + private |
Средняя |
$2–$20 |
| Arbitrum |
Sequencer (ограничен) |
Низкая |
$1–$10 |
| Polygon |
Публичный |
Средняя |
$3–$30 |
Наши боты работают на всех указанных чейнах. Для каждого подбираем оптимальную стратегию — на Ethereum упор на builder relationships, на BSC — скорость и низкие комиссии. Среднедневная чистая прибыль на одном боте может составлять от $200 до $2000 в зависимости от рыночной волатильности.
Ключевые метрики эффективности
| Метрика |
Целевое значение |
| Inclusion rate |
> 90% |
| Средний profit per bundle |
$8 |
| Revert rate |
< 5% |
| Задержка от получения tx до отправки bundle |
< 50 ms |
Мы мониторим каждую метрику через Prometheus + Grafana. Гарантируем прозрачность работы.
Что входит в работу
- Анализ целевого чейна и DEX-экосистемы (2–3 дня)
- Разработка и тестирование (2–3 недели для базовой версии)
- Деплой на mainnet с ограниченными позициями и оптимизация (1–2 недели)
- Передача полной документации, доступов к инфраструктуре, обучение команды
- Поддержка 1 месяц после запуска
Процесс работы
- Исследование — оценка MEV-возможностей через Dune Analytics и собственные скрипты.
- Проектирование — выбор стека, архитектуры, настройка мемпул-фидов.
- Разработка — кодинг на Rust, deployment смарт-контрактов, интеграция с Flashbots.
- Тестирование — backtesting на исторических блоках в Foundry fork, paper trading на testnet.
- Запуск — деплой на mainnet, A/B тестирование параметров.
- Оптимизация — постоянная настройка под текущую рыночную ситуацию.
Сроки ориентировочно
- Базовый Uniswap V2/V3 бот: 1–2 недели
- Multi-DEX + мультичейн: 3–5 недель
- Сроки включают все этапы от исследования до оптимизации
Стоимость рассчитывается индивидуально — напишите нам, оценим ваш проект.
Стек разработки
Бот пишем на Rust с библиотекой alloy для максимальной производительности. Критичные компоненты — EVM симулятор (revm), мемпул стриминг, bundle submission — в одном процессе без межпроцессной коммуникации. Смарт-контракт для atomic execution — Solidity 0.8.x с минимальным footprint. Мониторинг: Prometheus + Grafana.
Rust быстрее TypeScript в 10 раз при симуляции транзакций — это даёт преимущество в гонке за MEV.
Типичные ошибки при самостоятельной разработке
- Использование готовых open-source ботов — они уже эксплуатируются, конкуренция высока.
- Игнорирование газовых затрат на пустые блоки — бот может работать в минус.
- Отсутствие кондишенов на реверт — потеря газа на каждом неудачном фронтране.
Мы устраняем эти проблемы на этапе проектирования. Свяжитесь с нами для консультации — бесплатно оценим рентабельность и предложим оптимальное решение.
Детали о конфигурации
Параметры бота настраиваются индивидуально: минимальная прибыль сделки, максимальный gas price, список пулов; приватные RPC endpoints.
Источник: Flashbots Documentation
MEV на Wikipedia
Свяжитесь с нами для бесплатной оценки вашего проекта. Получите консультацию по выбору стратегии и чейна.
Разработка DeFi-протоколов
Мы проектируем модульные DeFi-протоколы, в которых математика стейблкоинов, ликвидности и оракулов работает без сбоев. Mango Markets — краш-тест: атакующий манипулировал spot price через один аккаунт, взял кредит под завышенный collateral и вывел $114 млн. Оракул брал цену с единственного источника без TWAP. Не баг в коде — это архитектурное решение, которое стало уязвимостью. Наш опыт показывает: любой DeFi-протокол — это система ставок на то, что все компоненты, от расчётов до экономических стимулов, выстроены правильно одновременно.
Мы не пишем код под «если всё работает, не трогай». Мы моделируем стресс-сценарии: каскадные ликвидации, депег, флеш-кредиты. И только после этого — события, которые не сломают протокол.
Почему оракулы — критический компонент DeFi?
Большинство крупных взломов DeFi начинались с манипуляции оракулом. Разберём три слоя, которые мы используем в каждом проекте.
Spot price как оракул — не вариант. Uniswap v2 spot price можно сдвинуть flash loan за одну транзакцию. Цена в конце блока — единственное, что попадает в state, её и читает оракул. Схема атаки: занять через flash loan → купить актив в пул → цена поднялась → взять кредит под завышенный collateral → продать актив → вернуть flash loan. Одна транзакция.
TWAP как защита. Uniswap v3 observe() усредняет цену за период (30 минут). Манипуляция требует удерживать цену несколько блоков — это стоит дорого. Но TWAP медленно реагирует на легитимные изменения, что открывает окно для arbitrage на liquidation при резких движениях.
Chainlink Price Feeds — агрегация от множества data providers с медианой. Стандарт для lending. Проблема: heartbeat 1–24 часа и deviation threshold 0.5%. Если цена не двигается, фид может не обновляться сутки. В волатильном рынке — lag.
| Оракул |
Механизм |
Защита от манипуляции |
Задержка |
| Chainlink |
Медиана от независимых провайдеров |
Высокая (децентрализация) |
До 24 ч при 0% движения |
| Uniswap v3 TWAP |
Средняя цена за N блоков |
Высокая (сложно удерживать) |
30 мин — 1 ч |
| Pyth Network |
Cross-chain low-latency |
Средняя (зависимость от publisher) |
Секунды |
В продакшене мы используем двухуровневую проверку: Chainlink aggregator + Uniswap v3 TWAP как верификатор. Если расхождение больше N% — транзакция отклоняется, система ставится на паузу.
Как защитить DeFi-протокол от flash loan атак?
Flash loan превращает любого пользователя в обладателя неограниченного капитала на одну транзакцию. Поэтому при проектировании контрактов мы предполагаем: доступ к неограниченному капиталу есть у всех. Это меняет threat model полностью.
Легитимные применения flash loan — arbitrage, liquidation, самоликвидация. Но протокол должен проверять, что заём не используется для манипуляции: оракул не должен читать цену из пула, который можно сдвинуть за одну транзакцию. Мы добавляем проверки на block.timestamp и минимальную глубину ликвидности.
Ключевые компоненты DeFi-архитектуры
| Тип протокола |
Основная механика |
Главный риск |
| DEX (AMM) |
x*y=k или concentrated liquidity |
impermanent loss, oracle manipulation |
| Lending |
collateral ratio, liquidation |
bad debt при каскадных ликвидациях |
| Yield aggregator |
автокомпаундинг стратегий |
rug через strategy upgrade |
| Derivatives / Perps |
funding rate, mark price |
liquidation cascades, socialized losses |
| Liquid staking |
stETH-style rebasing |
depegging при mass unstake |
AMM: от x*y=k до concentrated liquidity
Uniswap v2 использует x * y = k. LP-токены ERC-20 — каждый пул выпускает свой токен пропорционально доле. Проблема: ликвидность размазана по всей кривой, большая часть не используется.
Uniswap v3 и позиции ERC-721: concentrated liquidity — LP предоставляет ликвидность в диапазоне [priceLow, priceHigh]. Capital efficiency до 4000x для стабильных пар. Но ERC-721 ломает vault-стратегии под ERC-20. Управление ranges — отдельная инженерная задача: позиция выходит из диапазона при движении цены, перестаёт зарабатывать fees, становится single-asset. Протоколы типа Arrakis Finance автоматически rebalance. Если строите vault поверх v3, нужен собственный range manager или интеграция с существующим.
Slippage в v3 рассчитывается через sqrtPriceX96 — 96-битная fixed-point математика. Ошибки на фронтенде приводят к расхождению между видимым и фактическим slippage.
Curve для пар с близкими ценами (stablecoin/stablecoin, stETH/ETH) использует инвариант, комбинирующий constant product и constant sum. Меньше slippage в диапазоне peg. Контракты на Vyper, код математически плотный, аудировать сложно.
Lending протоколы: collateral, liquidation, bad debt
LTV определяет максимальный кредит под collateral. Liquidation threshold — уровень ликвидации. Разница — буфер для liquidator. Типичный пример: LTV 75%, liquidation threshold 80%, bonus 5%. Если цена падает на 20%+, позиция открыта к ликвидации.
Каскадные ликвидации: много позиций ликвидируется одновременно → ликвидаторы продают collateral → цена падает → следующая волна. LUNA/UST 2022 — классический каскад.
Если collateral обесценивается быстрее ликвидации, протокол получает bad debt. Aave использует Safety Module (застейканный AAVE), Compound — reserves. Без backstop bad debt социализируется через dilution supply-токена или взаимозачёт.
Проектирование системы ликвидации требует моделирования стресс-сценариев: падение единственного liquidation bot, высокий gas, делистинг collateral.
Yield farming и incentive mechanics
Liquidity mining — раздача governance-токенов LP-провайдерам. Проблема mercenary capital: фармеры приходят, продают токены, уходят. TVL фиктивный.
Устойчивые механики: protocol-owned liquidity (Olympus bonding), veToken (CRV locked → boost + governance), locked staking с penalty. Ve-модель при неправильной реализации создаёт governance concentration. Нужен timelock на изменения gauge weights и лимиты на votingPower.
Что входит в нашу разработку DeFi-протоколов
- Архитектурная документация: диаграммы взаимодействия контрактов, стресс-тесты ликвидаций, расчёты оракулов.
- Реализация на Solidity 0.8.x с OpenZeppelin 5.x (AccessControl, ReentrancyGuard, Pausable, TimelockController) и Solmate для gas-optimised base contracts.
- Foundry fork-тесты на реальном mainnet (Uniswap, Chainlink, Aave) — тесты до деплоя покрывают все сценарии.
- Аудит: минимум два независимых аудитора для TVL от $1M. Code4rena или Sherlock для bug bounty.
- Деплой с Gnosis Safe 3/5 multisig + timelock 48–72 часа.
- Мониторинг через Tenderly (alerts, симуляции), OpenZeppelin Defender (automation), Forta (on-chain threat detection).
- Поддержка после запуска: обновления, патчи, апгрейды через proxy.
Наши компетенции и опыт
Мы разрабатываем DeFi-протоколы с 2020 года — за это время реализовали 30+ проектов с общим TVL более $150 млн. Среди клиентов — протоколы в топ-20 по TVL на Ethereum, Arbitrum и Base. Команда сертифицированных разработчиков Solidity, прошедших аудиторские треки ConsenSys Diligence.
DeFi на Wikipedia — базовые принципы, которые мы применяем на практике.
Сроки
- DEX с AMM (Uniswap v2 fork): 6–10 недель
- Lending protocol (Aave-style, один collateral): 3–5 месяцев
- Yield aggregator с несколькими стратегиями: 2–4 месяца
- Полноценный DeFi-протокол с governance: 5–8 месяцев включая аудит
Стоимость рассчитывается индивидуально — свяжитесь для оценки вашего проекта.
Получите консультацию по архитектуре DeFi-протокола — мы проанализируем риски и предложим оптимальное решение.