Configuration Overview
arb-assist uses a TOML configuration file (config.toml
) to control all aspects of its operation. This section provides a comprehensive guide to all configuration options.
Configuration File Structure
The configuration file is organized into several main sections:
# 1. Connection Settings
rpc_url = "..."
grpc_url = "..."
# 2. Core Settings
mode = "smb"
update_interval = 10000
# 3. DEX & Program Configuration
dexes = [...]
arb_programs = [...]
# 4. Filtering & Ranking
filter_thresholds = [...]
intermint_sort_strategy = {...}
# 5. Trading Strategies
spam_levels = [...]
jito_levels = [...]
# 6. Bot-Specific Settings
[smb]
...
[notarb]
...
Configuration Hierarchy
arb-assist processes configuration in this order:
Connection Settings - Establishes blockchain connections
Core Operation - Defines basic behavior
Market Analysis - Specifies what to monitor
Filtering Logic - Determines profitable opportunities
Execution Strategies - Controls how to trade
Bot Integration - Outputs appropriate configs
Key Concepts
Filter Thresholds
Filter thresholds define multiple tiers of market conditions:
filter_thresholds = [
{ min_profit = 1_000_000, ... }, # Tier 0: Low activity
{ min_profit = 10_000_000, ... }, # Tier 1: Medium activity
{ min_profit = 100_000_000, ... }, # Tier 2: High activity
]
Each tier can have different:
Minimum profit requirements
ROI thresholds
Volume requirements
Success rate criteria
Strategy Levels
Strategy levels map to filter thresholds:
spam_levels = [
{ filter_level = 0, ... }, # Uses tier 0 settings
{ filter_level = 1, ... }, # Uses tier 1 settings
]
This allows different trading strategies for different market conditions.
Mint Groups
Mints are organized into transaction groups:
mints_to_arb = [2, 2, 3] # Group 1: 2 mints, Group 2: 2 mints, Group 3: 3 mints
Different strategies can target different groups.
Configuration Files
Input File: config.toml
Your main configuration file that controls arb-assist behavior.
Location: Same directory as arb-assist binary
Format: TOML (Tom's Obvious, Minimal Language)
Output Files
Based on your mode
setting:
SMB Mode (mode = "smb"
)
mode = "smb"
)File:
{output}.toml
Format: TOML
Updates: Every
update_interval
milliseconds
NotArb Mode (mode = "na"
)
mode = "na"
)Files:
{output}.json
- Main configurationmarkets.json
- Market addresseslookup-tables.json
- ALUTsnotarb-attributes.json
- Dynamic settings
Format: JSON
Updates: Every
update_interval
milliseconds
Both Mode (mode = "both"
)
mode = "both"
)Generates both SMB and NotArb outputs simultaneously.
Environment Variables
Some settings can use environment variables:
keypair_path = "${DEFAULT_KEYPAIR_PATH}" # Expands to env var
Supported variables:
DEFAULT_KEYPAIR_PATH
- Default wallet locationCustom variables you define
Configuration Validation
arb-assist validates configuration on startup:
Required Fields - Ensures essential settings exist
Value Ranges - Checks numeric bounds
Logical Consistency - Verifies related settings
Connection Tests - Validates RPC/GRPC access
Common Validation Errors
Error: Invalid RPC URL
Check your rpc_url
format and accessibility.
Error: mints_to_rank must be >= max(mints_to_arb)
Increase mints_to_rank
to match your largest group.
Error: filter_thresholds must be in ascending order
Order thresholds from lowest to highest requirements.
Best Practices
1. Start Conservative
Begin with:
High filter thresholds
Low transaction counts
Moderate fees
Single mint groups
2. Use Multiple Tiers
Define 3-5 filter threshold tiers:
Tier 0: Minimal activity baseline
Tier 1-2: Normal market conditions
Tier 3-4: High activity periods
3. Monitor and Adjust
Review logs regularly
Track success rates
Adjust thresholds based on performance
Document changes
4. Version Control
Keep config.toml in git
Use meaningful commit messages
Tag working configurations
Maintain changelog
5. Security
Never commit private keys
Use encrypted keypair files
Restrict file permissions
Rotate API keys regularly
Configuration Templates
arb-assist provides example configurations:
config.toml.example
- Basic templateconfig.toml (smb)
- SMB-optimized settingsconfig.toml (notarb)
- NotArb-optimized settings
Dynamic Updates
Configuration changes are applied:
On startup - Full configuration load
During runtime - Output files updated
On bot restart - Bots reload when configs change
Performance Impact
Configuration affects performance:
High Impact Settings
update_interval
- Processing frequencymints_to_rank
- Memory usagegrpc_engine
- Network efficiency
Medium Impact Settings
filter_thresholds
- Computation complexitysort_strategy
- Ranking timehalflife
- Decay calculations
Low Impact Settings
output
- File I/Omemo
- Metadata onlylog_output
- Debug logging
Next Steps
Dive deeper into specific configuration sections:
Connection Settings - RPC, GRPC setup
DEX Configuration - Market selection
Mint Selection - Ranking strategies
Trading Strategies - Execution options
Advanced Settings - Fine-tuning
Last updated