Hyperliquid TP/SL-Heatmap
Ein Echtzeit-Browser-Dashboard, das ruhende Hyperliquid-TP/SL-Trigger-Aufträge als Preisniveau-Cluster visualisiert, die an den aktuellen Geld- und Briefkursen aus den Quicknode Hypercore gRPC-Streams ausgerichtet sind.

Übersicht
Diese App stellt eine Verbindung her zu Der Hyperliquid-gRPC-Endpunkt von Quicknode um TP/SL-Auslöseereignisse live zu streamen (StreamTpslUpdates) sowie die besten Geld- und Briefkurse (StreamBboBook). Offene Orders werden in konfigurierbare Preisintervalle gruppiert und über WebSocket an den Browser übertragen, wo eine Canvas-basierte Heatmap den aggregierten Auslösedruck auf jeder Preisstufe in Echtzeit darstellt.
Die App verfügt über einen integrierten Demo-Modus, der einen synthetischen Feed verwendet, sodass Sie die Benutzeroberfläche ohne Anmeldedaten erkunden können.
Diese Beispiel-App dient ausschließlich zu Bildungs- und Demonstrationszwecken.
Architektur
Browser (React + Canvas)
▲
│ WebSocket
│
Node.js HTTP + WebSocket-Server
│
├── gRPC: StreamTpslUpdates ──┐
│ ├── Quicknode Hyperliquid gRPC-Endpunkt
└── gRPC: StreamBboBook ──────┘
Funktionen
- Echtzeit-TP/SL-Heatmap: Preisbereichs-Cluster, die live aus Quicknode-gRPC-Streams aktualisiert werden
- BBO-Anker: Aktuelle Geld- und Briefkurse, die zur Veranschaulichung der Marktlage auf der Heatmap eingeblendet werden
- TP/SL-Mix-Anzeige: In jedem Feld wird ein kleiner grüner bzw. roter Marker angezeigt, der den Anteil von Take-Profit bzw. Stop-Loss angibt
- Unterstützung mehrerer Vermögenswerte: Überwachen Sie BTC, ETH, SOL, HYPE und alle anderen Hyperliquid-Perp-Symbole gleichzeitig
- Einstellbare Schaufelbreite:
BUCKET_SIZE_PCTskaliert die Eimergröße im Verhältnis zum aktuellen Mittelpreis - Demo-Modus: wird mit einem synthetischen Feed ausgeführt, wenn Anmeldedaten fehlen oder
DEMO_MODE=true - Gesundheitsendpunkt:
GET /healthGibt den Serverstatus und den aktuellen Betriebsmodus als JSON zurück
Voraussetzungen
- Quicknode-Konto mit einem Hyperliquid-Endpunkt (gRPC-Zugriff erforderlich)
- Node.js v18+
- pnpm
Projektstruktur
proto/
orderbook.proto # gRPC-Dienstdefinition
src/
client/
App.tsx # Coin-Auswahl und WebSocket-Client
HeatmapCanvas.tsx # Canvas-basierter Heatmap-Renderer
main.tsx # React-Einstiegspunkt
styles.css # App-Stile
server/
cluster-store.ts # Clusterbildung von Bestellungen und BBO-Zustand
config.ts # Laden von Umgebungsvariablen
demo.ts # Synthetischer Demo-Feed
grpc.ts # gRPC-Client-Einrichtung
server.ts # HTTP- und WebSocket-Server
streams.ts # Live-gRPC-Stream-Verbindungen
shared/
types.ts # Gemeinsame TypeScript-Typen
Umgebungsvariablen
Kopieren .env.example zu .env und geben Sie Ihre Anmeldedaten ein:
# https://your-endpoint.hype-mainnet.quiknode.pro:10000
QUICKNODE_GRPC_ENDPOINT=Ihr-Endpunkt.hype-mainnet.quiknode.pro:10000
QUICKNODE_GRPC_TOKEN=Ihr-Auth-Token
TARGET_COINS=BTC,ETH,SOL
DEFAULT_COIN=BTC
BUCKET_SIZE_PCT=0,75
DEMO_MODE=false
PORT=8787
| Variable | Beschreibung |
|---|---|
QUICKNODE_GRPC_ENDPOINT | Ihr Quicknode Hyperliquid gRPC-Endpunkt (Host:Port) |
QUICKNODE_GRPC_TOKEN | Authentifizierungstoken für den gRPC-Endpunkt |
TARGET_COINS | Durch Kommas getrennte Liste der zu überwachenden Hyperliquid-Perp-Symbole |
DEFAULT_COIN | Welche Münze soll beim Laden angezeigt werden (muss in TARGET_COINS) |
BUCKET_SIZE_PCT | Spanne in Prozent des Mittelkurses (z. B. 0.75 = ~500 $ bei BTC nahe 64.000 $) |
DEMO_MODUS | Einstellen auf wahr um den Demo-Modus unabhängig von den Anmeldedaten zu erzwingen |
HAFEN | HTTP-Server-Port (Standard: 8787) |
Erste Schritte
1. Das Repo klonen
git clone https://github.com/quiknode-labs/qn-guide-examples.git
cd qn-guide-examples/sample-dapps/hyperliquid-tpsl-heatmap
2. Abhängigkeiten installieren
pnpm installieren
3. Umgebung konfigurieren
cp .env.example .env
Öffnen .env und festlegen QUICKNODE_GRPC_ENDPOINT und QUICKNODE_GRPC_TOKEN mit Ihren Anmeldedaten für den Quicknode Hyperliquid-Endpunkt. Wenn Sie diese weglassen, wird die App automatisch im Demo-Modus gestartet.
4. Starten Sie die App
pnpm dev
Öffnen Sie http://localhost:8787 in Ihrem Browser.
Vorschau

- Das Repository forken
- Erstelle einen Feature-Branch:git checkout -b feature/amazing-feature
- Speichere deine Änderungen:git commit -m "Tolle Funktion hinzufügen"
- Deinen Branch pushen:git push origin feature/amazing-feature
- Erstelle einen Pull Request.