Installation
Requirements
- Node.js 20 or later: check with
node --version - A signal-extraction model: a local LLM (Ollama or LM Studio), or any OpenAI-compatible API endpoint
- 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: run a local model (private, free, needs a capable machine)
Extraction is a small job (pull a ticker, strike, and expiry out of a short message), so you do not need a large model. A 3B to 8B instruct model is plenty.
| Your machine | Realistic model | Notes |
|---|---|---|
| 8 GB RAM, no GPU | 3B (for example Llama 3.2 3B, quantized) | Works. 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 8 GB+ VRAM | 8B and up | Fastest. Sub-second extraction. |
- Disk: model files are roughly 2 to 6 GB each. Keep 10 GB free.
- CPU-only works, it is just slower per signal. Because signals are not high-frequency, a few seconds of extraction latency is usually fine.
- 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.
Path B: use a hosted OpenAI-compatible endpoint (no local hardware)
If your machine can't run a local model, or you don't want to, set LLM_PROVIDER=openai-compatible and point LLM_API_BASE_URL, LLM_API_KEY, and LLM_MODEL at any OpenAI-compatible service. This removes the hardware requirement entirely.
Trade-offs to know: extraction requests (which include the Discord message text) leave your machine and go to that provider, and you pay that provider per token. Local models keep everything on your machine at zero marginal cost. Pick based on whether privacy or convenience matters more to you.
Not sure your machine can handle it?
Install Ollama, pull a small model, and run edgeproof doctor after setup. The llm.connectivity check confirms the model responds. If extraction is too slow for your taste, drop to a smaller model or switch to Path B.
Install
npm install -g edgeproof
Verify
edgeproof --version
edgeproof doctor
doctor checks Node version, your LLM, Alpaca credentials, 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 init.
First-time setup
edgeproof init
The wizard walks through 8 steps:
- LLM: choose provider (Ollama, LM Studio, or compatible API) and verify connectivity
- Alpaca: paste your API key ID and secret, verify account access
- Discord source: choose browser-scraping (puppeteer) or bot token mode
- Signal channels: enter the Discord channel URLs or IDs to monitor
- Trading guardrails: position size budget, max contracts per underlying, stop-loss defaults
- Notifications: optional Telegram bot for trade alerts
- Review: shows your final
.envbefore writing - Smoke test: runs
edgeproof doctorone more time to confirm everything is green
Config is written to .env in your working directory (0600 permissions). 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