‼️Trouble shooting

Failed to read birdeye-tokens.json file

The shared birdeye key is often at it's quote limit. Please use your own key to unblock yourself, instructions are listed in config doc https://solanamevbot.gitbook.io/home/fundamentals/bot-configurations Set BIRDEYE_API_KEY= your key in your .env file

The bot stucks on Waiting for Jupiter connection to http://0.0.0.0:18080/, or you are seeing jupiter-swap-api failed with error reading a body from connection

You can set USE_LOCAL_MARKET_CACHE=true in your .env file. When this is set to true, it will load the market cache from the local file mainnet.json. This is useful when you run jup and it's very slow to start, or even fail with error reading a body from connection. You can update the local file with wget https://cache.jup.ag/markets?v=3 -O mainnet.json

Note by using this, you are responsible to keep the file up to date.

I'm seeing Too Many Requests, or "statusCode": 429

You are hitting the rate limit of your RPC. This means your configuration is too aggressive for your RPC to handle. Try set JUPITER_TOKEN_COUNT to a smaller number.

price_tracker.update_prices failed with: missing decimals for USDC

You may see this error if you exclude USDC, it can be safely ignored.

error binding to 0.0.0.0:18080: error creating server listener: Address already in use (os error 98)

First make sure you are not running two bot instances on the same machine. If you do make sure one of them has DISABLE_LOCAL_JUPITER=true

To fix this issue, run

chmod +x kill-jup.sh
./kill-jup.sh

If it still not resolved, run

pid=$(pgrep -f jupiter-swap-api)
echo $pid

It should output a number for you, let's say it's 11020, then run

kill 11020

I'm seeing a lot of Generated transaction is too large

It is normal and ok to see this pop up once in a while, but if you are seeing this a lot, consider setting a smaller number for JUP_MAX_ACCOUNTS in your .env file. e.g.

JUP_MAX_ACCOUNT=20

I'm not seeing any opportunities show up in my log

There are multiple cases where this can happen.

  1. Check if you have set ENABLE_SIMULATION=false, simulation is set to true by default, but it will reduce the number of opportunities you see, and if your RPC is slow, that can cause it to not show any opportunities.

  2. Check if your jupiter success rate. If that is close to 0, then there's likly a mismatch between your jupiter and the intermedium tokens you use.

  3. Check your minProfit, opportunities will drop as you raise the value of minProfit A LOT.

I'm seeing a lot of opportunities, but nothing lands

This is a big topic and a lot of things can affect it.

The first thing I would suggest is to copy the demo/shyft config from Config examples and have something landing first. Then tweak your settings from a working setup.

Performance tuningexplains a lot of the details on what may affect your results.

First check your minProfit setting in base-mint.json

Jito

For jito, it will only land when the transaction succeed. If nothing lands, it may because of a lot of different reasons. Just listing a few here:

  • You are too slow on reading/sending. The opportunity is already taken by others.

  • Your tip is not high enough. Note jito rank transactions by raw tip value, so even if you set a high percentage, others may still beat you with a lower tip percentage if their profit is higher. aka 50% of a 2 sol profit is still higher than 90% of a 0.1 sol profit. This usually happens because of different trade size/trade route.

  • You are sending too many requests to jito. With the bot's setup, you can send about 10 requests/s for jito bundles. If your setup is sending more than that, only 10 of them will get through each second. You should raise your minProfit or reduce the number of trade sizes etc. in this case to reduce the total requests you send.

Spam

For this question, we are specifically talking about having transactions landing. If they already land but failed, that's not what we are talking about here.

For spam, the reason for nothing to land is mostly two reasons:

  • You are not paying a high enough fee. You can control the fees you use in two ways. Either set COMPUTE_UNIT_PRICE in your .env file, or set priorityFeePercentile in your bsse-mint.json file.

  • The rpc you use to send sucks. Different rpc have very different performance on sending. You can use the solana-rpc-benchmarking-tool to test different rpcs to help you find the best one to use.

error while loading shared libraries: libssl.so.3

The bot nees to run on Ubuntu 22+, if you are using a lower version upgrade should resolve your issue.

Profit calculation error

If you are seeing your failed transaction with error contains Profit calculation error, it's totally normal for spam mode. It means the trade in this transaction is losing you money, aka the output is smaller than the input. The program is designed to fail in this case to prevent you from losing money.

Dashboard shows I'm making profit but I'm actually losing money when I add up my sol

On Solana, whenever you own a new token, you will need to create a new token account for it, and you need to pay ~0.002 SOL rent for the token account. When using the bot, you will trade a lot of different tokens, hence a lot of token accounts will be created in your account. You can get back the rent by closing the token accounts. There are tools that can help you close all token accounts:

https://sol-incinerator.com/

https://eject.solworks.dev/

https://app.step.finance/en/account-tools

Last updated