Artemis

artemis rust artemis rust

Artemis is a framework for writing MEV bots in Rust. It is designed to be simple, modular, and fast. At its core, Artemis is architected as an event processing pipeline, making it efficient and powerful for MEV operations.

What is Artemis?

Artemis is built around three main components:

  1. Collectors: These take in external events (such as pending transactions, new blocks, marketplace orders, etc.) and convert them into an internal event representation.
  2. Strategies: These contain the core logic for each MEV opportunity. They take events as inputs and compute whether any opportunities are available. For example, a strategy might monitor a stream of marketplace orders to identify cross-exchange arbitrage opportunities. Strategies produce actions.
  3. Executors: These process actions and are responsible for executing them in different domains, such as submitting transactions or posting off-chain orders.

Strategies

The following strategies have been implemented in Artemis:

  • Opensea/Sudoswap NFT Arbitrage: This strategy implements atomic, cross-market NFT arbitrage between Seaport and Sudoswap.

Build, Test, and Run

Prerequisites

Ensure the following are installed:

  • Anvil

Building and Testing

Clone the GitHub repository:

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

Run tests with Cargo:

cargo test --all

Running the Opensea Sudoswap Arbitrage Strategy

To run the opensea sudoswap arbitrage strategy, use 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 arbitrage contract.

Similar Projects