NotArb-Focused Config

This configuration is optimized specifically for NotArb onchain-bot, based on the production config.toml (notarb) file.

Full NotArb Configuration

# Connection Settings
rpc_url = "http://nl.deez.top:80"                   
grpc_url = "http://nl.grpc.deez.top:10001"          
grpc_token = ""                                     
grpc_engine = "yellowstone"                         

# NotArb-only mode
mode = "na"

# Basic Settings
port = 8080 
helius_key = ""                                     

# DEX Selection - Core DEXes for NotArb
dexes = [
  "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8",   # raydium amm v4
  "CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C",   # raydium cpmm
  "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA",    # pumpfun amm
  "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",    # meteora dlmm
  "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",    # orca whirlpools
  "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK",   # raydium clmm
  "cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG",    # meteora damm v2
]

# Program Filtering
filter_programs = true                             
arb_programs = [
  "MEViEnscUm6tsQRoGd9h6nLQaQspKj7DB2M5FwM3Xvz",    # Solana MEV Bot (on-chain)
  "NA247a7YE9S3p9CdKmMyETx8TTwbSdVbVYHHxpnHTUV",    # NotArb
]

# Base tokens excluded
exclude_mints = [                                 
  "So11111111111111111111111111111111111111112",     # WSOL
  "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",    # USDC
]

# Update Settings
update_interval = 10000                           
run_interval = 60000                              
halflife = 120000                                 
ignore_filters = false
include_token2022 = false                           

# NotArb-optimized: 5 groups of 2 mints each
mints_to_arb = [2, 2, 2, 2, 2]
mints_to_rank = 20

# Sorting
intermint_sort_strategy = { metric = "profit", direction = "descending" }
pool_sort_strategy = { metric = "profit", direction = "descending" }

# Single Filter Threshold with new percentile settings
filter_thresholds = [
  {
    max_cu_limit = 400_000,
    top_pool_num = 3,
    memo = "0",
    min_profit = 1_000_000,
    min_profit_per_arb = 0,
    min_roi = 1,
    min_txns = 1,
    min_fails = 0,
    min_net_volume = 0,
    min_total_volume = 1_000_000_000,
    min_imbalance_ratio = 0.0,
    max_imbalance_ratio = 1.0,
    min_liquidity = 1_000_000_000,
    min_turnover = 0.0,
    min_volatility = 0.0,
    min_fee_percentile = {50=1000, 80=10000},
    max_fee_percentile = {50=10000, 80=1000000},
    min_tip_percentile = {50=1000, 80=10000},
    max_tip_percentile = {50=10000, 80=1000000}
  },
]

# Execution Strategies
spam_levels = [
  {
    filter_level = 0,
    bundle_groups = [1],
    process_delay = 400,
    min_cu_percentile = 0,
    max_cu_percentile = 0,   # NotArb handles its own CU pricing
    min_cu_price = 0,
    max_cu_price = 5_000,
    tx_count = 1,
    fee_strategy = "Random"
  },
]

jito_levels = [
  {
    filter_level = 0,
    bundle_groups = [1],
    process_delay = 400,
    min_tip = 1_000,
    max_tip = 2000,
    min_tip_percentile = 0,
    max_tip_percentile = 99,
    tx_count = 1,
    tip_strategy = "Random",
    sending_strategy = "AllAtOnce",
    no_failure_mode = true   # prefer_success in NotArb
  },
]

# FAST levels for NotArb (requires min_tip > 15000)
fast_levels = [
  {
    filter_level = 0,
    bundle_groups = [1],
    process_delay = 400,
    min_tip = 15_000,    # Minimum 15000 lamports required
    max_tip = 20_000,
    min_tip_percentile = 0,
    max_tip_percentile = 99,
    tx_count = 1,
    tip_strategy = "Random",
    sending_strategy = "AllAtOnce",
    no_failure_mode = true,    # Required for FAST
    min_cu_percentile = 0,
    max_cu_percentile = 25,
    min_cu_price = 1_000,
    max_cu_price = 1_000,
    fee_strategy = "Random"
  },
]

# ASTRALANE levels for NotArb (requires min_tip > 10000)
astralane_levels = [
  {
    filter_level = 0,
    bundle_groups = [1],
    process_delay = 400,
    min_tip = 10_000,    # Minimum 10000 lamports required
    max_tip = 20_000,
    min_tip_percentile = 0,
    max_tip_percentile = 99,
    tx_count = 1,
    tip_strategy = "Random",
    sending_strategy = "AllAtOnce",
    no_failure_mode = true,    # Required for ASTRALANE
    min_cu_percentile = 0,
    max_cu_percentile = 25,
    min_cu_price = 1_000,
    max_cu_price = 1_000,
    fee_strategy = "Random"
  },
]

