feat: Implement Backpack Exchange Arbitrage Bot#1
Open
Mix-King wants to merge 1 commit intotylerdurden06:mainfrom
Open
feat: Implement Backpack Exchange Arbitrage Bot#1Mix-King wants to merge 1 commit intotylerdurden06:mainfrom
Mix-King wants to merge 1 commit intotylerdurden06:mainfrom
Conversation
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 file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit introduces a Python-based arbitrage bot for the Backpack Exchange.
Features:
arbitrage_bot.log).config.py(withconfig.py.exampletemplate).README.mdcovering setup, configuration, execution, and a risk disclaimer.The bot is structured with a main
arbitrage_bot.pyscript,auth.pyfor authentication,websocket_client.pyfor WebSocket communications, andconfig.pyfor settings.Unit tests are located in the
tests/directory and can be run usingpython -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.