Разработка торгового бота для DEX на Arbitrum
Arbitrum One — L2 с самым высоким TVL среди Ethereum роллапов. Низкий газ (транзакция в Uniswap v3 стоит $0.05-0.30 вместо $3-15 на mainnet), высокая скорость (блок каждые ~250ms), богатая экосистема DEX: Uniswap v3, Camelot, GMX, Ramses, Pendle. Для торговых ботов — привлекательная среда именно из-за дешёвого газа: стратегии с малой прибылью на сделку становятся рентабельными.
Специфика Arbitrum для торговых ботов
Sequencer и MEV
Arbitrum использует централизованный sequencer (оператор Offchain Labs). Это означает:
- Нет публичного мемпула в традиционном смысле — sequencer принимает транзакции по очереди
- Классический frontrunning через gas price auction практически отсутствует — sequencer обрабатывает транзакции в порядке получения (FCFS)
- MEV существует, но меньше чем на L1 — арбитраж между DEX остаётся, sandwich значительно сложнее
Для арб-бота это хорошая новость: меньше конкуренции от sandwich-ботов, честное FCFS-исполнение. Для стратегий, зависящих от front-running — Arbitrum не лучшая среда.
Latency к sequencer критична. Географически sequencer находится в конкретном датацентре. Для конкурентных арб-стратегий — close proximity к sequencer endpoint означает разницу в 10-50ms, что может быть решающим.
Nitro и gas ценообразование
После перехода на Nitro (август 2022) Arbitrum использует L2 gas price, который состоит из L2 computation + L1 calldata cost. Gas price динамически изменяется в зависимости от нагрузки. В отличие от Ethereum, на Arbitrum нет priority fee аукциона — базовый алгоритм FCFS.
При высокой нагрузке на L1 (Ethereum congestion) cost L1 calldata вырастает — эффективный gas на Arbitrum тоже растёт. Бот должен учитывать это при расчёте рентабельности.
Стратегии для Arbitrum DEX
Кросс-DEX арбитраж
Цена ETH/USDC на Uniswap v3 Arbitrum отличается от цены на Camelot Arbitrum. Арб-бот замечает расхождение, покупает на более дешёвом, продаёт на дорогом. С учётом газа $0.10-0.50 — рентабельно даже при расхождении 0.1-0.2%.
Технически: локальный кэш состояния пулов (резервы обновляются через события Swap, Sync), расчёт потенциального profit без RPC-запросов, отправка транзакции при profit > threshold.
// Псевдокод логики арбитража
async function checkArb(token0: Address, token1: Address) {
const priceUni = await getUniswapV3Price(token0, token1)
const priceCamelot = await getCamelotPrice(token0, token1)
const spread = Math.abs(priceUni - priceCamelot) / Math.min(priceUni, priceCamelot)
if (spread > MIN_PROFIT_THRESHOLD) {
const optimalAmount = calculateOptimalArbAmount(priceUni, priceCamelot, poolReserves)
const estimatedProfit = calculateProfit(optimalAmount, spread)
const gasCost = await estimateGasCost()
if (estimatedProfit > gasCost * PROFIT_MULTIPLIER) {
await executeArbitrage(optimalAmount, ...)
}
}
}
Пространственный арбитраж через flash loans
Для стратегий без собственного капитала — flash loan через Aave v3 на Arbitrum (доступен). Заём в начале транзакции, арбитраж, возврат долга + premium (0.05% для большинства токенов) в конце той же транзакции.
На Arbitrum это особенно привлекательно: flash loan на $1M стоит $500 в premium, но транзакция обходится в $0.20-0.50 газа vs $15+ на mainnet.
Лендинговый арбитраж
Процентные ставки на Aave Arbitrum и Compound v3 Arbitrum расходятся при дисбалансе спроса и предложения. Бот занимает по низкой ставке, вносит как ликвидность в протокол с высокой ставкой. Риск: ставки меняются, позицию нужно мониторить.
MEV-защита для пользователей протоколов
Если разрабатывается не арб-бот, а торговый бот для клиентов — важно защитить их транзакции. На Arbitrum Flashbots работает через MEV Blocker или через прямую отправку в sequencer без публичного мемпула. Дополнительно — использование commit-reveal scheme для скрытия intent транзакции.
Инфраструктура
Нода близко к sequencer или использование Arbitrum-специфичного RPC с низкой latency (Alchemy Arbitrum, QuickNode). WebSocket для event streaming. Redis для кэша состояния пулов. PostgreSQL для истории сделок и аналитики.
Мониторинг: Tenderly для дебаггинга failed транзакций на Arbitrum (поддерживает симуляцию), Grafana + Prometheus для метрик бота.
| Компонент | Решение |
|---|---|
| Язык | TypeScript / Rust |
| RPC | Alchemy Arbitrum WebSocket |
| Flash loans | Aave v3 Arbitrum |
| DEX | Uniswap v3, Camelot, GMX |
| Кэш | Redis |
| БД | PostgreSQL |
Ориентиры по срокам
Простой кросс-DEX арб-бот для Arbitrum — 1-2 недели. Мультистратегийный бот с flash loans, мониторингом и управлением рисками — 3-5 недель.
Стоимость рассчитывается после обсуждения стратегий и требований к инфраструктуре.







