Own Solana RPC + Own Drift DLOB (Orderbook). Main rule:
keep the RPC box lean, put “trading services” on your second VPS.
Target: min 10 markets
Overview
Yes — you can build a professional Drift trading stack with your own Solana RPC + your own DLOB,
but you’ll want a few supporting services around them. The main rule:
keep the RPC box lean, put “trading services” on your second VPS.
On the Solana RPC server (dedicated) — keep it lean
Must-have
Solana validator/RPC node
The base RPC your whole stack reads from / sends transactions through.
WireGuard
So RPC is reachable only privately (your second VPS + your admin).
Firewall (nftables/ufw)
Block RPC ports on public NIC; allow them only on WireGuard.
Time sync (chrony)
For stable networking, logs, and trading timestamps.
Monitoring exporters
node_exporter (CPU/RAM/disk/iowait/network)
solana-exporter (RPC/validator health via RPC)
Log + disk hygiene
logrotate/journald limits
NVMe health (smartmontools/nvme-cli)
alerts on disk filling / iowait
Optional but “pro”
Geyser streaming (Yellowstone gRPC plugin)
This gives ultra-low-latency streams of accounts/tx/slots compared to polling RPC.
Useful if you build your own real-time analytics pipeline.
For Drift specifically, you can run without Geyser at the beginning,
but it’s the next step when you want “faster-than-RPC” feeds.
On the second VPS (your trading / app box) — where “pro trading” lives
Must-have
Drift DLOB server (self-hosted)
This maintains the Drift decentralized orderbook view “fresh off your RPC” and exposes
REST + WS + gRPC/polling, plus health/metrics.
(Optional but common) Drift Gateway
A self-hosted API gateway to interact with Drift; handy for standardized API endpoints
around trading / market info.
Cache (Redis)
Cache top-of-book, funding, oracle snapshots, risk checks; protects your DLOB + RPC
from bursty bot load.
App VPS: DLOB server + Redis + Prometheus/Grafana + your bot services
For min 10 markets, expect the first scaling pressure to come from
continuous streaming + decoding + caching (DLOB + Redis + your strategy/execution),
and from your RPC’s WS load. Next step after the minimal set is usually:
better streaming (Geyser) or more RAM/NVMe depending on bottleneck.