Installation
Requirements
- Node.js 20 or later: check with
node --version - A signal-extraction model: a hosted API endpoint (recommended) or a local LLM (Ollama or LM Studio)
- An Alpaca brokerage account (paper mode is free)
- A Discord account with access to the signal channels you want to monitor
System requirements
EdgeProof itself is lightweight. The demanding part is the model that extracts signals from Discord text. You have two paths.
Path A: use a hosted API endpoint (recommended)
This is the default path and the one edgeproof configure guides you through first. You point EdgeProof at any OpenAI-compatible hosted provider: OpenAI, Anthropic, Gemini, or any other service that speaks the OpenAI chat API. There is nothing to install or run locally, and it works on any machine.
Set LLM_PROVIDER=openai-compatible and provide your LLM_API_BASE_URL, LLM_API_KEY, and LLM_MODEL. edgeproof configure does this for you interactively.
Common providers and their base URLs:
| Provider | Base URL |
|---|---|
| OpenAI | https://api.openai.com/v1 |
| Anthropic (Claude) | https://api.anthropic.com/v1/ |
| Gemini | https://generativelanguage.googleapis.com/v1beta/openai/ |
Extraction is a small job (pull a ticker, strike, and expiry out of a short message). A small, fast model such as gpt-4o-mini or gemini-3.5-flash is more than sufficient and costs a fraction of a cent per signal.
Trade-off to know: signal text leaves your machine and goes to the provider. If that is a concern, use Path B instead.
Path B: run a local model (private, no ongoing cost, needs a capable machine)
If you prefer to keep data on your machine, use Ollama or LM Studio. This requires more RAM than most users expect: a 20B or larger model gives reliable extraction quality, and that needs at least 16 GB of RAM on Apple Silicon or a dedicated GPU with 16 GB of VRAM. Smaller models (3B to 8B) can work for well-structured channels but tend to miss edge cases.
| Your machine | Realistic model | Notes |
|---|---|---|
| 8 GB RAM, no GPU | 3B (for example Llama 3.2 3B, quantized) | Works on clean channels. Extraction takes a few seconds on CPU. |
| 16 GB RAM, or Apple Silicon (M1 or newer) | 7B to 8B (for example Llama 3.1 8B) | Comfortable. Apple's unified memory handles this well. |
| Dedicated GPU with 16 GB+ VRAM | 20B and up | Best quality. Sub-second extraction. |
- Disk: model files are roughly 2 to 15 GB each depending on size. Keep 20 GB free if you plan to try a few.
- CPU-only works, it is just slower per signal. Because signals are not high-frequency, a few seconds of extraction latency is usually fine for smaller models.
- Windows, macOS, and Linux are all supported. Apple Silicon is the smoothest local experience.
Point EdgeProof at whichever model you pulled with OLLAMA_MODEL or LMSTUDIO_MODEL. See the Config reference.
Not sure which path to choose?
Start with Path A. Pick a small hosted model, run edgeproof configure, and verify with edgeproof doctor. If you later decide you want everything on your machine, re-run edgeproof configure and switch to a local provider.
Install
npm install -g edgeproof
Verify
edgeproof --version
edgeproof doctor
doctor checks Node version, your LLM, your configured broker's credentials and account, Discord access, and clock skew. A clean install on an unconfigured machine will show one failure (config.load), which is expected until you run edgeproof configure.
First-time setup
edgeproof configure
The wizard walks through these steps:
- Risk notice: confirms you are setting up for paper trading only
- Alpaca: paste your paper API key ID and secret; the wizard verifies account access. (The wizard sets up Alpaca paper trading only; Schwab, Robinhood, tastytrade and Interactive Brokers are configured afterwards; see Configuration.)
- Discord source: choose bot token mode (recommended) or Chrome/CDP browser mode; enter channel IDs or URL
- LLM provider: choose Claude, OpenAI, Gemini (hosted), or local (Ollama / LM Studio); enter API key and model
- Position sizing: set dollars per trade and max open positions
- Risk filters: enable or disable 0DTE and lotto trades (both off by default)
- Exit style: pick a preset (conservative, balanced, or aggressive) or customize take-profit and stop-loss knobs
- Channel format: nothing to enter. EdgeProof learns your channel's signal format automatically from the first batch of live messages on the first monitor run, then remembers it for later runs
- Write .env: shows a preview of every key (secrets masked), validates the config in memory, then writes the file
- Health checks: runs preflight checks (equivalent to
edgeproof doctor) - Offer to start: if all checks pass, offers to launch the monitor immediately
Config is written to ~/.config/edgeproof/.env (0600 permissions). This location is the EdgeProof home directory; override it with EDGEPROOF_HOME if you prefer another location. The wizard never asks for a license key. That comes later when you're ready for live trading.
Next steps
- Quickstart: start paper trading in minutes
- Configuration reference: all env vars explained
- Licensing & billing: upgrade to live trading