Preset Configuration
# Private key of the payer wallet in base58 format.
# Security note: This key is stored locally on your machine only. We do not collect or transmit any private keys or sensitive data
PAYER_PRIVATE_KEY = "<your_base58_private_key>"
# Region detection configuration
[REGION_DETECTOR]
# Region detection mode: AUTO (auto-detect) or DEFAULT (use specified region)
MODE = "AUTO"
# Default/fallback region to use.
# Available: DE, AMS, LON, NY, SLC, VA, TOKYO, SIN
DEFAULT = "DE"
# Primary RPC node for non-primary transaction submission and state queries
[DEFAULT_RPC]
# RPC endpoint URL
URL = "https://any-rpc.com"
# Rate limit (requests/sec)
RPS = 5
# Real-time account updates streaming via Yellowstone gRPC protocol.
# Monitors: blockhash updates, payer account transactions, pool state changes
[GRPC]
# Yellowstone gRPC endpoint URL
URL = "https://solana-yellowstone-grpc.publicnode.com"
# Authentication token (optional)
X_TOKEN = ""
# Address Lookup Tables for transaction size optimization
[TABLE_LOOKUP_MANAGER]
# Enable automatic ALT management
ENABLED = true
# Add bin_arrays/tick_arrays to ALTs for DLMM/CLMM pools
SHOULD_ADD_LIQUIDITY_ARRAYS = false
# Transaction execution parameters: compute budget, priority fees, flash loans
[TRANSACTION]
# Computational budget limits for transaction execution.
# Future: automatic CU limit management mode for each transaction will be added
[TRANSACTION.COMPUTE_UNIT_LIMIT]
# Base CU limit (500k-700k typical, up to 1.4M)
DEFAULT = 500000
# Max bins to traverse (~10-15k CUs per bin, recommend 5-10)
DLMM_MAX_BINS = 5
# Priority fees for validator transaction inclusion
[TRANSACTION.COMPUTE_UNIT_PRICE]
# Priority fee in micro-lamports per CU.
# Future: dynamic strategies based on network conditions will be added
DEFAULT = 1310101
# Flash loan configuration for atomic borrow-arbitrage-repay execution
[TRANSACTION.LENDING]
# Enable flash loans in transaction
ENABLED = true
# Lending protocol.
# Currently: KAMINO
# Future: JUP LEND and other protocols
PROGRAM = "KAMINO"
# Flash loan amount in SOL (value automatically converted to lamports)
AMOUNT = 500
# Monitoring strategies for detecting arbitrage opportunities.
# BACKRUN: monitors pool updates via gRPC and executes on price discrepancies
# TRANSACTION_SPAM: continuously sends transactions for spam
[MONITORING_STRATEGIES]
# Active monitoring strategy to use (BACKRUN, TRANSACTION_SPAM)
ACTIVE_STRATEGY = "BACKRUN"
# BACKRUN strategy: executes arbitrage when pool state changes trigger price differences
[MONITORING_STRATEGIES.BACKRUN]
# Sensitivity multiplier for arbitrage execution (percentage).
# Formula: adjusted_min_delta = min_delta * (1 + TEMPERATURE/100)
# Higher values = more conservative (require larger price differences)
# Lower values = more aggressive (execute with smaller price differences)
# Example: TEMPERATURE=300 means 4x multiplier (1 + 300/100 = 4)
TEMPERATURE = 300
# Cooldown period in milliseconds after arbitrage execution on a pool pair.
# Prevents repeated execution on the same pair within this timeframe.
# Typical: 6000ms (6 seconds)
BLOCK_TIMEOUT = 6000
# TRANSACTION_SPAM strategy: continuously sends transactions for spam purposes.
# No configuration options available
[MONITORING_STRATEGIES.TRANSACTION_SPAM]
# Monitoring and notification services
[DEBUG]
# Discord notifications for arbitrage results and alerts
[DEBUG.DISCORD]
# Send notifications about arbitrage execution
ENABLED = true
# Discord webhook URL
WEBHOOK = "https://discord.com/api/webhooks/"
# Pool selection filters for loading liquidity pools to monitor.
# Filters are applied to select active, liquid pools suitable for arbitrage.
# All filter fields are optional - pools matching all specified criteria are selected
[POOL_LOADER]
[POOL_LOADER.FILTERS]
# Minimum pool liquidity in USDT
minLiquidity = 15000
# Maximum pool liquidity in USDT
maxLiquidity = 5000000
# Minimum trading volume in last 1 minute
minVolume1m = 1000
# Minimum trading volume in last 5 minutes
minVolume5m = 5000
# Minimum trading volume in last 1 hour
minVolume1h = 10000
# Minimum trading volume in last 24 hours
minVolume24h = 50000
# Minimum transaction count in last 1 minute
minTransactions1m = 1
# Minimum transaction count in last 5 minutes
minTransactions5m = 5
# Minimum transaction count in last 1 hour
minTransactions1h = 1
# Minimum transaction count in last 24 hours
minTransactions24h = 10
# Sort pools by field (requires sortByOrder)
sortByField = "liquidity"
# Timeframe for volume sorting (required when sortByField='volume')
sortByTimeframe = "1h"
# Sort direction (requires sortByField)
sortByOrder = "desc"
# Max Raydium AMM pools per pair
poolTypeLimitRaydiumAmm = 5
# Max Raydium CPMM pools per pair
poolTypeLimitRaydiumCpmm = 5
# Max Raydium CLMM pools per pair
poolTypeLimitRaydiumClmm = 5
# Max Meteora DLMM pools per pair
poolTypeLimitMeteoraDlmm = 5
# Max Meteora DAMM v2 pools per pair
poolTypeLimitMeteoraDammV2 = 5
# Max Pumpswap pools per pair
poolTypeLimitPumpswap = 5
# Minimum pools per pair that must pass filters to include the pair
minPoolsPerPairPassingFilters = 2
# Minimum total pools required per pair
minPoolsPerPair = 2
# Maximum pools to include per pair
maxPoolsPerPair = 2
# Maximum number of token pairs to load
pairLimit = 100
# Include Token-2022 program tokens
useTokens22 = true
# Quote tokens to filter pairs.
# Currently supported: SOL only
# Future: USDC, USDT, USD1 and other quote tokens
quoteTokens = [ "So11111111111111111111111111111111111111112" ]
# Token addresses to exclude
blacklistTokens = [ "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB" ]
# Only include these token addresses
whitelistTokens = []
# Transaction submission processors. Common fields:
# ENABLED - activate processor
# TPS - rate limit (transactions per second)
# USE_PROXY - route through proxy pool (automatically rotates proxies on each request using round-robin)
# TIP_AMOUNT - validator tips in SOL (automatically converted to lamports)
# API_KEYS - authentication keys array (automatically rotates keys on each request using round-robin to distribute load and avoid rate limits)
# REVERT_PROTECTION - enable revert protection. If true, transaction will not fail on chain but speed of inclusion is affected.
[TRANSACTION_PROCESSOR]
# Jito processor
# Documentation: https://docs.jito.wtf/lowlatencytxnsend/#
[TRANSACTION_PROCESSOR.JITO]
ENABLED = true
TPS = 5
USE_PROXY = false
REVERT_PROTECTION = false
TIP_AMOUNT = 0.0721
API_KEYS = [ "<your_token>" ]
# Custom RPC configuration.
# You can specify multiple [[TRANSACTION_PROCESSOR.SWQOS]] blocks to use multiple RPC endpoints.
# Each endpoint will submit transactions in parallel for increased throughput and redundancy
[[TRANSACTION_PROCESSOR.SWQOS]]
ENABLED = true
TPS = 100
USE_PROXY = false
# Custom RPC endpoint URL
URL = "https://mainnet.helius-rpc.com"
[[TRANSACTION_PROCESSOR.SWQOS]]
ENABLED = true
TPS = 100
USE_PROXY = false
# Custom RPC endpoint URL
URL = "https://any-other-rpc.com"
# Zero Slot processor
# Documentation: https://0slot.trade/docs.php/
[TRANSACTION_PROCESSOR.ZERO_SLOT]
ENABLED = true
TPS = 5
USE_PROXY = false
API_KEYS = [ "<your_token>" ]
TIP_AMOUNT = 0.0721
# Nozomi processor
# Documentation: https://use.temporal.xyz/
[TRANSACTION_PROCESSOR.NOZOMI]
ENABLED = true
TPS = 5
USE_PROXY = false
API_KEYS = [ "<your_token>" ]
TIP_AMOUNT = 0.0721
# Next Block processor
# Documentation: https://docs.nextblock.io/
[TRANSACTION_PROCESSOR.NEXT_BLOCK]
ENABLED = false
TPS = 1
USE_PROXY = false
API_KEYS = [ "<your_token>" ]
TIP_AMOUNT = 0.0721
# Sender processor
# Documentation: https://www.helius.dev/docs/sending-transactions/sender
[TRANSACTION_PROCESSOR.SENDER]
ENABLED = true
TPS = 6
USE_PROXY = false
TIP_AMOUNT = 0.0721
# Blockrazor processor
# Documentation: https://blockrazor.gitbook.io/blockrazor/solana/send-transaction
[TRANSACTION_PROCESSOR.BLOCKRAZOR]
ENABLED = true
TPS = 5
USE_PROXY = false
REVERT_PROTECTION = false
API_KEYS = [ "<your_token>" ]
TIP_AMOUNT = 0.0721
# Astraline processor
# Documentation: https://astralane.gitbook.io/docs/low-latency/submit-transactions
[TRANSACTION_PROCESSOR.ASTRALINE]
ENABLED = true
TPS = 5
USE_PROXY = false
API_KEYS = [ "<your_token>" ]
TIP_AMOUNT = 0.07
# FAST processor
# Documentation: https://docs.circular.bot/circular-docs/api/fast
[TRANSACTION_PROCESSOR.FAST]
ENABLED = true
TPS = 1
USE_PROXY = false
REVERT_PROTECTION = false
API_KEYS = [ "<your_token>" ]
TIP_AMOUNT = 0.001Last updated