Construct evm-based sandwich attacks using Rust and Huff.
Before going further you should have the following packages installed on your system: Yarn, Cargo, Rust, Forge, Huff Compiler, Solc=0.8.15
subway-rs is a port of libevm's original subway, implemented with ethers-rs and huff.
Having highly optimized contracts is just one part of the equation, a tech stack is just as important as the contracts to execute on the opportunities. Source: libevm/subway
To improve upon the original tech stack, we use rust: the best language available for speed, dependability, and scalability (not biased).
This is subway-rs: A pure-rust bot and Huff smart contracts used to execute sandwich attacks on UniswapV2.
The goal is to act as a low barrier of entry for huff and rust-based MEV development; a sort-of reference code for aspiring new searchers.
We're building it to be fast. But don't take our word for it, just check out the benchmarks.
Current capabilities:
- Watch pending transactions in the mempool.
- Decode Transaction data for Uniswap V2 Calls. (and more soon!)
- Search for profitable strategies efficiently using a variety of algorithms.
- Calculate gas bribes.
- Simulate and Execute Flashbot Bundles.
- Verbose telemetry reporting using tracing.
Note
Be aware, this bot is intended to be educational content and not for production use.
Although the bot functions, it is simplistic and certainly not competitive. Accept that advanced searchers to already be executing far beyond the current capabilities.
That being said, a list of future improvements are tagged with the feat:
prefix in the issues section of this repository.
All contributions are welcome!
Please reach out to asnared on twitter or open an issue for any questions, improvements, or bugs.