SCREENERBOTDocs
DocsLLM & AnalysisConfiguration

LLM and Analysis Configuration

Configure provider transport, model-scored analysis, the Assistant, and Agent Control without mixing their settings or runtime responsibilities.

Configuration Overview

How Model Configuration Is Organized

Model features live in four separate sections of your ScreenerBot config file:

  • [llm] — the master switch, the default provider, and the API keys, models and rate limits under [llm.providers.*]
  • [llm_analysis] — model-scored filtering, entry/exit analysis, auto-blacklist and caching
  • [assistant] — the dashboard chat and scheduled tasks
  • [agent_control] — the agent/MCP master switch and the tool policy for the in-app Assistant and scheduled tasks. See Agent Connections.

All model features are disabled by default to avoid unexpected API costs. You must explicitly enable the features you want to use.

Provider Configuration

Configure one or more LLM providers in your config.toml file:

config.toml
# LLM master switch and the provider every feature calls
[llm]
enabled = true
default_provider = "groq"

[llm.providers.groq]
enabled = true
api_key = "gsk_xxxxxxxxxxxxxxxxxxxxx"
model = "<model-id>"  # see Groq's model list for current IDs
rate_limit_per_minute = 30

[llm.providers.openai]
enabled = true
api_key = "sk-xxxxxxxxxxxxxxxxxxxxx"
model = "<model-id>"  # see OpenAI's model list for current IDs
rate_limit_per_minute = 60

[llm.providers.deepseek]
enabled = true
api_key = "sk-xxxxxxxxxxxxxxxxxxxxx"
model = "<model-id>"  # see DeepSeek's model list for current IDs
rate_limit_per_minute = 500

# Ollama runs locally and takes a base URL instead of a key
[llm.providers.ollama]
enabled = false
model = "llama3.2"
base_url = "http://localhost:11434"
rate_limit_per_minute = 120

Provider Settings Explained

enabledSet to true to activate this provider,false to disable it
api_keyYour API key from the provider. Keep this secret and never commit to version control
modelModel identifier to use. See provider documentation for available models
rate_limit_per_minuteMaximum requests per minute for this provider. Prevents hitting provider rate limits
default_providerOn [llm], not on a provider. Names the one provider every feature calls — analysis, the Assistant, and scheduled tasks

API Key Setup by Provider

Groq

Best For: Real-time trading (very low latency)

Setup Steps:

  1. Visit console.groq.com
  2. Sign up for a free account
  3. Navigate to API Keys section
  4. Create a new API key
  5. Copy key starting with gsk_

Model Tip:Check Groq's model list for their current fastest option.

OpenAI

Best For: Highest accuracy

Setup Steps:

  1. Visit platform.openai.com
  2. Create an account and add payment method
  3. Go to API Keys section
  4. Create a new secret key
  5. Copy key starting with sk-

Model Tip:Check OpenAI's model list for their current best-value option.

DeepSeek

Best For: High-volume screening

Setup Steps:

  1. Visit platform.deepseek.com
  2. Create an account
  3. Navigate to API Keys
  4. Generate a new key
  5. Copy the provided key

Model Tip:DeepSeek's chat model is the standard choice for most use cases.

Ollama (Local)

Best For: Privacy & zero API costs

Setup Steps:

  1. Download from ollama.com
  2. Install and run Ollama
  3. Pull a model: ollama pull <model-name> (see ollama.com/library)
  4. Set api_key = "ollama" (not used)
  5. Set base_url = "http://localhost:11434"

Model Tip:Pull any model from Ollama's library that fits your hardware.

See the Providers Reference for setup instructions for all 10+ supported providers.

Enable Analysis Features

After configuring providers, enable the specific model-analysis features you want to use:

config.toml - Model Analysis
# Model-scored filtering and trading analysis
[llm_analysis]

# Filtering - the model helps decide if a token should pass filters
filtering_enabled = true
min_confidence = 70      # 0-100; below this the verdict is not trusted
fallback_pass = false    # if the model cannot answer, reject rather than pass

# Entry and exit analysis
entry_analysis_enabled = true
exit_analysis_enabled = true
trailing_stop_enabled = false

# Auto-Blacklist - permanently block tokens scored as scams
auto_blacklist_enabled = true
auto_blacklist_min_confidence = 90   # 0-100

Filtering Analysis

The analysis engine scores tokens during filtering for scams, poor quality projects, and other red flags. Can prevent tokens from passing filters even if they meet numerical criteria.

When to use:

  • • You want an extra safety layer against scams
  • • You screen hundreds of tokens daily
  • • You trade in high-risk markets

Entry Analysis

Provides a model-scored entry decision based on market conditions, price action, and risk indicators beyond your configured strategy.

When to use:

  • • You want to avoid FOMO entries
  • • Market conditions are volatile
  • • You need a second opinion on entries

