ARBProtocol / jupgrid

ARB Protocol | Limit Order GridBot Using Jupiter
MIT License
45 stars 19 forks source link

Jupgrid: Decentralized Grid Trading Bot Version 0.5.2 Beta

GitHub last commit GitHub issues GitHub number of milestones GitHub stars Twitter Follow

JupGrid is a cutting-edge, fully decentralized cryptocurrency grid trading bot designed to operate on the Jupiter Limit Order Book. It runs locally on your machine, offering a secure and personal way to automate a grid trading bot. This bot places 1 buy and 1 sell order at a time, meaning you can be more capital-efficient!

Use of this bot/script is at your own risk. Use of this bot/script can lead to loss of funds, so please exercise proper due diligence and DYOR before continuing.

Table of Contents

Features ✨

Installation 🔧

Download the source code by cloning it:

git clone https://github.com/ARBProtocol/jupgrid
npm install

Usage 🚀

  1. Initial Setup: Run Jupgrid for the first time to create the necessary user configuration files:
    node .

This will generate a .env file where you will fill in your secure data.

  1. Configuration: Open the .env file in a text editor and input your Phantom wallet Private Key, and the URL to your RPC.

  2. Encryption: Start Jupgrid with node . again. This time you will be prompted to enter a password to locally encrypt your private key and RPC connection.

  3. Start JupGrid! Start JupGrid a 3rd time with node . and this time you will be prompted to enter the password you entered previously. You will then be show the start-up prompts, which allow you to modify the following parameters:

    • Token A:
    • Token B:
    • Infinity Target Value: (Maximum $ value of Token B you want to hold - Dont set this higher than your TokenA+B value!)
    • Spread (% difference from current market price to orders):
    • Stop Loss ($ value for BOTH Token A and Token B - If your wallet hits this value, the script will stop for safety)
    • Delay (This is used to stop you getting rate-limited by Jupiter API. JupGrid is a "slow" bot, and thus doesnt need information every second).

Jupgrid will then place one buy and one sell order based on the parameters you have set.

Configuration ⚙️

The .env file will need to contain your Phantom Wallet Private Key and URL to your RPC connection. Ensure you fill it out before running the bot for the second time:

Once these are encrypted, they are no longer human-readable. Please ensure you have other copies of this information saved elsewhere.

There will also be a userSettings.json file created. This will contain data on the parameters you set during setup.

Contributing 🤝

We welcome contributions from everyone! To contribute:

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Create a new Pull Request
  6. ❤️

Follow us on Twitter: @arbsolana for more updates.

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.