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.
- Fully Decentralized Trading: Operates on the Jupiter Limit Order Book, ensuring full control over your trading data and strategy. Jupiter Limit Order Book
- Local Operation: Runs on your own machine or a VPS, providing an additional layer of security and privacy.
- Simple Grid Strategy: Places one buy order and one sell order based on user-defined parameters, optimizing for market conditions, whilst being capital efficient.
- Easy Setup: Comes with a straightforward installation and setup process, including auto-creation of necessary user files.
- User Prompted Parameters: Dynamically prompts the user for trading parameters, allowing for flexible and responsive trading setups.
Download the source code by cloning it:
git clone https://github.com/ARBProtocol/jupgrid
npm install
- 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.
-
Configuration: Open the
.env
file in a text editor and input your Phantom wallet Private Key, and the URL to your RPC. -
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. -
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.
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:
RPC_URL
=YourRPCURLHerePRIVATE_KEY
=YourPrivateKeyHere
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.
We welcome contributions from everyone! To contribute:
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Create a new Pull Request
- ❤️
Follow us on Twitter: @arbsolana for more updates.
This project is licensed under the MIT License - see the LICENSE
file for details.