finds.dev← search

// the find

BowTiedDevil/degenbot

★ 547 · Solidity · MIT · updated Jul 2026

Python + Rust (PyO3) building blocks for Uniswap (V2, V3, V4), Curve V1, Solidly V2, Balancer V2 & Aave V3 arbitrage and liquidation bots on EVM-compatible blockchains

Degenbot is a Python library for building MEV bots on EVM chains — specifically arbitrage and liquidation bots targeting Uniswap V2/V3/V4, Curve, Balancer, and Aave V3. It's aimed at developers who want to write their own bots without reimplementing AMM math from scratch. The author runs a paid educational newsletter alongside it, so this is companion code to lessons, not a standalone product.

The Rust extension (via PyO3) for tick math and ABI decoding is the right call — tick-to-sqrt conversions at 0.1μs vs 50μs matters when you're scanning thousands of pools per second. The lazy-loading of V3 liquidity tick data is genuinely thoughtful: instantiation is fast and you only fetch tick ranges as the price moves through them, which keeps RPC calls sane. The Aave V3 coverage is unusually deep — position analysis, E-Mode, GHO, liquidation math — most Python MEV libs stop at DEXs. The `debug/aave/` directory with 65 numbered bug postmortems is a rare find: you can see exactly where the Aave accounting math gets tricky and how they fixed it.

Balancer V2 is listed as 'internal, not in public API' — you can see it in the source tree but it's not exposed, which is a problem if you want cross-protocol arb involving Balancer vaults. The arbitrage optimizer only covers cycle arbitrage (buy on pool A, sell on pool B); it won't help you with more complex paths like flash loan → multi-hop → repay. There's no execution layer: `ArbitrageCalculationResult` gives you amounts but you still have to encode and broadcast the transaction yourself, which is most of the hard part when competing with other bots. The SQLite-backed pool state database works fine for a single bot, but there's no pub/sub or streaming update mechanism — if you want sub-block latency you'll be polling, which won't cut it on mainnet.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →