Advanced Settings
This section covers advanced configuration options for fine-tuning arb-assist performance and behavior.
Core Advanced Settings
update_interval
Type: integer
(milliseconds)
Default: 10000
(10 seconds)
Description: How often to regenerate configuration files
update_interval = 5000 # Fast updates (5 seconds)
update_interval = 10000 # Standard (10 seconds)
update_interval = 30000 # Conservative (30 seconds)
Trade-offs:
Lower: Fresher data, higher CPU usage
Higher: Less resource usage, delayed reactions
run_interval
Type: integer
(milliseconds)
Default: 60000
(1 minute)
Description: Minimum time between trades on the same mint
run_interval = 30000 # Aggressive (30 seconds)
run_interval = 60000 # Standard (1 minute)
run_interval = 300000 # Conservative (5 minutes)
Purpose:
Prevents over-trading
Allows market to settle
Reduces failed transactions
halflife
Type: integer
(milliseconds)
Default: 120000
(2 minutes)
Description: Time for statistics to decay by 50%
halflife = 60000 # Fast decay (1 minute)
halflife = 120000 # Standard (2 minutes)
halflife = 300000 # Slow decay (5 minutes)
Effects on different metrics:
Profit: Recent profits weighted more
Volume: Old volume fades out
Success rate: Adapts to current performance
Visual Example of Half-life Decay
Time | Weight
---------|--------
Now | 100%
1 min | 50%
2 min | 25%
3 min | 12.5%
4 min | 6.25%
Advanced Filtering
ignore_filters
Type: boolean
Default: false
Description: Bypass all filter thresholds
ignore_filters = false # Apply filters normally
ignore_filters = true # Use any mint with 2+ pools
Use cases:
Testing configurations
Maximum opportunity capture
With Jito no_failure_mode
Complex Filter Expressions
Combine multiple criteria:
filter_thresholds = [
{
# Basic requirements
min_profit = 1_000_000,
min_roi = 1.5,
min_txns = 5,
# Volume requirements
min_net_volume = 100_000_000,
min_total_volume = 1_000_000_000,
# Balance requirements
min_imbalance_ratio = 0.1, # At least 10% directional
max_imbalance_ratio = 0.9, # Not more than 90% one-sided
# Market depth
min_liquidity = 10_000_000_000,
min_turnover = 0.5, # Volume/Liquidity ratio
# Volatility
min_volatility = 0.001, # Minimum price movement
# Profit consistency
min_profit_per_arb = 100_000, # Average profit per trade
}
]
ALUTs (Address Lookup Tables)
aluts_per_pool
Type: integer
Default: 20
Description: Number of ALUTs to collect per pool
aluts_per_pool = 10 # Minimal
aluts_per_pool = 20 # Standard
aluts_per_pool = 50 # Comprehensive
aluts
Type: array
Default: []
Description: Custom ALUTs to always include
aluts = [
"4sKLJ1Qoudh8PJyqBeuKocYdsZvxTcRShUt9aKqwhgvC", # Custom ALUT 1
"7nYmUgQPvvKN9vnt3xHukiGcgaqvBPfmFfkJcJQHHbsD", # Custom ALUT 2
]
ALUT Strategy
For NotArb:
[notarb]
max_lookup_tables = 10 # Maximum ALUTs per transaction
Optimization tips:
More ALUTs = larger transactions
Fewer ALUTs = may miss addresses
Monitor which ALUTs are actually used
Logging and Monitoring
log_output
Type: boolean
Default: false
Description: Enable detailed logging
log_output = true # Enable verbose logging
Logs include:
Mint rankings
Filter decisions
Configuration updates
Performance metrics
Custom Memos
Add identifying information to transactions:
filter_thresholds = [
{ memo = "conservative-v1", ... },
{ memo = "moderate-v2", ... },
{ memo = "aggressive-v3", ... },
]
Mode-Specific Advanced Settings
SMB Advanced Settings
[smb]
output = "smb-config"
max_retries = 0 # Retry failed transactions
enable_simple_send = false # Use simple send mode
cetiloan = true # Enable flash loans
merge_mints = true # Allow mint merging
cetiloan: Flash loan integration
Borrow funds for arbitrage
No upfront capital needed
Small fee for borrowing
merge_mints: Combine multiple mints
More complex transactions
Higher potential profit
Increased gas usage
NotArb Advanced Settings
[notarb]
output = "notarb-config"
jvm_args = ["-server", "-Xmx8192m", "-XX:+UseG1GC"]
threads = 0 # 0 = dynamic, -1 = unlimited
flash_loan = true
meteora_bin_limit = 20 # Max Meteora DLMM bins
JVM Optimization:
jvm_args = [
"-server", # Server JVM
"-Xmx8192m", # 8GB heap
"-XX:+UseG1GC", # G1 garbage collector
"-XX:MaxGCPauseMillis=50" # 50ms max GC pause
]
Thread Management:
threads = 0 # Dynamic thread pool (recommended)
threads = -1 # Thread per task (maximum performance)
threads = 16 # Fixed thread pool (predictable)
Network Optimization
Connection Pooling
For NotArb:
[notarb]
# Separate RPC endpoints for different tasks
token_accounts_checker = {
rpc_url = "https://dedicated-checker.rpc.com",
delay_seconds = 3
}
blockhash_updater = {
rpc_url = "https://fast-blockhash.rpc.com",
delay_ms = 400
}
account_size_loader = {
rpc_url = "https://bulk-data.rpc.com",
invalid_account_size = 200,
buffer_size = 1500
}
Benefits:
Distribute load across endpoints
Optimize for specific tasks
Prevent rate limiting
File Server Configuration
port = 8080 # Enable file server
port = 0 # Disable file server
Security for file server:
# UFW firewall rules
sudo ufw allow from 192.168.1.0/24 to any port 8080
sudo ufw deny 8080
Performance Tuning
Memory Management
Control memory usage:
Reduce
mints_to_rank
Increase
halflife
(faster decay)Limit
aluts_per_pool
Increase
update_interval
CPU Optimization
Reduce CPU load:
Simplify sort strategies
Use fewer filter thresholds
Enable
filter_programs
Increase delays
Network Optimization
Reduce bandwidth:
Filter GRPC stream
Batch RPC requests
Use compression
Cache static data
Special Configurations
Market Maker Mode
Focus on providing liquidity:
# High turnover, balanced flow
intermint_sort_strategy = { metric = "turnover", direction = "descending" }
filter_thresholds = [{
min_turnover = 2.0,
min_imbalance_ratio = 0.4,
max_imbalance_ratio = 0.6,
min_liquidity = 100_000_000_000,
}]
Sniper Mode
Target new opportunities:
# Sort by newest pools
intermint_sort_strategy = { metric = "pool_age", direction = "ascending" }
# Fast updates
update_interval = 5000
halflife = 30000 # 30 second decay
# Aggressive execution
spam_levels = [{
process_delay = 200,
tx_count = 5,
}]
Research Mode
Collect maximum data:
# Track everything
mints_to_rank = 100
filter_programs = false
ignore_filters = true
log_output = true
# Slow updates to reduce load
update_interval = 60000
Experimental Features
Custom Market Loaders
For NotArb:
[notarb]
market_loader = "custom-loader-endpoint"
lookup_table_loader = "custom-alut-endpoint"
Advanced Metrics
Custom sorting metrics (future):
# Potential future metrics
metric = "sharpe_ratio" # Risk-adjusted returns
metric = "kelly_criterion" # Optimal position sizing
metric = "entropy" # Market efficiency
Best Practices
Configuration Management
Version Control
Track all config changes
Use meaningful commit messages
Tag stable configurations
Testing Protocol
Test new settings with small amounts
Monitor for 24 hours minimum
Compare performance metrics
Documentation
Comment complex configurations
Document parameter choices
Keep change log
Performance Monitoring
Key metrics to track:
CPU usage percentage
Memory consumption
Network bandwidth
Success rate
Average ROI
Configuration generation time
Gradual Optimization
Start with defaults
Change one parameter at a time
Measure impact
Document results
Iterate based on data
Troubleshooting Advanced Issues
Memory Leaks
Symptoms:
Increasing memory usage over time
System slowdowns
OOM errors
Solutions:
Reduce
mints_to_rank
Decrease
aluts_per_pool
Increase
halflife
Restart periodically
CPU Spikes
Symptoms:
100% CPU usage
Delayed config updates
System unresponsive
Solutions:
Increase
update_interval
Simplify sort strategies
Enable
filter_programs
Upgrade hardware
Network Saturation
Symptoms:
Dropped GRPC connections
RPC timeouts
Incomplete data
Solutions:
Upgrade bandwidth
Filter GRPC stream
Use multiple endpoints
Implement caching
Last updated