Home
Softono
barbotine-arbitrage-bot

barbotine-arbitrage-bot

Open source Python
638
Stars
152
Forks
0
Issues
26
Watchers
4 months
Last Commit

About barbotine-arbitrage-bot

CCXT-based cross-exchange arbitrage bot operating on CEXs, entirely written in Python. Work without any transfer between exchanges.

Platforms

Web Self-hosted

Languages

Python

Links

Σ Barbotine

Barbotine arbitrage bot

GitHub @nelso0

Table of content

Features

  • Compatible with all ccxt exchanges
  • Ready-to-run
  • Precise at the orderbook level (close to a market-making algorithm)
  • Can work with an unlimited number of exchanges at the same time
  • Does a balance simulation for every possible opportunity to always choose the most profitable one
  • Opportunities updates on Telegram and webhooks
  • Full logging system

Prerequisites

  • Python 3+ inferior to 3.12! (for windows users: if python or pip isn't recognized as a command, make sure you have installed python by checking the box "add to PATH")

Installation

  1. Clone the repository
    git clone https://github.com/nelso0/barbotine-arbitrage-bot # you can also download the zip file
  2. Go to the repository you just cloned
    cd barbotine-arbitrage-bot
  3. Install all the requirements to run the arbitrage system
    pip install -r requirements.txt
  4. Set your configuration details in exchange_config.py
  5. Run with:
    python main.py

Usage

You can also run it with one line like this:

python main.py <mode> [renew-time-minutes] <balance-usdt-to-use> <pair> <exchanges list separated by commas (no space!)>
  • <mode> = the mode you wanna use between fake-money and real. See full version for real mode.

    • fake-money will run the bot with the balance-usdt-to-use you put, with a virtual balance, just to test.
    • real will run the bot with real money, and your strategy.
  • [renew-time-minutes] = ONLY IF YOU ENABLED RENEWAL SETTING IN THE CONFIG. If you enabled it, you have to put the number of minutes a session should last. After each session, the bot sells all the assets back to rebalance. Note: you can trigger a manual rebalance while in a session by pressing the Enter key.

  • <balance-usdt-to-use> = how to be clearer?

  • <pair> = The pair you want to arbitrage on.

  • <exchanges list> = the exchanges you want the bot to scan the orderbooks on, among all the CCXT-compatible exchanges. From a 2 exchanges minimum, up to an unlimited number. Don't forget to configure the exchanges in exchange_config.py.

Examples:

with renewal disabled (default):

python main.py fake-money 500 EOS/USDT binance,okx,kucoin    # run the bot with 500 USDT and rebalance every 15 minutes, with binance okx and kucoin

with renewal enabled:

python main.py real 15 1000 SOL/USDT binance,poloniex,kucoin   # run the bot with 1000 USDT on binance phemex and bybit on SOL/USDT, and rebalance every 15 minutes.

How does it work?

Click to view the complete operation flow diagram

Full version

Contact me if you're interested in the full version that works with real balances