How to test a Solana trading bot on real on-chain results
Backtests flatter bots: no slippage surprises, no failed transactions, no competing snipers. The only test that counts is what the bot actually did with real SOL. On Solana every trade is public, so a bot's real performance can be measured from its wallet alone, without access to its code or keys. Here is how, by hand or in one click.
What to measure
- Net result in SOL: SOL received + value of tokens still held − SOL paid, fees included.
- Return: net result divided by SOL staked.
- Share of winning positions, where a position is one wallet on one token.
- Rank against other bots measured the same way, because a market where most participants lose changes what "good" means.
- The why: fees paid, unsold bags, entry speed after launch, holding time.
Doing it by hand
- Open the bot's address on a Solana explorer such as Solscan and export its token transfers and SOL balance changes for the period.
- Group trades by token. For each token, add up SOL paid on buys and SOL received on sells.
- For tokens not fully sold, value the remaining amount at its latest trade price or at what it cost, whichever is lower. Without this step, losses on dead tokens disappear; without the cost cap, a token with no real buyers can show a huge paper gain.
- Ignore sales of tokens bought before the start of your period, or they will look like free profit.
- Only count positions opened at least a day ago, so that a position still in progress does not count as a loss.
This works for a few dozen trades. Busy bots open hundreds of positions a day, which is where an automated test helps.
Doing it in one step
Test my bot runs exactly the steps above on every pump.fun and PumpSwap trade of the measured window (up to 60 days), read from Solana's public history, and ranks the result among more than 100,000 active bots. The address you type is hashed in your browser and never sent anywhere.
You can also ask from Claude or ChatGPT: the free BotSharper MCP server exposes a botsharper_test_my_bot tool and a botsharper_pump_weather tool.
Tune, then test again
Change one parameter at a time (entry delay, take-profit, time-based exit, filters on prepared launches), let the bot run for several days, and compare the new result with the old one. Check the hourly pump.fun weather before concluding: a better week can simply be a calmer market.
FAQ
Do I need to share my bot's code or private key?
No. Only the public wallet address is needed. Never share a private key or recovery phrase.
How long before a new bot shows up?
Positions are counted once they are older than 24 hours, and the data is recomputed every 3 hours.
Which markets are covered?
pump.fun bonding curves and PumpSwap pools quoted in SOL. Trades on other venues are not included.