This section unifies system-level settings that determine how the application starts, what limits are applied to gRPC streams, how RPC request statistics are collected, and how Address Lookup Table (ALT) tables are managed.
Settings affect the overall stability and performance of the arbitrage bot and generally do not need to be changed unless necessary.
STARTUP
Description:
Defines the application's behavior on startup.
Options:
SKIP_CLI — Skip the interactive menu on startup.
true — auto-start with a preset.
false — open the CLI.
DEFAULT_PRESET — Name of the preset (from resources/presets/ without extension) that will be automatically loaded on startup if the CLI is skipped.
WATCH_FILES — Automatic system reload when configuration files change. If true — enables watching changes in the active preset and system.toml. When the selected preset is saved or changed, the application is fully restarted.
AUTO_UPDATER — Check for and automatically install updates on startup. If true — at startup the application checks for a new version, taking into account the OS and architecture (ARM/x64). If an update is found, the new binary version is automatically downloaded into the same directory where the current executable is located.
# Application startup configuration[STARTUP]# Skip interactive CLI menu on startup.# true: auto-start with DEFAULT_PRESET, false: show menuSKIP_CLI=true# Preset name when SKIP_CLI enabled. Must match filename from resources/presets/ without extension.# Example: 'backrun.DE' loads resources/presets/backrun.DE.tomlDEFAULT_PRESET="backrun.DE"# Enable automatic restart when config/preset files change.WATCH_FILES=true# Enable automatic updates check and download on startup.AUTO_UPDATER=true
STREAMING
Description:
Defines stream limits and the number of accounts tracked via gRPC.
These settings control the distribution of pools across streams and the total number of simultaneously active subscriptions.
It is recommended to change them only when there are explicit issues with provider limits.
Options:
MAX_ACCOUNTS_PER_STREAM — Maximum number of accounts per one gRPC stream.
DURABLE_NONCE_MAX_ACCOUNTS — Number of durable nonce accounts that will be monitored. Used for offline signing and supporting advanced nonce.
MAX_POOLS_PER_TYPE — Maximum number of pools of each type (AMM, CLMM, DLMM, etc.) that can be connected to streaming.
DEBUG.RPC_STATS
Description:
Module responsible for collecting and periodically logging RPC request statistics.
Allows evaluation of RPC stability, load, and possible network issues.
Description:
Settings define limits, transaction priority, and additional addresses that should always be added to ALTs.
Options:
MAX_TABLES — Maximum number of ALT tables that a single account can create (PAYER_PRIVATE_KEY).
COMPUTE_UNIT_PRICE — Priority fee for operations creating/extending tables. Specified in micro-lamports per Compute Unit.
ADDITIONAL_ADDRESSES — List of accounts that will be automatically added to a created table if they are not in any.
CUSTOM_TABLE_ADDRESSES — List of already existing ALT tables to use in addition to those created automatically. Useful if tables are prepared manually in advance.
# gRPC streaming limits. WARNING: Modify with caution.
# Providers have connection limits and may throttle/reject excessive connections
[STREAMING]
# Accounts per gRPC stream (provider-enforced limit).
# Example: 100 pools with limit 25 = 4 connections. Typical limit: 25-50
MAX_ACCOUNTS_PER_STREAM = 25
# Number of durable nonce accounts to monitor (enables offline signing).
# Set to actual account count. Streams created even if accounts don't exist yet
DURABLE_NONCE_MAX_ACCOUNTS = 100
# Max pools per DEX type (AMM/CLMM/DLMM/etc).
# Streams per type = ceil(MAX_POOLS_PER_TYPE / MAX_ACCOUNTS_PER_STREAM)
# Example: 100 pools, 25/stream = 4 streams/type × 6 types = 24 total connections
MAX_POOLS_PER_TYPE = 100
# Debugging and monitoring tools for system diagnostics
[DEBUG]
[DEBUG.RPC_STATS]
# Enable periodic RPC statistics logging
ENABLED = false
# Logging interval in ms (request counts, success rates, latencies).
# 0 = disable. Typical: 1000-5000ms
LOG_INTERVAL = 1000
# Address Lookup Tables config. Auto-managed for transaction size optimization
[TABLE_LOOKUP_STORAGE]
# Max ALTs to maintain (compress tx size by storing addresses).
# Each table stores up to 256 addresses. 0 = disable. Typical: 50-100
MAX_TABLES = 50
# Priority fee for ALT operations (create/extend/close) in micro-lamports/CU.
# Typical: 100,000 (0.0001 SOL/CU)
COMPUTE_UNIT_PRICE = 100000
# Custom addresses to auto-include in every created ALT.
# Swap-required accounts added automatically. Specify additional ones here (e.g., frequently used programs)
ADDITIONAL_ADDRESSES = [ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "TokenzQdBNbLqP5VEhdkAS6EPFLC1phUyKj2ppXncBG", "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr", "11111111111111111111111111111112", "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", "SysvarInstructions1111111111111111111111111", "ComputeBudget111111111111111111111111111111", "SysvarRecentB1ockHashes11111111111111111111" ]
# Pre-existing ALT addresses to use.
# Empty array = create new tables only
CUSTOM_TABLE_ADDRESSES = [ ]