Ir al contenido principal
Volver a las aplicaciones de ejemplo

Hyperliquid Trading Dashboard

A dashboard for real-time whale trades, liquidations, and trending tokens from Hyperliquid using Quicknode's Hypercore gRPC.

Marco de trabajo/biblioteca de front-end:
Next.js
Idioma:
TypeScript
Herramienta de compilación/servidor de desarrollo:
npm
Vista previa de la aplicación de ejemplo

Resumen

This sample app streams every trade from Hyperliquid via Quicknode's Hypercore gRPC and filters for whale trades, liquidations, and trending tokens. gRPC bidirectional streaming delivers data with sub-second latency, with no polling required.


Recursos adicionales

For video walkthrough of building the app, check out our video

Arquitectura

      Quicknode Hypercore gRPC
(stream every trade)


┌─────────────────┐
│ Worker │
│ Filter + Agg │
└────────┬────────┘

┌────────────┼────────────┐
▼ ▼ ▼
Whales Liquidations Trending
(≥$50K) (1m buckets)
│ │ │
└────────────┼────────────┘

┌─────────────────┐
│ PostgreSQL │
└────────┬────────┘


┌─────────────────┐
│ Next.js │
│ [15m/30m/1h] │
└────────┬────────┘


┌─────────────────┐
│ Dashboard │
└─────────────────┘

Características


  • Whale trade detection (≥$50K notional, configurable)
  • Liquidation tracking with full metadata (user, mark price, method)
  • Trending tokens ranked by trade count with buy/sell breakdown
  • Time window filtering (15m, 30m, 1h)
  • Custom coin tracking, any Hyperliquid token
  • Volume sparklines with trend indicators
  • Explorer deep links for trade verification
  • 1-minute aggregation buckets for efficient trending queries

Requisitos previos


  • Node.js 20+ installed
  • A PostgreSQL instance, you can use a platform like Aiven to spin up a hosted instance. We'll need this for DATABASE_URL.
  • Quicknode account with Hypercore gRPC endpoint. We'll need this for GRPC_ENDPOINT y AUTH_TOKEN.

Primeros pasos

1. Clone and install

git clone https://github.com/quiknode-labs/qn-guide-examples.git

cd qn-guide-examples/sample-dapps/hyperliquid-trading-dashboard

npm install

2. Start PostgreSQL

If you are using a hosted PostgreSQL instance, skip this step.

npm run db:up

3. Configure environment

export DATABASE_URL="postgresql://postgres:postgres@localhost:5432/hypercore"
export GRPC_ENDPOINT="your-endpoint.hype-mainnet.quiknode.pro:10000"
export AUTH_TOKEN="your_quicknode_token"

Note: Just paste these with values in two terminal windows. You'll need one window for the Next.js app and another for the database worker.

4. Initialize database

npm run db:push

5. Start the worker

npm run worker

This starts the worker process that:

  • Connects to Quicknode HyperCore gRPC
  • Streams live trading events
  • Stores raw trades and aggregated data in PostgreSQL
  • Tracks whale activity and liquidations

You should see:

Ping ok: { count: 1 }
Ingester running
WHALE_MIN_USD: 50000

6. Start the dashboard

npm ejecutar dev

Open http://localhost:3000

Database

PostgreSQL with Prisma ORM. Two tables:

  • TradeEvent - Individual whale trades and liquidations
  • TradeAggMinute - Per-minute aggregations for trending

Common commands:

npm run db:up       # Start PostgreSQL container
npm run db:push # Apply schema
npm run db:studio # Open Prisma Studio

Puntos de conexión de la API


  • GET /api/whales?coin=BTC&windowMin=15&thresholdUsd=50000 - Whale trades
  • GET /api/liquidations?windowMin=15 - Liquidations
  • GET /api/trending?windowMin=15 - Trending coins
  • GET /api/sparklines?windowMin=15&coins=BTC,ETH,SOL - Volume sparklines
  • GET /api/health - Health check

Vista previa

Vista previa

Más información


Aportaciones y comentarios
¡Nos encantaría conocer tu opinión y agradecemos cualquier aportación a esta aplicación de ejemplo!
Para informar de problemas o enviar comentarios, abre una incidencia en GitHub en el qn-guide-ejemplos repositorio.
Para colaborar, sigue estos pasos:
  1. Hacer un fork del repositorio
  2. Crear una rama de características:
    git checkout -b feature/amazing-feature
  3. Guarda los cambios:
    git commit -m "Añadir una función increíble"
  4. Envía tu rama:
    git push origin feature/amazing-feature
  5. Abre una solicitud de incorporación de cambios.