How It Works
How SolanaMevBot 2.0.0 selects markets, sends transactions, and executes V10 arbitrage
SolanaMevBot 2.0.0 uses recent arbitrage activity to choose markets, then sends transactions that evaluate those markets onchain. The V10 program checks pool state at execution time, chooses a route and trade size, and executes the swaps in the same transaction.
1. Select markets automatically
The bot connects to SolanaMevBot's observed-arbitrage feed. You choose SOL settlement, USDC settlement, or both with [auto.sol] and [auto.usdc].
Each profile filters recent routes by observed total profit, transaction count, and lookback window. It also sets a maximum number of routes to follow. You no longer maintain mint lists, pool addresses, or bundle groups in the config.
Feed activity is historical. A route that was profitable a moment ago may not be profitable when your transaction lands.
2. Build transactions for the selected pools
For each selected route, the bot reads pool data through your RPC and builds an arbitrage transaction. It keeps the pool data and selected markets up to date while it runs.
The bot manages which pools fit into each transaction and sets the compute limit automatically. No address lookup table setup or manual compute limit is required in the bot config.
3. Send through your configured services
Every enabled [[senders]] entry builds and submits transactions with its own compute unit prices and tips. You can use an RPC, Jito, or supported HTTP relays together.
Each route repeats send passes with its settlement profile's process_delay. A sender's rate_limit_per_second is shared across every route and both settlement profiles, so adding more routes does not multiply that sender's configured limit.
The read RPC and sending endpoints have different jobs: bot.rpc_url supplies account data and blockhashes; sender URLs receive signed transactions. You do not need to configure a Yellowstone gRPC stream.
4. Evaluate and execute onchain
The V10 program evaluates the supplied pools using their state at execution time. Depending on the available pool roles, it can trade directly between settlement and a target token or route through a bridge token. Every completed arbitrage returns to its settlement token, WSOL or USDC.
The program determines the trade size. Trading capital comes from the wallet's settlement balance, with the executor's loan vault available when bot.flashloan = true. Native SOL is still needed for network fees, tips, and account creation.
The Onchain Program reference explains supported pool roles, routes, and the V10 instruction format for custom integrations.
When there is no profitable trade
By default, the executor returns an error when it cannot find a profitable opportunity. With a tip configured, the bot also sets a tip-based profit floor; for USDC it converts the tip into USDC with an additional margin.
A sender with no_failure_mode = true permits a successful no-trade result and removes that tip-based floor. Tips and network fees can still be paid when no trade happens. Other errors can still fail the transaction.
Sending more transactions creates more chances to evaluate a route, but it also increases potential fees. Feed selection and onchain profit checks do not guarantee a positive return after all submission costs.
Start with Getting Started, or see Bot Configurations for the settings that control selection and sending.