Skip to content

Conversation

@Mix-King
Copy link

This commit introduces a Python-based arbitrage bot for the Backpack Exchange.

Features:

  • Triangular arbitrage opportunity identification based on ticker prices.
  • REST API client for public data (assets, markets, tickers, depth, klines) and authenticated actions (balances, orders, positions, history).
  • WebSocket client for real-time public (depth, ticker, trades) and private (order updates, balance updates) streams.
  • ED25519-based authentication mechanism for all private API and WebSocket interactions.
  • Comprehensive logging to console and a rotating log file (arbitrage_bot.log).
  • Configuration management via config.py (with config.py.example template).
  • Unit tests for core components (authentication, arbitrage logic, API clients, WebSocket client logic).
  • Detailed README.md covering setup, configuration, execution, and a risk disclaimer.

The bot is structured with a main arbitrage_bot.py script, auth.py for authentication, websocket_client.py for WebSocket communications, and config.py for settings.

Unit tests are located in the tests/ directory and can be run using python -m unittest discover tests.

Note: This is an initial version. Further improvements could include more sophisticated arbitrage strategies, consideration of order book depth for execution, dynamic fee fetching, and more robust error handling and recovery.

This commit introduces a Python-based arbitrage bot for the Backpack Exchange.

Features:
- Triangular arbitrage opportunity identification based on ticker prices.
- REST API client for public data (assets, markets, tickers, depth, klines) and authenticated actions (balances, orders, positions, history).
- WebSocket client for real-time public (depth, ticker, trades) and private (order updates, balance updates) streams.
- ED25519-based authentication mechanism for all private API and WebSocket interactions.
- Comprehensive logging to console and a rotating log file (`arbitrage_bot.log`).
- Configuration management via `config.py` (with `config.py.example` template).
- Unit tests for core components (authentication, arbitrage logic, API clients, WebSocket client logic).
- Detailed `README.md` covering setup, configuration, execution, and a risk disclaimer.

The bot is structured with a main `arbitrage_bot.py` script, `auth.py` for authentication, `websocket_client.py` for WebSocket communications, and `config.py` for settings.

Unit tests are located in the `tests/` directory and can be run using `python -m unittest discover tests`.

Note: This is an initial version. Further improvements could include more sophisticated arbitrage strategies, consideration of order book depth for execution, dynamic fee fetching, and more robust error handling and recovery.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant