WIP on a defi trading engine
- 🔌 Modular architecture with pluggable components
- 💱 Support for multiple AMMs and DEX protocols
- 🔄 Customizable strategies
- 📊 Database persistence for liquidity pools
- 🚀 High-performance Rust implementation
- 🤖 CLI tools for bot management and testing
- 🦀 Written in Rust with engine forked from Artemis
/
├── bin/ # Binary crates (bot, cli, swap)
├── crates/ # Core library crates
│ ├── addressbook/ # Blockchain address management
│ ├── amms/ # AMM integrations
│ ├── engine/ # Core engine
│ ├── bindings/ # Contract bindings (rust interfaces)
│ ├── db/ # Database interface
│ ├── encoder-client/ # Blockchain transaction encoding
│ ├── executor-binding/ # Executor contract binding
│ ├── odos-client/ # Odos protocol client
│ ├── provider/ # Blockchain provider
│ ├── shared/ # Shared utilities
│ ├── strategies/ # Strategy folder
│ └── types/ # Common types
├── contracts/ # Smart contracts
└── docker/ # Docker configuration
- Rust 1.70 or higher
- Docker (optional)
- Access to Ethereum nodes or providers
- Copy the example environment file:
cp .env.example .env
-
Configure your environment variables in
.env
-
Build the project:
cargo build --release
- Using the CLI:
cargo run --bin cli -- --help
- Using Docker:
docker-compose up -d
The bot can be configured through:
- Environment variables (
.env
file) - Command-line arguments
- Configuration files
See .env.example
for available configuration options.
- Create a new crate in
crates/strategies/
- Implement the strategy traits from
engine
This project is dual-licensed under:
- MIT License (LICENSE-MIT)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This software is for educational purposes only. Do not use it to exploit blockchain networks or engage in harmful MEV practices. Users are responsible for ensuring compliance with all applicable laws and regulations.