DEX & Program Configuration
This section covers how to configure which decentralized exchanges (DEXes) and arbitrage programs arb-assist monitors.
DEX Configuration
dexes
Type: array
Required: Yes
Description: List of DEX program IDs to include in arbitrage analysis
dexes = [
"675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", # raydium amm v4
"CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C", # raydium cpmm
"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA", # pumpfun amm
"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo", # meteora dlmm
"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc", # orca whirlpools
"CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK", # raydium clmm
"Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB", # meteora dynamic
"SoLFiHG9TfgtdUXUjWAxi3LtvYuFyDLVhBWxdMZxyCe", # solfi
"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG", # meteora damm v2
"vrTGoBuy5rYSxAfV3jaRJWHH6nN9WK4NRExGxsk1bCJ", # vertigo
]
Supported DEXes
Raydium
# AMM V4 - Classic pools
"675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"
# CPMM - Concentrated liquidity
"CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"
# CLMM - Concentrated liquidity market maker
"CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"
Meteora
# DLMM - Dynamic liquidity market maker
"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"
# Dynamic AMM
"Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB"
# DAMM V2
"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG"
Orca
# Whirlpools - Concentrated liquidity
"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc"
Other DEXes
# PumpFun - Bonding curve AMM
"pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA"
# SolFi
"SoLFiHG9TfgtdUXUjWAxi3LtvYuFyDLVhBWxdMZxyCe"
# Vertigo
"vrTGoBuy5rYSxAfV3jaRJWHH6nN9WK4NRExGxsk1bCJ"
DEX Selection Strategy
Choose DEXes based on:
Liquidity: Include high-liquidity DEXes
Volume: Focus on active trading venues
Arbitrage Potential: Some DEX pairs create more opportunities
Gas Efficiency: Some DEXes have lower transaction costs
Recommended minimum set:
dexes = [
"675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", # Raydium V4
"whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc", # Orca
"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo", # Meteora DLMM
]
Arbitrage Program Configuration
filter_programs
Type: boolean
Required: No
Default: false
Description: Whether to only include transactions from specified arbitrage programs
filter_programs = true # Only analyze transactions from arb_programs
# OR
filter_programs = false # Analyze all transactions (slower)
arb_programs
Type: array
Required: Yes if filter_programs = true
Description: List of arbitrage program addresses to monitor
arb_programs = [
"MEViEnscUm6tsQRoGd9h6nLQaQspKj7DB2M5FwM3Xvz", # Solana MEV Bot (on-chain)
"NA247a7YE9S3p9CdKmMyETx8TTwbSdVbVYHHxpnHTUV", # NotArb
"MEVbwoHUDJNcxZHFFg4XsyuQmBUeXEHFLNqXH635Sgi", # Solana MEV Bot (Jupiter)
"FAMBuBHJ1U8DUeY3HNGuW9XsCM4bPZKYk9NXSyR2W2zd", # NotArb (Alternative)
]
Copy Trading Configuration
You can monitor successful traders or bots:
# Monitor specific wallets instead of programs
arb_programs = [
"3HXfeBuc1aPwAvBsdReNXKa7j1jSP3khbHbWCVkU8hUu", # Successful trader 1
"King7ki4SKMBPb3iupnQwTyjsq294jaXsgLmJo8cb7T", # Successful trader 2
"A6PDFLzh3VbkFn6aJmHe2LSd5kaYe8bmsQc6yPjinpC2", # Bot wallet
]
This allows you to:
Copy strategies from profitable traders
Learn from successful bot configurations
Identify new arbitrage opportunities
Common Arbitrage Programs
Production Bots
# Solana MEV Bot variants
"MEViEnscUm6tsQRoGd9h6nLQaQspKj7DB2M5FwM3Xvz" # On-chain version
"MEVbwoHUDJNcxZHFFg4XsyuQmBUeXEHFLNqXH635Sgi" # Jupiter version
# NotArb variants
"NA247a7YE9S3p9CdKmMyETx8TTwbSdVbVYHHxpnHTUV" # Main
"FAMBuBHJ1U8DUeY3HNGuW9XsCM4bPZKYk9NXSyR2W2zd" # Alternative
"NA365bsPdvZ8sP58qJ5QFg7eXygCe8aPRRxR9oeMbR5" # Legacy
Example Traders (for learning)
"3HXfeBuc1aPwAvBsdReNXKa7j1jSP3khbHbWCVkU8hUu" # RM4
"King7ki4SKMBPb3iupnQwTyjsq294jaXsgLmJo8cb7T" # 7dGr
"E6kDzoUtNHuk7kyNzK9XUzqi5H3NfvhcXhKv4ToDDW1L" # CG8n
"6MWVTis8rmmk6Vt9zmAJJbmb3VuLpzoQ1aHH4N6wQEGh" # CzYQ
"MEDALksSEYQQUBsyjSjmhE1ib6Cn7bRV48MYGQ5oQGY" # E8bT
Token Configuration
exclude_mints
Type: array
Required: No
Default: []
Description: Token mints to exclude from arbitrage
exclude_mints = [
"So11111111111111111111111111111111111111112", # WSOL
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", # USDC
"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", # USDT
]
Common exclusions:
Base tokens: Often used as intermediaries
Stablecoins: Low volatility, minimal arbitrage
Problematic tokens: Known issues or restrictions
base_mints
Type: array
Required: Yes
Description: Base tokens for arbitrage paths
# Single base token
base_mints = [
"So11111111111111111111111111111111111111112", # WSOL only
]
# Multiple base tokens (SMB only)
base_mints = [
"So11111111111111111111111111111111111111112", # WSOL
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", # USDC
]
Strategies:
WSOL only: Most liquid, standard approach
USDC only: Stablecoin arbitrage
Both: 3-hop and 4-hop opportunities
include_token2022
Type: boolean
Required: No
Default: false
Description: Whether to include Token-2022 (Token Extensions) mints
include_token2022 = false # Exclude Token-2022 mints
# OR
include_token2022 = true # Include Token-2022 mints
Market Filtering
Pool Requirements
Configure minimum pool requirements:
filter_thresholds = [
{
min_liquidity = 1_000_000_000, # Minimum $1k liquidity
min_total_volume = 10_000_000_000, # Minimum $10k volume
top_pool_num = 3, # Use top 3 pools per mint
}
]
Market Age Filtering
Filter by pool age (since first detection):
# In sort strategies
intermint_sort_strategy = {
metric = "pool_age",
direction = "ascending" # Prefer newer pools
}
Performance Considerations
DEX Count Impact
More DEXes = More opportunities but:
Higher CPU usage
More memory consumption
Increased network traffic
Slower processing
Recommended:
Production: 5-10 major DEXes
Testing: 3-5 DEXes
Research: All available
Program Filtering Impact
With filter_programs = true
:
✅ Faster processing
✅ Less noise
✅ Focus on proven strategies
❌ May miss new opportunities
With filter_programs = false
:
✅ Discover new strategies
✅ Complete market view
❌ Much slower
❌ More false positives
Best Practices
Start Focused
# Begin with major DEXes and known programs dexes = ["675k...", "whir...", "LBUZ..."] filter_programs = true arb_programs = ["MEVi...", "NA24..."]
Expand Gradually
Add DEXes one at a time
Monitor performance impact
Track new opportunities
Regular Updates
Check for new DEX deployments
Update program addresses
Remove deprecated DEXes
Monitor Effectiveness
Track arbitrage count by DEX
Measure profit by program
Identify optimal combinations
Troubleshooting
No Arbitrage Found
Check:
DEX addresses are correct
Programs are actively trading
Not filtering too aggressively
Base mints are appropriate
High CPU Usage
Try:
Reduce number of DEXes
Enable program filtering
Increase update_interval
Exclude low-volume DEXes
Missing Opportunities
Consider:
Adding more DEXes
Including new programs
Reducing exclusions
Monitoring competitors
Last updated