Config Examples
Ready-to-use configuration examples for the onchain bot
Auto market selection (Recommended)
Auto mode selects Pump AMM and Meteora DLMM pools that have recently appeared in profitable on-chain arbitrages. The bot manages the live market feed and its rotating authentication automatically, so you do not need an API key or a static pool list.
Auto mode requires WSOL as the base mint and replaces both routing.mint_config_list and routing.markets. Do not configure either of those routing modes in the same file.
[routing.auto]
min_profit_lamports = 10_000_000_000
min_tx_count = 50
lookback_secs = 3_600
max_mints = 1
process_delay = 400
# bundle_group = 2 # Optional; requires merge_mints = true
[bot]
base_mint = "So11111111111111111111111111111111111111112"
merge_mints = true
skip_ata_creation = true
compute_unit_limit = 400_000
[rpc]
url = "xxx"
[spam]
sending_rpc_urls = [
"xxx",
]
enabled = true
compute_unit_price = { strategy = "Random", from = 1000, to = 100000, count = 1 }
max_retries = 10
[flashloan]
enabled = true
[log]
enable_sending_log_summary = true
summary_interval_seconds = 10
[auto_rebalance]
min_sol_balance = 1_000_000_000 # 1 SOL
min_wsol_balance = 1 # 0.000000001 SOL
compute_unit_price = 100_000
[wallet]
private_key = "xxx"Manually config mint/pools
This is a very simple config to arb token Glonk(GUM5Vd4qe5kgTBHNfmLRaZSKKmYdAWxLJ18DY1Uzpump). It will check if there's a profitable trade between the pump amm pool FYDmYvJ3gynXGGFnAbTwN8CRR3LrrNdhztbkuybvYtj2 and the meteora dlmm pool ToLi6ihgfv4HLPE8GujTxKAexRxopDyk31NVpNgyxuY
You just need to fill in your rpc url in [rpc] field and sending_rpc_urls field. And your private_key.
[bot]
merge_mints = false
compute_unit_limit = 450_000
[[routing.mint_config_list]]
mint = "GUM5Vd4qe5kgTBHNfmLRaZSKKmYdAWxLJ18DY1Uzpump"
pump_pool_list = ["FYDmYvJ3gynXGGFnAbTwN8CRR3LrrNdhztbkuybvYtj2"]
meteora_dlmm_pool_list = ["ToLi6ihgfv4HLPE8GujTxKAexRxopDyk31NVpNgyxuY",]
lookup_table_accounts = []
process_delay = 400
[rpc]
url = "xxx"
[spam]
sending_rpc_urls = [
"xxx",
]
enabled = true
compute_unit_price = { strategy = "Random", from = 10000, to = 50000, count = 1 }
max_retries = 10
[flashloan]
enabled = true
[log]
enable_sending_log_summary = true
summary_interval_seconds = 10
[auto_rebalance]
min_sol_balance = 1_000_000_000 # 1 SOL
min_wsol_balance = 1 # 0.000000001 SOL
compute_unit_price = 100_000
[wallet]
private_key = "xxx"Config with just pools
[bot]
merge_mints = true
auto_merge = true
compute_unit_limit = 450_000
[routing.markets]
markets = [
"FYDmYvJ3gynXGGFnAbTwN8CRR3LrrNdhztbkuybvYtj2",
"ToLi6ihgfv4HLPE8GujTxKAexRxopDyk31NVpNgyxuY"
]
lookup_table_accounts = []
process_delay = 400
[rpc]
url = "xxx"
[spam]
sending_rpc_urls = [
"xxx",
]
enabled = true
compute_unit_price = { strategy = "Random", from = 10000, to = 50000, count = 1 }
max_retries = 10
[flashloan]
enabled = true
[log]
enable_sending_log_summary = true
summary_interval_seconds = 10
[auto_rebalance]
min_sol_balance = 1_000_000_000 # 1 SOL
min_wsol_balance = 1 # 0.000000001 SOL
compute_unit_price = 100_000
[wallet]
private_key = "xxx"