An Solana CLI tool that easily trade SPL tokens on DEXes, Volume Booster, Copy Trade Program integrated with Jito bundles and user-defined priority fee.
Trading & Creating your own Solana SPL tokens
Performing On-chain liquidity Pools operation On Raydium, Orca and Meteora.
Predefined Jito tips and Priority fee for any functions of this project
Open-source Volume Booster by bundling buy and sell in one transaction!
Fastest Copy Trade Program on Solana
Pump.fun integration for launching, buying, and selling tokens.pump.
Got everything needed for any dev to create their own trading bot
.solana-memecoin-cli
βββ data
| βββ Image_file # store image file (jpeg, jpg,...)
| βββ metadata_file # store .json file about the token metadata
| βββ payer_keypair # store wallet keypair .json
| βββ token_keypair # store token keypair .json
βββ examples (Screenshots of Commands) # all screenshot to show how we use the command line tool
| βββ add_liquidity # see how to add liquidity to a pool on Raydium
| βββ burn_token # see how to burn a token with WSOL using Raydium swap
| βββ create_token # see how to create a SPL token on mainnet or devnet
| βββ buy_token # buy a token using raydium with both jito bundles and priority fees
| βββ create_token # create a token with 0% extra fees on solana (mainnet or devnet)
| βββ remove_liquidity # remove some liquidity from a pool on Raydium
| βββ sell_token # sell the token with a percentage using Raydium swap
βββ src
| βββ helpers
| | βββ .env.copy # .env file to store your keys, rmb change to .env
| | βββ check_balance
| | βββ config.js # get value from .env
| | βββ util.js # useful functions
| βββ Pool # Only Supporting Raydium right now
| | βββ add_pool.js # adding liquidity to AMM pool on Raydium
| | βββ create_pool.js # create pool/create open book market on Raydium (not done)
| | βββ check_pool.js # check the pool's info (pool size, burn percentage of LP token...)
| | βββ formatAmmKeysById.js # get well-informated info of pool
| | βββ query_pool.js # query the pool's current info (not done)_
| | βββ remove_pool.js # remove liquidity from AMM pool on Raydium
| | βββ swap.js # swap on Raydium
| βββ Token
| | βββ create.js # create token with uploading token image and metadata to irys (storage provider)
| | βββ burn.js # burn a percentage of token
| | βββ query.js # query token's info (creator, price, metadata, holder...) (not done)
| | βββ revoke_authority.js # revoke token's freeze and mint authority
| βββ Trading
| | βββ dex
| | | βββ jupiter
| | | | βββ swap
| | | | | βββ buy-helper.js # buy token with sol using jup swap api
| | | | | βββ sell-helper.js # sell token to sol using jup swap api
| | | | | βββ swap-helper.js # swap any to any token using jup swap api
| | | | βββ dca.js # create a dollar cost average program using jup api
| | | | βββ limit_order.js # create a limit order program using jup api
| | | βββ meteora
| | | βββ orca
| | | βββ raydium
| | | βββ buy-helper.js # buy token with WSOL using src\Pool\swap.js
| | | βββ buy.js
| | | βββ sell-helper.js # sell token to WSOL using src\Pool\swap.js
| | | βββ sell.js
| | βββ pump.fun
| | | βββ buy.js # buy any token on pump.fun
| | | βββ constants.js
| | | βββ create.js # launch token on pump.fun
| | | βββ idl.js
| | | βββ sell.js # sell any pump.fun token
| | | βββ utils.js
| | βββ volume
| | | βββ boost-volume.js # boosting token's volume
| | | # by doing one buy and one sell instruction in one transaction
| | | # [buy(), sell()] (only losing your gas fee)
| | βββ memecoin-trading-strategies
| | βββ copy_trading
| | | βββ copy-buy.js # copy trader's buy tx
| | | βββ copy-sell.js # copy trader's sell tx
| | | βββ copy-trade.js # Use two core to both copy-buy and copy-sell
| | βββ Filters
| | βββ take-profit.js # taking profits by setting a limit order
| | βββ stop-loss.js # stop loss by setting a limit order
| βββ Transactions
| βββ jito-tips-tx-executor.js # sending bundles(list of instructions) to Jito validators
| # validators help our tx land faster
| βββ simple-tx-executor.js # submitting ur tx to RPC provider with predefined priority fees
| βββ bloXroute-tips-tx-executor.js
βββ help.js
git clone https://github.com/ManofDiligence/solana-memecoin-cli.git
cd solana-memecoin-cli
nvm install v22.2.0
nvm use v22.2.0
npm install
node help.js
οΌto see commands or read cli_doc.txt file)node create --payer <PATH_TO_SECRET_KEY> --symbol <TOKEN_SYMBOL> --token_name <TOKEN_NAME> --mint <PATH_TO_MINT_KEYPAIR> --supply <SUPPLY_OF_TOKEN> --decimals <DECIMALS> --metadata <PATH_METADATA_JSON> --image <PATH_TO_IMAGE> --cluster <CLUSTER> --priority-fee <PRIORITY_FEE> --file_type <FILE_TYPE>
node burn --payer <PATH_TO_SECRET_KEY> --token_address <ADDRESS_TOKEN> --percentage <BURN_PERCENTAGE> --cluster <CLUSTER>
node revoke_authority --payer <PATH_TO_SECRET_KEY> --mint_address <ADDRESS_TOKEN> --cluster <CLUSTER> --mint --freeze
node boost_volume --token_address <TOKEN_ADDRESS> --payer <PATH_TO_SECRET_KEY> --cluster <CLUSTER> --sol_per_order <SOL_PER_ORDER>
node buy --payer <PATH_TO_SECRET_KEY> --token_address <ADDRESS_TOKEN> --sol <NUMBER_OF_SOL> --cluster <CLUSTER>
node sell --payer <PATH_TO_SECRET_KEY> --token_address <ADDRESS_TOKEN> --percentage <SELL_PERCENTAGE> --cluster <CLUSTER>
node add_pool --payer <PATH_WALLET> --token_address <ADDRESS_TOKEN> --pool_id <POOL_ID> --sol <NUMBER_OF_SOL> --cluster <CLUSTER> --priority_fee <PRIORITY_FEE>
node remove_pool --payer <PATH_PAYER> --token_address <TOKEN_ADDRESS> --percentage <LP_TOKEN_PERCENTAGE> --cluster <CLUSTER>
src/Token/create.js: create a spl token on devnet or mainnet with a given name, symbol, token image(using irys decentralized storage), metadata json file, supply, decimals, the code by default revokes the mint authority and freeze authority after creating the token so that the token has a cap and no one can feeze the token of the token holder, it will then mint all the token to your wallet
src/Token/burn.js: burn spl token with a given percentage of the token from your wallet
src/Token/revoke_authority.js: revoke mint and freeze authority of a given token
src/Trading/dex/raydium/sell.js: selling spl token for SOL in your wallet using raydium dex swap function
src/Trading/dex/raydium/buy.js: buying spl token using SOL in your wallet using raydium dex swap function
src/Trading/volume/boost_volume.js: boost the volume of a token by creating a buy and sell order in just one transaction in a way to avoid possible MEV
src/Trading/memecoin_trading_strategies/copy-trading/copy-trade.js: copy trading program to follow a user-defined wallet address to auto-buy&sell
src/Transactions/jito_tips_tx_executor.js: execute the transaction by sending the bundles to Jito validators, they help us to land the transaction to the Solana blockchain faster than just using priority fee.
src/Transactions/simple_tx_executor.js: execute the transaction by sending the request to the Solana blockchain with a given priority gas fee.
src/Pool/add_pool.js: add liquidity to a pool in a given token address, the code find the most liquid pool (TOKEN_ADDRESS/SOL) in the raydium dex and add liquidity to it. You need to specify the amount of liquidity(sol) you want to add.
src/Pool/remove_pool.js: remove liquidity from a pool in a given token address, the code find the most liquid pool (TOKEN_ADDRESS/SOL) in the raydium dex and remove liquidity from it. You need to specify the amount of percentage of liquidity you want to remove.
src/Pool/swap.js: swap token for another token in the raydium dex, src/Trading/dex/raydium/buy.js and src/Trading/dex/raydium/sell.js are based on this code.
src/Pool/query_pool.js: query the pool information of a given pool address in the raydium dex, it use shyft api to get the pool information. Please make sure you have your shyft api key inside the code before running this code.
src/helpers/config.js: configuration file for the code.
src/helpers/util.js: utility functions for the code, including: send transactions to Solana blockchain, dropped transactions handling, etc.
src/helpers/check_balance.js: check the balance of a given token in your wallet
git checkout -b feature/YourNewFeature
git commit -m 'bug Fixed/added new feature'
git push origin feature/YourNewFeature
git stash -u # Stash your changes
git pull --rebase # Pull the latest changes
git stash pop # Apply Your stashed changes