ARB Protocol
  • ♻️ARB Protocol
  • 🤖Arbitrage Bot
    • ⚙️Setup
      • Preperation
      • Installation
      • Running the bot
    • 🏎️Optimization
      • Connection / RPC
      • Jupiter API
      • Configuration
      • Additional Tips
  • 🏗️JupGrid
    • 👋Introduction
    • 🛠️Installation
    • 🧮Configuration
    • 🏃‍♂️Usage
  • References
    • 💱Arbitrage
    • 📝V2 Config
    • 📝V2 Env
  • 🌎Socials
    • X (Twitter)
    • Discord
  • 🪙ARB
    • Jupiter Swap
    • Birdeye
    • CoinGecko
Powered by GitBook
On this page
  • Example config:
  • Fields
  1. References

V2 Config

PreviousArbitrageNextV2 Env

Last updated 10 months ago

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

Example config:

{
  "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",
      "name": "USDC",
      "send_mode": "both",
      "decimals": 6,
      "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": -50,
        "prune_readd_amt": 2,
        "custom": [
            {
              "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
              "name": "USDC",
              "decimals": 6
            },
            {
              "mint": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
              "name": "USDT",
              "decimals": 6
            },
            {
              "mint": "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o",
              "name": "boden",
              "decimals": 9
            }
        ]
    }
}

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 recommended, 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 (Recommended!).

      • 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 that quotes a loss of more than this percentage gets pruned.

    • prune_readd_amt (number): Every “cycle” (1/(route count * 2) chance every route check), these many pruned routes get added back into the mix

    • custom (array): Array of custom token mids, deduped with the ones added by to_amt - recommended to put high volatility tokens you know of with multiple pools

      • mint (string): Mint address of the token.

      • name (string): Name of the token.

      • decimals (number): Decimals of the token.

📝
here