Skip to main content

Environment File Configuration

BozoBot is configured through the .env file included in the download package. This file contains all the settings that control how the bot operates. This guide explains each setting in detail.

Core Settings

Connection Settings

# Connection settings
PRIVATE_KEY= # Your Solana wallet private key
RPC_ENDPOINTS=https://solana-rpc.publicnode.com # RPC endpoint(s), comma-separated for multiple
RPC_WEBSOCKET_ENDPOINT=wss://solana-rpc.publicnode.com # WebSocket endpoint for live updates
COMMITMENT_LEVEL=confirmed # Transaction commitment level (confirmed/finalized)

PRIVATE_KEY: Your Solana wallet private key. This is required for the bot to perform transactions.

RPC_ENDPOINTS: Solana RPC endpoints for blockchain communication. You can use public endpoints like https://solana-rpc.publicnode.com or private ones for better performance. For multiple endpoints, separate with commas.

RPC_WEBSOCKET_ENDPOINT: WebSocket endpoint for real-time blockchain updates. Should correspond to your RPC endpoint.

COMMITMENT_LEVEL: Transaction confirmation level. Use "confirmed" for faster but slightly less certain confirmations, or "finalized" for complete certainty (but slower).

Optional gRPC Settings

# Optional gRPC endpoint (for copy-trade)
GRPC_ENDPOINT= # gRPC server address
GRPC_KEY= # gRPC authentication key (if required)

These settings are primarily for copy trading mode, enabling faster blockchain data reading.

MEV Protection

BLOXROUTE_KEY=            # Your Bloxroute key for MEV protection

Used for MEV protection with Bloxroute (alternative to Jito).

GPA-RPC Endpoints

# Optional GPA-RPC ENDPOINTS:
GPA_ENDPOINTS= # Endpoints for GetProgramAccounts requests

Special endpoints optimized for GetProgramAccounts requests, which can improve performance in some cases.

Bot Mode

# Bot mode: sniffer | raydium | copytrade
MODE=sniffer # The bot's operating mode

Sets the primary operating mode:

  • sniffer: For monitoring Telegram/Discord for token signals
  • raydium: For liquidity sniping mode
  • copytrade: For copy trading mode

Trading Settings

Basic Trade Settings

# Trades
QUOTE_AMOUNT=0.01 # Amount of SOL to use per trade
MAX_OPEN_POSITIONS=5 # Maximum number of simultaneous positions
CHECK_PRICE_INTERVAL_SECONDS=1 # How often to check token prices

QUOTE_AMOUNT: The amount of SOL to use for each trade. You can specify either:

  • A fixed amount (e.g., 0.01 = 0.01 SOL per trade)
  • A percentage of your wallet balance (e.g., 10% = 10% of your current SOL balance per trade)

MAX_OPEN_POSITIONS: Maximum number of tokens the bot can hold simultaneously.

CHECK_PRICE_INTERVAL_SECONDS: How frequently the bot checks prices of held tokens.

Trading Levels

# Trading levels format: -30%:100% - on -30% sell 100% | 40%:100% - on 40% sell 100% | -10%:0.1SOL - on -10% buy 0.1 SOL
TRADING_LEVELS=-30%:100%,40%:100%

Configures automatic trading at specific price levels:

  • -30%:100%: When price drops 30%, sell 100% of the position (stop loss)
  • 40%:100%: When price increases 40%, sell 100% (take profit)
  • -10%:0.1SOL: When price drops 10%, buy 0.1 SOL more (buy the dip)

Scalping Settings

# Scalping
SCALPING_SELL_OPTIONS=10,25,50,75,90,100 # Quick-sell percentage options
SCALPING_BUY_OPTIONS=0.01,0.025,0.05,0.1,0.25,0.5 # Quick-buy SOL amount options

Predefined options for manual scalping commands, allowing quick sells of specific percentages or quick buys of specific SOL amounts.

Visualization

# Visualization
SHOW_PRICE_GRAPH=true # Display price chart in console
SHOW_RSI=true # Show RSI indicator on chart

Console visualization options for monitoring token performance in real-time.

Mode-Specific Settings

Copy Trading

# Copy Trading
COPY_TRADE_WALLETS= # Comma-separated wallet addresses to copy
COPY_TRADE_IGNORE_IF_LANDED_MORE_THAN_SECONDS= # Ignore trades older than this
COPY_TRADE_PROCESS_SAME_TOKEN_EVERY_SECONDS=10 # Cooldown for same token

COPY_TRADE_WALLETS: List of wallet addresses to monitor and copy trades from.

COPY_TRADE_IGNORE_IF_LANDED_MORE_THAN_SECONDS: Ignore transactions older than this many seconds.

COPY_TRADE_PROCESS_SAME_TOKEN_EVERY_SECONDS: Minimum seconds between processing transactions for the same token.

Liquidity Sniping

# Sniping
USE_SNIPE_LIST=false # Use snipe-list.txt instead of monitoring all new tokens

When set to true, the bot will only snipe tokens listed in your snipe-list.txt file.

Transaction Settings

Transaction Dispatchers

# TX Dispatcher: standard or jito or bloxroute
BUY_TRANSACTION_DISPATCHER=jito # Dispatcher for buy transactions
SELL_TRANSACTION_DISPATCHER=jito # Dispatcher for sell transactions
SKIP_PREFLIGHT=true # Skip preflight transaction checks for speed
CONFIRM_TRANSACTION_TIMEOUT_SECONDS=120 # Transaction confirmation timeout

BUY/SELL_TRANSACTION_DISPATCHER:

  • standard: Normal Solana transactions
  • jito: Use Jito for MEV protection
  • bloxroute: Use Bloxroute for MEV protection