Exit Suggestions

The analysis engine scores exit conditions for open positions based on momentum analysis, profit levels, and changing market conditions.

When to use:

  • • You struggle with exit timing
  • • You want to maximize profits
  • • You need help identifying tops

Auto-Blacklist

Automatically adds tokens to the blacklist when model analysis detects high-confidence scam indicators. Prevents future consideration of obvious scams.

When to use:

  • • You want automated scam protection
  • • You screen many new tokens
  • • You prefer conservative filtering

Auto-Blacklist Feature Explained

The Auto-Blacklist feature provides automated protection against scam tokens by permanently blocking tokens that model analysis identifies as highly suspicious.

How it works:

  1. The analysis engine scores each token during filtering or entry analysis
  2. If scam indicators exceed the confidence threshold, token is flagged
  3. Token is automatically added to your permanent blacklist
  4. Blacklisted tokens are never analyzed or traded again

Confidence Threshold Settings:

90 - 100Very Conservative - Only obvious scams
80 - 90Balanced — the default is 90
70 - 80Aggressive - Blocks suspicious tokens
Below 70Not recommended - Many false positives

Typical scam indicators detected:

  • • Suspicious metadata (excessive emojis, fake branding, scam keywords)
  • • Poor holder distribution (single wallet holds majority)
  • • Unusual liquidity patterns (locked/unlocked inconsistencies)
  • • Known scam contract patterns or similarities
  • • Social links pointing to phishing or suspicious domains

Important Note

Auto-blacklisting is permanent. Review blacklisted tokens periodically in the dashboard to ensure no legitimate tokens were incorrectly flagged. You can manually remove tokens from the blacklist if needed.

Advanced Configuration

One Provider Serves Every Feature

There is no per-feature provider and no automatic fallback chain. Filtering, entry and exit analysis, the Assistant, and scheduled tasks all call the single provider named by default_provider:

[llm]
enabled = true
default_provider = "groq"   # the one provider every feature calls

Keep a second provider configured and enabled so that switching is a one-line change when the first is rate-limited or down.

Rate Limit Management

Adjust rate limits to stay within provider quotas and avoid throttling. Provider rate limits change over time, so set rate_limit_per_minutebased on the current limit shown in your provider's own dashboard rather than a fixed number — start conservative and raise it once you confirm you aren't being throttled.

Cache Configuration

Filtering results can be cached to reduce API costs and improve response times for repeat analysis:

config.toml - Cache Settings
# Analysis result caching
[llm_analysis]
use_cache = true            # reuse a filtering verdict for the same mint
cache_ttl_seconds = 300     # how long a cached verdict stays valid

# Entry/exit decisions always ask the model again, even on a cache hit
trading_bypass_cache = true

How caching works:

  • • Filtering verdicts for the same mint are cached and reused
  • • Reduces API costs by avoiding duplicate analysis requests
  • • Speeds up repeat token evaluations significantly
  • • A verdict expires after cache_ttl_seconds
  • • Entry and exit decisions bypass the cache while trading_bypass_cache is on

Performance Tuning

Tune model-analysis performance for your trading volume and requirements:

config.toml - Performance Settings
# Background re-scoring of already-known tokens
[llm_analysis]
background_check_enabled = false
background_check_interval_seconds = 300
background_batch_size = 5

# Per-provider ceiling, set on the provider itself
[llm.providers.groq]
rate_limit_per_minute = 30

High-Volume Settings

  • • Raise the selected provider's rate limit only within its current quota
  • cache_ttl_seconds = 900
  • background_check_enabled = false
  • • Use fast providers (Groq, DeepSeek)

Conservative Settings

  • • Keep the selected provider's rate limit conservative
  • min_confidence = 85
  • fallback_pass = false
  • • Use premium providers (OpenAI, Anthropic)

Configuration Best Practices

  • Start with Free Providers:Use Groq or DeepSeek initially to test Assistant features before committing to paid providers.
  • Keep a Spare Provider Configured:Only default_provider is called, so keep a second provider enabled with a valid key — switching is then a one-line change when the first is throttled or down.
  • Enable Features Gradually:Start with just filtering analysis, monitor results, then enable entry/exit features as you build confidence.
  • Monitor API Usage:Check provider dashboards regularly to track API usage and costs. Adjust rate limits if needed.
  • Secure Your API Keys:Never commit API keys to version control. Use environment variables or keep them in config files that are gitignored.

Important Notes

Test Before Live Trading

Test model-analysis configuration thoroughly in paper trading mode before enabling it on live positions. Verify that API keys work and responses are as expected.

Restart Required

Changes to LLM provider configuration require a bot restart to take effect. Changes to enabled features may be applied dynamically depending on the setting.

Next Steps