Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
cicere authored Jul 23, 2024
1 parent b5c17cc commit 72bfefe
Show file tree
Hide file tree
Showing 24 changed files with 1,823 additions and 2 deletions.
72 changes: 70 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,70 @@
# solana-volume-bot
An open-source volume bot written in Node.JS for Raydium. Create fast and cheap volume for your token using JITO.
# Solana Volume Bot

Welcome to the Solana Volume Bot, an open-source script designed to help you achieve desired transaction volumes on the Solana blockchain. This powerful tool is perfect for users looking to manage multiple transactions efficiently and effectively.

NOTE: This is a older version of my Solana Volume bot, **join our [DISCORD](https://discord.gg/solana-scripts) for more info**


OPEN Source Version:

https://github.com/user-attachments/assets/344b88ae-c887-46fc-af8d-71c4e9ca8f0c


Newest Update:

https://github.com/user-attachments/assets/b887f269-44e5-46e1-9805-c2bb54cfdd66




## Getting Started

To get started with the Solana Volume Bot, follow these steps to ensure a smooth setup and execution process.

### 1. Setup

#### a) Install Dependencies
Run the following command to install the necessary dependencies:
npm i

#### b) Configure Environment Variables
Edit the `.env` file to include your wallet private key and RPC URL:
- **Wallet Private Key:** The wallet you enter in the config pays for Jito tips and sends all the SOL/WSOL.
- **RPC URL:** Your Solana RPC endpoint.

#### c) Start the Script
Run the script with the following command:
node main.js

### 2. Execution Steps

**Important:** Run all steps in order and do not create new keypairs unless you reclaim your SOL.

#### a) Create New Keypairs
Step 1: Create new keypairs for your volume transactions. This step is necessary if you want to ensure fresh keypairs.

#### b) Distribute SOL/WSOL
Step 2: Distribute SOL/WSOL to the keypairs.
- **Gas Fees:** The SOL you send here is ONLY FOR GAS FEES. It is recommended to send anywhere from 0.05 to 1 SOL.
- **Volume Spam:** This is the amount of SOL each keypair will use to volume spam and rotate. You can enter any custom amount to look natural.

#### c) Simulate Volume
Step 3: Simulate all volume and calculate all Jito tip fees and Raydium 5bps fee to see EXACTLY how much you will spend to achieve the volume you want. This step ensures you know the exact costs involved.

#### d) Volume Bot
Step 4: Execute the volume bot to get your desired volume. It is recommended to set a timeout between swaps at around 3-10 seconds to look natural.

#### e) Retrieve Funds
Step 5: Retrieve all funds from the keypairs automatically. This step will retrieve all the WSOL and SOL you sent and send it to the wallet in the config file.

## Additional Resources

For more detailed instructions and updates, visit our Discord below or DM me at @benorizz0 on Telegram. Here you will find comprehensive documentation and community support for any issues you encounter.

### Conclusion

The Solana Volume Bot is a robust tool for managing multiple transactions on the Solana blockchain. By following the setup and execution steps outlined above, you can efficiently handle buying and selling operations with ease. Join our community on GitHub and take advantage of this powerful open-source solution.

Optimize your Solana transactions today with the Solana Volume Bot!

For more information, check out our [DISCORD](https://discord.gg/solana-scripts)
1 change: 1 addition & 0 deletions blockengine.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[170,102,199,216,226,201,23,43,26,120,207,73,110,164,116,178,255,140,255,218,189,56,60,156,217,54,187,126,163,9,162,105,7,82,19,78,31,45,211,21,169,244,1,88,110,145,211,13,133,99,16,32,105,253,55,213,94,124,237,195,235,255,7,72]
17 changes: 17 additions & 0 deletions config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { PublicKey, Connection, Keypair } from '@solana/web3.js';
import bs58 from 'bs58';

export const rayFee = new PublicKey('7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5');
export const tipAcct = new PublicKey('Cw8CFyM9FkoMi7K7Crf6HNQqf4uEMzpKw6QNghXLvLkY');
export const RayLiqPoolv4 = new PublicKey('675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8');

export const connection = new Connection('', { // RPC URL HERE
commitment: 'confirmed',
});

export const wallet = Keypair.fromSecretKey(
bs58.decode(
'' // PRIV KEY OF SOL SENDER
)
);

56 changes: 56 additions & 0 deletions main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import { createKeypairs } from "./src/createKeys";
import { volume } from "./src/bot";
import { sender, createReturns } from "./src/distribute";
import { calculateVolumeAndSolLoss } from "./src/simulate";
import promptSync from "prompt-sync";

const prompt = promptSync();

async function main() {
let running = true;

while (running) {
console.log("DM me for info");
console.log("https://t.me/benorizz0");
console.log("solana-scripts.com");
console.log("\nMenu:");
console.log("1. Create Keypairs");
console.log("2. Distribute SOL/WSOL");
console.log("3. Simulate Volume");
console.log("4. Start Volume");
console.log("5. Reclaim SOL/WSOL");
console.log("Type 'exit' to quit.");

const answer = prompt("Choose an option or 'exit': "); // Use prompt-sync for user input

switch (answer) {
case "1":
await createKeypairs();
break;
case "2":
await sender();
break;
case "3":
await calculateVolumeAndSolLoss();
break;
case "4":
await volume();
break;
case "5":
await createReturns();
break;
case "exit":
running = false;
break;
default:
console.log("Invalid option, please choose again.");
}
}

console.log("Exiting...");
process.exit(0);
}

main().catch((err) => {
console.error("Error:", err);
});
42 changes: 42 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"name": "Solana-Volume-Bot",
"version": "1.0.0",
"description": "https://t.me/benorizz0",
"main": "index.js",
"scripts": {
"start": "ts-node jitoPool.ts"
},
"author": "https://t.me/benorizz0",
"license": "ISC",
"dependencies": {
"@coral-xyz/anchor": "^0.29.0",
"@openbook-dex/openbook": "^0.0.9",
"@project-serum/anchor": "^0.26.0",
"@project-serum/serum": "^0.13.65",
"@raydium-io/raydium-sdk": "^1.3.1-beta.47",
"@solana/spl-token": "^0.3.11",
"@solana/web3.js": "^1.91.2",
"axios": "^1.6.7",
"bn.js": "^5.2.1",
"bs58": "^5.0.0",
"convict": "^6.2.4",
"dotenv": "^16.4.4",
"fs": "^0.0.1-security",
"http": "^0.0.1-security",
"https": "^1.0.0",
"jito-ts": "^3.0.1",
"mime": "^4.0.1",
"node-fetch": "^3.3.2",
"path": "^0.12.7",
"prompt-sync": "^4.2.0",
"protobufjs": "^7.2.6",
"typescript": "^5.3.3"
},
"devDependencies": {
"@types/bn.js": "^5.1.5",
"@types/convict": "^6.1.6",
"@types/node": "^20.11.30",
"@types/node-fetch": "^2.6.9",
"@types/prompt-sync": "^4.2.3"
}
}
Loading

0 comments on commit 72bfefe

Please sign in to comment.