🛠️Getting set up
Step 2: Get a Linux machine
The bot runs on linux, so you need to either rent one or use your own. The recommended hardware is 4 core/32GB RAM at least.
To be able to run the bot smoothly, recommend running with Ubuntu 22. WSL on windows is known to have issue and not working well with the bot.
Step 3: Download and unzip
Download
First ssh into your Linux machine, then download the zip file for the latest release.
The latest release can be found here: Releases
Create a new folder for the bot
mkdir bot
cd bot
Install wget
sudo apt update
sudo apt install wget
Download using wget. Note you should replace the link with the one in the latest release:
wget https://sourceforge.net/projects/solanamevbot/files/solana-mev-bot-0.1.8.zip
Install unzip
sudo apt update
sudo apt install unzip
Unzip the file(replace the file name with the one you downloaded)
unzip solana-mev-bot-0.1.8.zip
Upgrade to the latest version
./upgrade.sh
Check if everything is unzipped correctly
ls
You should see at least the following files after running ls
base-mint.json.example
download
kill-jup.sh
bot
intermedium-mints.json.example
run.sh
debug.sh
jupiter-swap-api
Step 4: Config and Run
Setup
You need to make a few changes to the config files before running the bot
First, copy .env.example
file and name it .env
cp .env.example .env
Edit your .env file. You can use either vim or nano
nano .env
When using nano, at the bottom of the window, there is a list of the most basic command shortcuts to use with the nano editor.
All commands are prefixed with either ^
or M
characters. The caret symbol (^
) represents the Ctrl
key. For example, the ^X
commands mean to press the Ctrl
and X
keys at the same time. The letter M
represents the Alt
key.
You should now see the it looks like this:
PRIVATE_KEY=
SEND_RPC_URLS=
RPC_URL=
BIRDEYE_API_KEY=
JUPITER_URL=http://0.0.0.0:18080
INTERMEDIUM_MINT_COUNT_FROM_BIRDEYE=5
USE_DIRECT_ROUTE_ONLY=false
ENABLE_JITO=true
ENABLE_SPAM=false
JITO_TIP_BP=5000
PROCESS_DELAY=1000
ENABLE_SIMULATION=false
Fill in the first 3 options, you can set RPC_URL and SEND_RPC_URLS= to the same value
And follow the instruction here to apply for a BIRDEYE_API_KEY
Example of a filled file
PRIVATE_KEY=ABCDEFGHIJKLMNOPQRSTUVWXYZ
SEND_RPC_URLS=https://api.mainnet-beta.solana.com
RPC_URL=https://api.mainnet-beta.solana.com
BIRDEYE_API_KEY=ABCDEFGHIJKLMNOPQRST
JUPITER_URL=http://0.0.0.0:18080
INTERMEDIUM_MINT_COUNT_FROM_BIRDEYE=5
USE_DIRECT_ROUTE_ONLY=false
ENABLE_JITO=true
ENABLE_SPAM=false
JITO_TIP_BP=5000
PROCESS_DELAY=1000
ENABLE_SIMULATION=false
Don't use a public RPC_URL here, at least find a free private rpc like helius
To save with nano, click Ctrl
and X
, then press Y, then press ENTER
Now we need to also setup base-mint.json
First copy the example file and rename it
cp base-mint.json.example base-mint.json
The file looks like this, which means you will try to trade with two different trade size. 0.1 SOL and 0.05 SOL. (Unit here is in lamport. 1 SOL = 1,000,000,000 lamports)
{
"So11111111111111111111111111111111111111112": {
"tradeSize": [100000000, 50000000],
"minProfit": 50000
}
}
You can leave the file as is if you don't want to modify the size. Make sure your wallet has at least 0.15 SOL with the default setup, 0.1 SOL to cover trade and extra 0.05 SOL for the fees.
Last step, give permissions to the bot to run
chmod +x *
Now you are all set to run!
To run the bot, simply do the following:
./run.sh
Then you should see the bot setup everything and start running!
You can find a more detailed configuration guide in Bot configuration and Performance tuning.
Join the Discord to learn how to optimize your setup with other users!
Step 5: Run bot in background
When you ssh into a remote machine and run the bot, once you close the terminal, the bot will stop running. This section shows you how to run it even when your terminal is closed.
Create a screen session, called bot
screen -S bot
Now you are in a screen session. To verify, run
screen -ls
You should see something like the following:
There are screens on:
1059895.bot (05/23/24 03:11:34) (Attached)
Attached means you are now in this screen session.
Now you can run the bot as shown above, which will run the bot inside the bot session, and it won't stop running even if you close the terminal!
./run.sh
Once you close your terminal and reconnect, run the following to open the previous created session.
screen -r bot
To fully close it, run
screen -X -S bot quit
Make sure you don't have 2 sessions both running the bot together, or the bot will fail to run.
To exit a screen session while you are attached, press ctrl+a, then d
Last updated