Vendor & Tools Reference
Current reference for the external services, APIs, and operational tools used by QGTMAI. This document distinguishes between the canonical production path that is live today and the optional or pre-launch integrations that still exist in the repo.
Canonical Production Path
Alpaca Markets — Broker and Market Data
- What: Broker execution plus live and historical equity/ETF market data
- URL: https://alpaca.markets
- Account type: Paper trading by default; live trading remains gated
- Used by:
qgtm_api,qgtm_execution,qgtm_live - Notes:
- Paper endpoint:
https://paper-api.alpaca.markets - Live endpoint:
https://api.alpaca.markets QGTM_LIVE_TRADING_ENABLED=falseremains the final safety gate
GitHub — Source Control and Delivery Control Plane
- URL: https://github.com/QGTMAI/trading
- Used for: Code hosting, PR review, CI, deployment orchestration, release audit
- Current role:
- Web deploy workflow publishes the terminal to Cloudflare Pages
- API and daemon deploy workflow updates the DigitalOcean droplet
- Secrets are injected from GitHub Actions into the droplet
.envduring deploy
Cloudflare — Web Hosting, DNS, and Edge Perimeter
- URL: https://dash.cloudflare.com
- Products used:
- Pages for
qgtmai.com - Pages for docs hosting (
qgtm-docs) - DNS and edge perimeter controls
- Used by:
qgtm_web, docs - Notes:
qgtmai.comis the primary product domainapi.qgtmai.comis the production API host- Cloudflare Workers and R2 remain repo-supported capabilities, but they are not the documented canonical production runtime for the API/daemon today
DigitalOcean — API and Daemon Runtime
- URL: https://www.digitalocean.com
- Current host: Droplet
142.93.1.195 - Used by: API runtime, daemon runtime, local Redis container
- Runtime pattern:
- Code syncs into
/opt/trading - Docker Compose manages runtime containers
systemdunits superviseqgtm-api,qgtm-daemon, andqgtm-redis- Notes:
- This is the canonical production path for the current paper-first stack
- The repo still contains alternative infra manifests, but those are not the primary operating truth
Redis — Hot State and Heartbeats
- Current runtime: Redis container started by
docker composeon the droplet - Used by:
qgtm_api,qgtm_live, websocket/event state - Notes:
- Redis is required for the production heartbeat/control plane
- Local development also uses Redis from
infra/compose/docker-compose.yml
Data Providers
FRED — Macro Data
- URL: https://fred.stlouisfed.org
- Used for: Rates, DXY proxies, breakevens, volatility and macro series
- Used by:
qgtm_data, macro and regime research layers
CFTC / Nasdaq Data Link — Positioning Data
- URLs:
- https://www.cftc.gov/
- https://data.nasdaq.com/
- Used for: Commitments of Traders positioning inputs
- Used by:
qgtm_data, positioning and flow strategies
EIA — Energy Macro Context
- URL: https://www.eia.gov/opendata/
- Used for: Energy inventory and macro context series
- Used by:
qgtm_data
USDA — Agriculture Research Inputs
- URL: https://quickstats.nass.usda.gov
- Used for: Agriculture datasets in the broader research surface
- Notes:
- Relevant to the broad commodity research layer, not the PM-only runtime core
NOAA — Weather and Alternative Inputs
- URL: https://www.ncdc.noaa.gov/cdo-web/
- Used for: Weather-linked alternative data and research support
- Used by:
qgtm_altdata
Databento — Optional Institutional Market Data
- URL: https://databento.com
- Used for: Backup or higher-granularity data workflows
- Status: Optional / not part of the canonical production path
Polygon.io — Optional Backup Market Data
- URL: https://polygon.io
- Used for: Supplemental validation and backup market data access
- Status: Optional / not part of the canonical production path
Repo-Supported but Not Canonical Today
PostgreSQL
- Role: Metadata, backtest metadata, subscriber/business surfaces
- Status: Supported in repo and local compose, but not the documented current production source of truth for the paper-first PM runtime
Cloudflare R2
- Role: Artifact or object storage for research outputs and model artifacts
- Status: Supported capability; not the main operational dependency for the current production paper stack
qgtm_signals, Discord, Telegram
- Role: Signal publication and delivery channels
- Status: Repo-supported and partially wired, but the paid/public signal business remains pre-launch
Stripe, Clerk, Resend
- Role: Payments, auth, and transactional email
- Status: Pre-launch business stack; not required for the current paper-first operating system
Monitoring and Observability
Grafana Cloud
- URL: https://grafana.com/products/cloud/
- Role: Dashboards, alerting, and metrics visualization
- Status: Supported/expected monitoring surface
Sentry
- URL: https://sentry.io
- Role: Error tracking for API and web runtime
- Status: Optional but recommended
Development Tooling
uv
- URL: https://github.com/astral-sh/uv
- Role: Python environment and dependency management
Docker
- URL: https://www.docker.com/
- Role: Local infra, API packaging, daemon/runtime containers
DuckDB
- URL: https://duckdb.org
- Role: Embedded analytical store and research queries
Polars
- URL: https://pola.rs
- Role: Fast dataframe operations in feature and research paths
Production URLs
| Surface | URL |
|---|---|
| Web terminal | https://qgtmai.com |
| API | https://api.qgtmai.com |
| Docs | Cloudflare Pages project qgtm-docs |
| Source control | https://github.com/QGTMAI/trading |
Operating Notes
- Treat the DigitalOcean droplet + Cloudflare Pages split as the current production truth.
- Treat GitHub Actions secrets plus droplet
.envas the current secrets path. - Treat signal monetization vendors as pre-launch until the compliance and launch gates in docs/compliance.md are fully closed.