Skip to main content

Quickstart

Stream live Hyperliquid depth in three steps.

1. Subscribe

You need an active Hyperliquid Live subscription. In the app, open Settings → Subscriptions, make sure you have enough Alpha Credits, and subscribe. See Subscriptions for details.

2. Create an API key

Open Settings → API Keys → Create. Copy the key immediately — it is shown only once and looks like this (placeholder — not a real key):

aqk_live_v1_1234567890abcdef1234567890abcdef_ExampleSecret_not_real_replace_with_yours

Store it as a secret. If it leaks, revoke it in the app (access stops within ~30 seconds) and create a new one.

3. Connect

Send the key in the Authorization header and pick a symbol + channel.

# Requires: brew install websocat (or use any WebSocket client)
websocat "wss://feed.alphaquick.io/ws?symbol=BTC&channel=tob100&source=combined" \
-H "Authorization: Bearer aqk_live_v1_…"

You will receive an initial snapshot followed by live delta updates:

{"type":"snapshot","symbol":"BTC","rows":[{"dir":0,"price":"63350.0","volume":"8.99"},],"ts":1786954142846}
{"type":"delta","symbol":"BTC","rows":[{"dir":1,"price":"63424.0","volume":"14.28"}],"ts":1786954142857}

dir: 0 is a bid, dir: 1 is an ask. A row with volume 0 means that price level was removed. See the WebSocket API for the full frame reference.

Node.js example

import WebSocket from 'ws';

const ws = new WebSocket(
'wss://feed.alphaquick.io/ws?symbol=BTC&channel=tob100&source=combined',
{ headers: { Authorization: `Bearer ${process.env.AQ_API_KEY}` } }
);

ws.on('message', (data) => {
const msg = JSON.parse(data);
if (msg.type === 'snapshot') { /* replace your book */ }
else if (msg.type === 'delta') { /* apply the rows */ }
});

That's it — you're streaming. Next: the WebSocket API reference.