Skip to content

A simple, modular, and fast framework for writing MEV bots in Rust.

License

Notifications You must be signed in to change notification settings

mattsse/artemis

 
 

Repository files navigation

CI status Telegram Chat

What is Artemis?

Artemis is a framework for writing MEV bots in Rust. It's designed to be simple, modular, and fast.

At it's core, Artemis is architected as an event processing pipeline. The library is made up of three main components:

  1. Collectors: Collectors take in external events (such as pending txs, new blocks, marketplace orders, etc. ) and turn them into an internal event representation.
  2. 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.
  3. Executors: Executors process actions, and are responsible for executing them in different domains (for example, submitting txs, posting off-chain orders, etc.).

Strategies

The following strategies have been implemented:

Build, Test and Run

In order to build, first clone the github repo:

git clone https://github.com/paradigmxyz/artemis
cd artemis

Next, run tests with cargo:

cargo test --all

In order to run the opensea sudoswap arbitrage strategy, you can run the following command:

cargo run -- --wss <INFURA_OR_ALCHEMY_KEY> --opensea-api-key <OPENSEA_API_KEY> --private-key <PRIVATE_KEY> --arb-contract-address <ARB_CONTRACT_ADDRESS> --bid-percentage <BID_PERCENTAGE>

where ARB_CONTRACT_ADDRESS is the address to which you deploy the arb contract.

Acknowledgements

About

A simple, modular, and fast framework for writing MEV bots in Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 80.7%
  • Solidity 18.9%
  • Julia 0.4%
  • Dockerfile 0.0%
  • Just 0.0%
  • Makefile 0.0%