Platform
›Self-Hosting
Self-Hosting
Yes — and it maps cleanly onto an existing homelab.
Must run 24/7
The indexer and oracle watcher must run 24/7 at low latency, because this product operates in seconds, not minutes.
| Component | Requirement |
|---|---|
| Uniswap event indexer | Go process, low latency, must not miss a block |
| Oracle staleness watcher | Go process, per-second tick |
| PostgreSQL + TimescaleDB + pgvector | One instance, three jobs: time-series, relational, vector retrieval |
| Redis | Verdict cache, second-level TTL |
| Cron worker | Overnight Gap Report, feed generation, threshold recalibration |
| Halt poller | Polls exchange halt feeds during market hours |
| RiskFeed publisher | On-chain score publication |
All of the above fits in one Go binary, one Postgres, and one Redis. Public feeds are served directly from that same binary — no separate static host required.
Not needed yet
- Dedicated RPC node — Alchemy suffices until volume justifies the cost
- Local LLM inference — the workload is bursty and latency-sensitive; API inference is cheaper and faster until there is constant volume
- Separate vector database —
pgvectoron the existing Postgres is enough - Kubernetes — one binary; systemd is sufficient
What adds significant load
The LP Toxicity Dashboard requires per-swap attribution against the oracle mid at execution time. That pushes storage and CPU well beyond what the core risk engine needs.