# RPC Configuration
config_rpc_url = "http://utah.deez.top:80"        
sending_rpc_urls = [
  "http://main.deez.top:80",                      
]        

# NotArb typically uses WSOL only
base_mints = [
  "So11111111111111111111111111111111111111112",
]

# ALUTs
aluts_per_pool = 20                                 
aluts = []

# Jito Configuration
dynamic_jito_tip_mode = "parsed"                  
jito_uuid = ""                                    
log_output = false                                

# NotArb-Specific Configuration
[notarb]
output = "notarb-config"                            
jvm_args = ["-server", "-Xmx8192m"]                # 8GB heap for JVM
keypair_path = "${DEFAULT_KEYPAIR_PATH}"            
protect_keypair = true                              
threads = 0    # Dynamic thread pool                                        
flash_loan = true                                   
max_lookup_tables = 10                              
meteora_bin_limit = 20                              
ips_file_path = ""         # For proxy senders                          
prefunded_keypairs_path = "" # For proxy senders                        

# Jito endpoints for NotArb
jito_targets = [
  "https://ny.mainnet.block-engine.jito.wtf",
  "https://tokyo.mainnet.block-engine.jito.wtf",
  "https://slc.mainnet.block-engine.jito.wtf",
  "https://amsterdam.mainnet.block-engine.jito.wtf",
  "https://frankfurt.mainnet.block-engine.jito.wtf",
  "https://london.mainnet.block-engine.jito.wtf",
  "https://singapore.mainnet.block-engine.jito.wtf",
]
max_bundle_transactions = 1                         

# Connection configurations - leave empty to use main RPC
token_accounts_checker = { rpc_url = "", delay_seconds = 3 }
blockhash_updater = { rpc_url = "", delay_ms = 400 }
account_size_loader = { 
  rpc_url = "", 
  invalid_account_size = 200, 
  buffer_size = 1500 
}
market_loader = ""
lookup_table_loader = ""

# WSOL unwrapper configuration
wsol_unwrapper = { 
  enabled = true, 
  check_minutes = 1, 
  trigger_sol = 0.5,      # Unwrap when WSOL > 0.5 SOL
  target_sol = 5,         # Keep 5 SOL after unwrapping
  priority_fee_lamports = 190, 
  reader_rpc_url = ""
}

# FAST configuration for NotArb
[notarb.fast_config]
auth_value = ""
urls = ["https://fast.circular.fi/transactions/no-failure/notarb"]

# ASTRALANE configuration for NotArb
[notarb.astralane_config]
auth_value = ""

Key NotArb Optimizations

1. Multiple Transaction Groups

  • mints_to_arb = [2, 2, 2, 2, 2] - 5 groups for parallel execution

  • NotArb can handle multiple concurrent arbitrages efficiently

2. JVM Optimization

  • -Xmx8192m - 8GB heap allocation for optimal performance

  • threads = 0 - Dynamic thread pool adapts to workload

3. Flash Loan Support

  • flash_loan = true - Built-in flash loan support

  • No need for large capital in wallet

4. Multiple Jito Endpoints

  • 7 different regional endpoints for redundancy

  • Automatic failover between endpoints

5. WSOL Unwrapper

  • Automatically unwraps excess WSOL to SOL

  • Maintains optimal balance for operations

  • Prevents WSOL accumulation

NotArb-Specific Features

Proxy Support

ips_file_path = "/path/to/ips.txt"                    
prefunded_keypairs_path = "/path/to/keypairs.txt"     
  • Support for distributed execution

  • Use multiple IPs for better success rates

Connection Management

  • Separate RPC endpoints for different operations

  • Optimized polling intervals

  • Efficient blockhash management

Market Data

  • markets.json - Trading pairs organized by groups

  • lookup-tables.json - ALUTs for transaction size optimization

  • notarb-attributes.json - Dynamic trading parameters

Output Files Generated

When running with mode = "na", arb-assist generates:

  1. notarb-config.toml - Main configuration

  2. markets.json - Trading pairs grouped for execution

  3. lookup-tables.json - Address lookup tables

  4. notarb-attributes.json - Dynamic parameters like fees and tips

For High Volume

  • Increase mints_to_arb groups

  • Enable proxy senders for distribution

  • Use all available Jito endpoints

For Stability

  • Use conservative filter thresholds

  • Enable protect_keypair = true

  • Set reasonable WSOL unwrapper limits

For New Users

  • Start with default settings

  • Monitor logs carefully

  • Gradually increase complexity

Tips for NotArb Users

  1. JVM Tuning: Adjust -Xmx based on available RAM

  2. Thread Management: Let NotArb handle threading with threads = 0

  3. WSOL Management: Configure unwrapper to prevent accumulation

  4. Multiple RPCs: Use different endpoints for redundancy

  5. Monitor Output Files: Check generated JSON files regularly

Last updated