SKIP_PREFLIGHT: Skip transaction validation checks for faster execution (may increase failure risk).

CONFIRM_TRANSACTION_TIMEOUT_SECONDS: Maximum seconds to wait for transaction confirmation.

MEV Protection Fees

# Priority fees for all transaction types (in SOL)
# These fees are used both for standard transaction priority
# and for Jito/Bloxroute tips
BUY_PRIORITY_FEE=0.000123
SELL_PRIORITY_FEE=0.000123

These fees determine the priority of your transactions and tips for MEV protection services. Values are in SOL.

Priority Fees

# Legacy settings (can be omitted if not needed)
# MAX_BUY_FEE=0.005 # Maximum fee for buy transactions with MEV protection
# MAX_SELL_FEE=0.005 # Maximum fee for sell transactions with MEV protection
# BUY_COMPUTE_UNIT_LIMIT=123678 # Compute unit limit for buy transactions
# BUY_COMPUTE_UNIT_PRICE=127000 # Compute unit price for buy transactions (in micro-lamports)
# SELL_COMPUTE_UNIT_LIMIT=123678 # Compute unit limit for sell transactions
# SELL_COMPUTE_UNIT_PRICE=127000 # Compute unit price for sell transactions

Note: These legacy settings are no longer required and can be omitted. The new *_PRIORITY_FEE settings replace them.

Buy Settings

# Buy
BUY_SLIPPAGE=20 # Maximum price slippage percentage for buys
BUY_DELAY_MS=0 # Delay in milliseconds before executing buy
MAX_BUY_RETRIES=3 # Maximum retries for failed buys

BUY_SLIPPAGE: Maximum acceptable price deviation for buy transactions.

BUY_DELAY_MS: Delay before executing buy transactions (usually set to 0 for sniping).

MAX_BUY_RETRIES: Number of retry attempts for failed buy transactions.

Sell Settings

# Sell
SELL_SLIPPAGE=30 # Maximum price slippage percentage for sells
AUTO_SELL_DELAY_MS=0 # Delay before executing automatic sells
MAX_SELL_RETRIES=3 # Maximum retries for failed sells
IGNORE_DROP_THRESHOLD_PERCENT=90 # Ignore price drops exceeding this percentage

SELL_SLIPPAGE: Maximum acceptable price deviation for sell transactions.

AUTO_SELL_DELAY_MS: Delay before executing automatic sell transactions.

MAX_SELL_RETRIES: Number of retry attempts for failed sell transactions.

IGNORE_DROP_THRESHOLD_PERCENT: Ignore massive price drops exceeding this percentage (often false readings).

Token Filters

Social Media Filters

# Social filters
HAS_ANY_SOCIAL=false # Require any social media links
HAS_TELEGRAM=false # Require Telegram link
HAS_TWITTER=false # Require Twitter link
HAS_WEBSITE=false # Require website link

Filter tokens based on the presence of social media links in their metadata.

Metadata Filters

CHECK_MUTABLE=false      # Check if token metadata is mutable
HAS_IMAGE=false # Require token to have an image
HAS_DESCRIPTION=false # Require token to have a description

Filter tokens based on their metadata properties.

Liquidity Filters

# Liquidity filters
MIN_SOL_IN_POOL=5 # Minimum SOL in liquidity pool
MAX_SOL_IN_POOL=0 # Maximum SOL in liquidity pool (0 = no limit)

Filter tokens based on the amount of SOL in their liquidity pools.

Security Filters

# Security filters
CHECK_RENOUNCED_AND_FREEZABLE=true # Check if token authority is renounced/has freeze authority
TOP_20_HOLDERS_MAX_HOLD_PERCENT=0 # Maximum percentage held by top 20 holders (0 = no limit)
BURNT_PERCENT=0 # Minimum percentage of burnt supply (0 = no requirement)

Filter tokens based on security indicators.

Raydium-Specific Filter

# Filter: Raydium
SKIP_IF_MINTED_SECONDS_AGO=12 # Skip tokens minted less than this many seconds ago

For Raydium mode, skip tokens that were just minted to avoid honeypots.

Notifications

# Telegram PnL channel
TELEGRAM_TARGET_CHAT_ID= # Telegram chat ID for PnL notifications

Telegram chat ID for receiving profit/loss notifications.

Sniffer Mode Settings

# Sniffer: Telegram
TELEGRAM_IDS_TO_SNIFF= # Telegram channel/group IDs to monitor
TELEGRAM_CHECK_INTERVAL_MS=2000 # How often to check for new messages

# Sniffer: Discord
DISCORD_AUTHORIZATION_TOKEN= # Discord authorization token
DISCORD_IDS_TO_SNIFF= # Discord channel IDs to monitor

# Sniffer general settings
SNIFFER_SKIP_MESSAGES_POSTED_MORE_THAN_SECONDS=25 # Ignore older messages
SNIFFER_PROCESS_SAME_TOKEN_EVERY_SECONDS=120 # Cooldown for same token
SNIFFER_BLACKLIST_WORDS=sell,update,closed,sold # Skip messages with these words
SNIFFER_WHITELIST_WORDS= # Only process messages with these words
SNIFFER_WHITELIST_USER_IDS= # Only process messages from these user IDs

Settings specific to the Sniffer mode for monitoring Telegram and Discord.

Miscellaneous

# Misc
SIMULATE_TX_BEFORE_EXECUTE=false # Simulate transactions before sending
LOG_LEVEL=info # Logging level (debug, info, warn, error)

SIMULATE_TX_BEFORE_EXECUTE: Run a simulation of transactions before executing them (safer but slower).

LOG_LEVEL: Controls the verbosity of log output.