Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0xtaodev/jupiter-python-cli

Jupiter Python CLI is a Command Line Interface (CLI) where you can use Jupiter features including a Sniper Bot.
https://github.com/0xtaodev/jupiter-python-cli

bot cli crypto dca dex jupiter limit-order python sniper solana swap trade trading wallet web3

Last synced: about 2 months ago
JSON representation

Jupiter Python CLI is a Command Line Interface (CLI) where you can use Jupiter features including a Sniper Bot.

Awesome Lists containing this project

README

        


πŸ“Ÿ JUPITER PYTHON CLI πŸͺ

https://github.com/0xTaoDev/jupiter-python-cli/assets/152310566/81f79ed5-8c47-469f-aeb8-c3be70c9541f

---














# πŸ“– Introduction
**Jupiter Python CLI** is a Command Line Interface (CLI) where you can use **[Jupiter](https://jup.ag/) features** including a **Sniper Bot**.

# ⚠️ Disclaimer
**Please note that I'm not responsible for any loss of funds, damages, or other libailities resulting from the use of this software or any associated services.

This tool is provided for educational purposes only and should not be used as financial advice, it is still in expiremental phase so use it at your own risk.**

# ✨ Quickstart

This project has been made for Python 3.11

## πŸ› οΈ Installation

πŸ’Ύ **Clone this repository**
```sh
git clone https://github.com/0xtaodev/jupiter-python-cli
```
πŸ’» **Create a virtual environnment**
```sh
python -m venv venv
```
🌐 **Activate Virtual Environnement**
```sh
.\venv\Scripts\Activate.ps1
```
▢️ **Start CLI**
```sh
python main.py
```

# πŸ—ΊοΈ CLI Overview
```
πŸ“Ÿ CLI
β”‚
β”œβ”€β”€ πŸͺ Jupiter Exchange
β”‚ β”œβ”€β”€ Swap
β”‚ β”œβ”€β”€ Limit Order
β”‚ β”‚ β”œβ”€β”€ Open Limit Order
β”‚ β”‚ β”œβ”€β”€ Display Canceled Orders History
β”‚ β”‚ └── Display Filled Orders History
β”‚ β”œβ”€β”€ DCA
β”‚ β”‚ β”œβ”€β”€ Open DCA Account
β”‚ β”‚ └── Manage DCA Accounts
β”‚ β”œβ”€β”€ Token Sniper
β”‚ β”‚ β”œβ”€β”€ Add a token to snipe
β”‚ β”‚ β”œβ”€β”€ Watch token
β”‚ β”‚ └── Edit tokens
β”‚ └── Change wallet
β”œβ”€β”€ πŸ’³ Manage Wallets
β”‚ β”œβ”€β”€ Add wallet
β”‚ β”œβ”€β”€ Edit wallet name
β”‚ └── Delete wallet(s)
β”œβ”€β”€ πŸ”§ CLI settings
β”‚ β”œβ”€β”€ Solana RPC URL Endpoint
β”‚ β”œβ”€β”€ Discord
β”‚ └── Telegram
β”œβ”€β”€ ❓ About
└── πŸ”š Exit CLI
```

# πŸ€– Sniper Bot
**In top of most of the Jupiter features that you can use, you are also able to snipe token.**

❗**Please note that Sniper Bot is experimental and subject to change as there might be issues that I didn't see.**

### βš™οΈ How it works
Every second, the bot will send a GET request to [Jupiter API Quote](https://quote-api.jup.ag/v6/quote).

If there is a route available for this token, it will then execute it.

Please note that only tokens with sufficient liquidity and on-chain metadata are listed in Jupiter API: min. 250$ liquidty and buy/sell price impact are below 30%.

When these criteria are met, it will take a few minutes to automatically add the token.

### πŸ†• Add a token to snipe
- Token/Project name
- Token Address
- Amount ($) to buy
- Take Profit ($)
- Stop Loss ($)
- Slippage (%)

If token has a launch date:
- Month
- Day
- Hours
- Minutes

### πŸ”­ Watch token
You can watch your trading position by selecting the token.

### ✍🏻 Edit tokens
You can modify token info as follow:
- Name
- Address
- Selected Wallet
- Buy Amount
- Take Profit
- Stop Loss
- Slippage
- Launch date
- Delete

# πŸ—¨οΈ Q&A
### Where are my private keys?
*Your private keys are stored in `wallets.json`.*
### Is there any fees when swapping using CLI?
*There are no additional fees when performing swaps via the CLI; the costs should be the same as using the Jupiter UI.*
### Does sniper bot remains running if I close the CLI?
*If you close the CLI, the sniper bot will stop running.*
### Is it possible to swap any tokens?
*You can only swap tokens that are listed on Jupiter based on their criterias.*

# 🚨 Known bugs
### ImportError: sync_native from spl.token.instructions
1. Go to https://github.com/michaelhly/solana-py/tree/master/src/spl/token and download ```instructions.py```
2. In your packages folder, replace ```spl/token/instructions.py``` with the one you just downloaded.
### Sometimes 0.01 is added when typying numbers
### Invalid DCA Accounts listed (and cannot be deleted)
### ~~Discord Webhook or Telegram API not being added in `config.json`~~
### Duplicating menus when resizing the window
### Sniper Bot: it's taking 10-20 seconds to get real trade position info after a swap route is found and executed

# πŸ“ TO-DO
- [ ] Clean up code ⚑
- [ ] Add docstrings πŸ“‘
- [ ] Display tokens owned πŸͺ™
- [ ] Favorite tokens displayed in first tokens for swap/limit orders/dca... ⭐
- [ ] Wallet Duplication detection
- [ ] Display message when swap failed (slippage error...)
- [ ] Disable swap / limits orders / etc, if not enough $SOL to cover the tx fees
- [ ] Give possibility to exit current choice (swap, limit order, dca, donation...) πŸƒπŸšͺ
- [ ] Adjust Wallets ID when one is deleted
- [ ] Bridge πŸŒ‰
- [ ] Perpetual πŸ’Έ

# 🀝 Contributions
If you are interesting in contributing, fork the repository and submit a pull request in order to merge your improvements into the main repository.

Contact me for any inquiry, I will reach you as soon as possible.

[![Discord](https://img.shields.io/badge/Discord-%237289DA.svg?logo=discord&logoColor=white)](https://discord.gg/QxwPGcXDp7)
[![Twitter](https://img.shields.io/badge/Twitter-%231DA1F2.svg?logo=Twitter&logoColor=white)](https://twitter.com/_TaoDev_)

# πŸ‘‘ Donations
This project doesn't include platform fees. If you find value in it and would like to support its development, your donations are greatly appreciated.

You can donate through CLI in About menu.

**SOLANA ADDRESS**
```sh
AyWu89SjZBW1MzkxiREmgtyMKxSkS1zVy8Uo23RyLphX
```