Skip to content

v2 Config

This page details the spec for the config.json file for the v2 bot. Learn more here.

Example config

config.json
{
"meta": {
"price_fetch_delay": 0,
"after_order_delay": 0,
"simulate": false,
"jito_tip_percent": 50,
"max_jito_tip_lamports": 5000000,
"slippage": {
"mode": "exact",
"bps": 2500,
"inner_bps": 500
},
"wrap_mode": "all"
},
"tokens": [
{
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"send_mode": "both",
"txtype": "circle",
"max_accounts": 25,
"sizes": [
{
"min_amt": 400,
"max_amt": 400,
"trade_size_decimals": 0,
"min_profit_onchain": 0,
"min_profit_to_send": 3
}
],
"prio_fee": 30000,
"cu_limit": 250000
}
],
"mids": {
"top_amt": 0 ,
"prune_percentage": -25,
"prune_readd_amt": 2,
"mints": [
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
"3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o"
]
}
}

Fields

  • meta (object): Meta settings for the bot.
    • price_fetch_delay (number): Delay between price fetches in milliseconds.
    • after_order_delay (number): Delay after an order is placed in milliseconds.
    • simulate (boolean): Whether to simulate trades.
    • slippage (object): Slippage settings.
      • mode (string): Slippage mode (One of “exact” or “profitbps” - exact is an exact slippage, where profitbps is a bps amount of the pair’s profit, ex: 50bps of a profit of 10USDC would be 0.05 USDC slippage).
      • bps (number): Base slippage in basis points.
      • inner_bps (number): Inner slippage in basis points - used in requests when fetching quotes.
    • jito_tip_percent (object): The amount of profit to tip as a percentage to Jito (only when using them, of course).
    • max_jito_tip_lamports (number): The maximum amount of lamports to tip Jito. If the tip is higher than this, it will be capped at this amount.
    • wrap_mode (string): Wrap mode (One of “all” or “none” - all wraps and unwraps your SOL, and none does not wrap or unwrap, using pre-wrapped WSOL).
  • tokens (array): Array of token setting objects.
    • enable (boolean, optional): Whether to enable the token. Defaults to true.
    • mint (string): Mint address of the token.
    • send_mode (string): One of “rpc”, “jito”, “both”.
    • name (string): Name of the token.
    • decimals (number): Decimals of the token.
    • max_accounts (number): Max accounts to trade with on each side of the ARB. 25 is reccomended, as Solana has a max accounts per tx limit of 60 - 25*2=50 - leaving 10 accounts of slack for the profit checker, etc.
    • sizes (array): Array of size objects.
      • min_amt (number): Minimum amount to trade.
      • max_amt (number): Maximum amount to trade.
      • trade_size_decimals (number): Decimals of the trade size (ex: min 1, max 2, decimals 1: 1, 1.1, 1.2 … 1.9, 2. decimals 2: 1, 1.01, 1.02 … 1.99, 2. etc…)
      • min_profit_onchain (number, optional): Minimum BPS ONLY profit to trade on-chain. This reverts trades that do not make enough profit on-chain. Set this to 0 or do not specify it to disable, and take any profit (Reccomended!).
      • min_profit_to_send (number): Minimum profit to send. Use a whole number value for BPS, and a decimal value for token amounts (ex: 3 for 3bps minimum, 0.1 for 0.1 tokens).
    • prio_fee (number): Priority fee in lamports.
    • cu_limit (number): Compute unit limit on the transaction.
  • mids (object): Configuration for the mids (token B in the A -> B -> A system)
    • top_amt (number): DEPRECATED!!! Set to 0. Will be removed next update.
    • prune_percentage (number): Any route who quotes a loss of more than this percentage gets pruned.
    • prune_readd_amt (number): Every “cycle” (1/(route count * 2) chance every route check), this many pruned routes get added back into the mix
    • mints (array of strings): Array of custom token mids, deduped - reccomended to put high volatility tokens you know of with multiple pools