We're excited to announce we are open-sourcing Artemis, a framework for writing MEV bots in Rust. Artemis is designed to be simple, modular, and fast.
Why Build Artemis?
MEV remains one of the strongest centralizing forces on Ethereum today. We believe that building open source tooling for MEV research and extraction is a clear avenue to combat this centralizing pressure.
Currently, there are many obstacles for new entrants in the MEV market:
As a new searcher, it is difficult to get started: there is little incentive for bot operators to share their code, so new searchers often have to rewrite the same components, and rebuild similar infrastructure, resulting in wasted effort.
As a new protocol, it is difficult to find searchers to run keepers: until your protocol reaches scale, it’s difficult to get attention from searchers.
We hope Artemis will alleviate some of these issues by providing flexible and reusable components for writing MEV bots, and by serving as a repository for contributing strategies and keepers.
What Is Artemis?
Artemis is a library for writing bots, and a repository of strategies. We’ve designed the project with some of the following goals in mind:
Simplicity: Artemis is architected as a simple event engine, meaning it’s flexible enough to support a wide range of strategies while avoiding unnecessary complexity.
Modularity: Artemis provides commonly-used bot components out-of-the-box. These components can be mixed and matched to write strategies, allowing searchers to focus on implementing the core logic for each opportunity.
Performance: We want Artemis to be performant, so the framework is written in Rust, leveraging an extensive ecosystem of best-in-class Ethereum tooling.
Batteries Included: Artemis includes tooling to make it easy to run in production, like dockerized deployments, as well as monitoring and alerting using Prometheus and Grafana.
Artemis Architecture
At it’s core, the library is architected as an event processing pipeline, with three main components:
Collectors: Collectors take in external events (such as pending transactions, new blocks, off-chain orders, etc.) and turn them into an internal event representation.
Strategies: Strategies contain the core logic required for each MEV opportunity. They take in events as inputs, and compute whether any opportunities are available (for example, a strategy might listen to a stream of marketplace orders to see if there are any cross-exchange arbs). Strategies produce actions.
Executors: Executors process actions, and are responsible for executing them across domains (for example, submitting transactions to the public mempool, submitting flashbots bundles, or placing off-chain orders).
Additionally, we’re open sourcing a cross-market NFT arbitrage strategy, with more strategies coming soon.
Next Steps
You can try out Artemis today by visiting the project repo.
If you are a developer interested in building open-source MEV tooling, a protocol interested in open-sourcing a keeper, or a searcher interested in integrating Artemis, please reach out.
If you’d like to contribute code and don’t know where to start, please take a look at our issue tracker.
Frankie is a Research Associate at Paradigm. Previously, Frankie was a machine learning engineer, quantitative developer, and trader. He holds a degree in computer science and econometrics. [→]
Disclaimer: This post is for general information purposes only. It does not constitute investment advice or a recommendation or solicitation to buy or sell any investment and should not be used in the evaluation of the merits of making any investment decision. It should not be relied upon for accounting, legal or tax advice or investment recommendations. This post reflects the current opinions of the authors and is not made on behalf of Paradigm or its affiliates and does not necessarily reflect the opinions of Paradigm, its affiliates or individuals associated with Paradigm. The opinions reflected herein are subject to change without being updated.