Sottoscrivere Hyperliquid (Edge)
Connettendomi a DoubleZero accetto i Termini d'Uso di DoubleZero. Si prega di notare che i dati sono esclusivamente per uso interno e non possono essere ritrasmessi (vedi Sezione 2(e)).
I feed Hyperliquid distribuiscono dati di mercato tramite DoubleZero Edge come multicast UDP. Quattro feed principali coprono i perps nativi di Hyperliquid (hl) e i perps di trade.xyz (xyz):
| Feed | Descrizione |
|---|---|
hyper-hl-tob |
Miglior bid/offer e stampe di trade per i perps Hyperliquid |
hyper-hl-mbo |
Book completo ordine per ordine per i perps Hyperliquid (aggiunte, cancellazioni, esecuzioni) |
hyper-xyz-tob |
Miglior bid/offer e stampe di trade per i perps trade.xyz |
hyper-xyz-mbo |
Book completo ordine per ordine per i perps trade.xyz (aggiunte, cancellazioni, esecuzioni) |
Panoramica del servizio: Hyperliquid.
Quale percorso devo seguire?
| Modalità | Cosa ottieni | Quando usarla |
|---|---|---|
| Edge Connect | doublezero-edge-connect — JSON decodificato su WebSocket |
Il più veloce per ottenere uno stream di quotazioni utilizzabile |
| Multicast nativo | Sottoscrivi su doublezero1, decodifica l'UDP binario autonomamente (o con i parser di riferimento) |
Controllo completo del protocollo |
Prima i passaggi condivisi: firewall, metro, richiesta e pagamento (Passi 1–3). Dopo l'approvazione, il Passo 4 si divide — Edge Connect o nativo. Non mescolarli sullo stesso host.
Vuoi che un'IA ti guidi nell'installazione? Connetti il DoubleZero MCP e chiedi di accompagnarti nella configurazione di Hyperliquid Edge.
Passo 1: Configurazione DoubleZero
Configurazione completa
Segui le istruzioni di configurazione per installare e configurare il client DoubleZero sull'host.
Se hai già configurato DoubleZero sull'host per uso nativo, assicurati che il client sia aggiornato:
sudo apt update && sudo apt install doublezero
Configurazione del Firewall
Consenti il traffico GRE, BGP, PIM e dei feed Hyperliquid su doublezero1. Le porte UDP di Hyperliquid si trovano nell'intervallo 20000–20999 (Top-of-Book e Market-by-Order market, reference e snapshot). Consenti anche la porta UDP 5765 per gli heartbeat di DoubleZero sul tunnel. Apri la banda dei feed in modo che nuovi feed non richiedano ulteriori modifiche al firewall. Vedi Indirizzi dei feed.
iptables:
sudo iptables -A OUTPUT -p gre -j ACCEPT
sudo iptables -A INPUT -i doublezero1 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero1 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero1 -p pim -j ACCEPT
# Hyperliquid market / reference / snapshot (tutti i feed)
sudo iptables -A INPUT -i doublezero1 -p udp --dport 20000:20999 -j ACCEPT
# Heartbeat DoubleZero
sudo iptables -A INPUT -i doublezero1 -p udp --dport 5765 -j ACCEPT
UFW:
sudo ufw allow proto gre from any to any
sudo ufw allow in on doublezero1 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero1 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
# Hyperliquid market / reference / snapshot (tutti i feed)
sudo ufw allow in on doublezero1 to any port 20000:20999 proto udp
# Heartbeat DoubleZero
sudo ufw allow in on doublezero1 to any port 5765 proto udp
UFW non supporta il protocollo pim. Il PIM in uscita è consentito dalla policy predefinita di UFW per il traffico in uscita; se blocchi il traffico in uscita, aggiungi una regola raw per PIM in /etc/ufw/before.rules.
Puoi restringere queste regole alle sole porte dei feed a cui ti sottoscrivi (vedi Indirizzi dei feed).
Passo 2: Scegliere un metro
Identifica la località con la latenza più bassa dalla macchina che riceverà il feed:
doublezero latency
Annota il metro / città dal risultato con la latenza più bassa. Selezionerai quella città nel modulo di richiesta. Consulta la mappa della topologia per vedere come sono raggruppati i metro.
Prezzi
I feed sono tariffati per regione di consegna. Il prezzo dipende da dove i dati vengono consegnati, non da dove si trova l'acquirente. Un pacchetto Tokyo consegna ai ricevitori di Tokyo; la consegna altrove richiede il pacchetto Global. Due host riceventi (IP) sono inclusi per feed, per metro.
| Feed | Tokyo /mese | Global /mese |
|---|---|---|
| Hyperliquid perps Top-of-Book (L1) | $900 | $1.500 |
| Hyperliquid perps Market-by-Order (L4) | $3.000 | $5.000 |
| trade.xyz perps Top-of-Book (L1) | $900 | $1.500 |
| trade.xyz perps Market-by-Order (L4) | $3.000 | $5.000 |
| Tutti i feed (bundle ~30% di sconto) | $5.500 | $9.000 |
Passo 3: Inviare la richiesta
- Vai su https://doublezero.xyz/edge/subscribe.
- Seleziona Hyperliquid e i feed di cui hai bisogno.
- Seleziona la città (metro) di cui hai bisogno. Usa la tabella sopra e
doublezero latencyper scegliere. - Completa il modulo di richiesta.
Assegnerai un DoubleZero ID (chiave esistente, o generane una nuova) a ciascuna richiesta di feed nella pagina accounts. La chiave privata corrispondente deve essere presente sulla macchina che riceverà il feed — non assegnare una pubkey la cui chiave privata non puoi trasferire su quell'host.
Scegli un metro e una pubkey. Non associ un IP pubblico al momento della richiesta. Durante la sottoscrizione puoi spostare l'accesso tra IP all'interno dei metro scelti.
Sarai contattato con ulteriori istruzioni in tempi ragionevoli (prevedi 1-3 giorni lavorativi).
Passo 4: Connettersi dopo l'approvazione
Dopo aver inviato la richiesta, riceverai una fattura; una volta pagata, connettiti su ciascuna macchina approvata. L'accesso viene abilitato nella data di inizio scelta. Scegli un percorso qui sotto.
4a. Edge Connect
Se sull'host doublezerod è già in esecuzione (dalla configurazione), sia esso che il daemon del container tentano di fare il bind sulla porta UDP 44880, quindi il daemon del container termina subito dopo l'avvio. L'installer offre di fermare e disabilitare il daemon dell'host, e lo fa senza chiedere quando DZ_ASSUME_YES=1 è impostato. Per farlo manualmente:
sudo systemctl stop doublezerod
sudo systemctl disable doublezerod
Installa doublezero-edge-connect dopo l'approvazione e il pagamento. Il bridge si connette a DoubleZero all'interno di un container --network host e serve JSON decodificato su ws://<host>:8081.
curl -fsSL https://get.doublezero.xyz/connect | bash
Tutti i comandi doublezero passano attraverso il container, non la CLI dell'host:
docker exec doublezero-edge-connect doublezero status
Tip
Puoi creare un alias per comandi semplificati verso il container. Questo esempio consente a dz status di funzionare come doublezero status all'interno del container:
echo "alias dz='sudo docker exec -it doublezero-edge-connect doublezero'" >> ~/.bashrc && source ~/.bashrc
Aspettati BGP Session Up e i tuoi gruppi edge-hyper-… sottoscritti.
Poi apri il WebSocket (ws://127.0.0.1:8081). Contratto: PROTOCOL.md. Guida completa: runbook MCP hyperliquid-edge.
4b. Multicast nativo
Sull'host che possiede la chiave privata assegnata (con doublezerod dell'host in esecuzione), sottoscrivi i feed che hai acquistato:
doublezero connect multicast --subscribe-feed <feed-code>
Feed multipli, separati da spazio:
doublezero connect multicast --subscribe-feed hyper-hl-tob hyper-hl-mbo hyper-xyz-tob hyper-xyz-mbo
Verifica il tunnel:
doublezero status
Aspettati BGP Session Up sulla rete DoubleZero corretta. Poi decodifica il protocollo autonomamente — vedi Decodificare il feed.
Fatturazione
I posti sono addebitati mensilmente. Controlla la data di scadenza del posto.
Devi pagare la fattura prima della scadenza del posto. Il mancato pagamento comporta la rimozione del posto.
Indirizzi dei feed
L'IP seleziona il gruppo multicast. La porta seleziona lo stream su quel gruppo. Verifica i valori IP correnti con:
doublezero multicast group list
| Feed | Descrizione | Gruppo multicast | Market | Reference | Snapshot | Spec |
|---|---|---|---|---|---|---|
hyper-hl-tob |
Miglior bid/offer e stampe di trade per i perps Hyperliquid | 233.84.178.27 |
20000 |
20001 |
— | top-of-book |
hyper-hl-mbo |
Book completo ordine per ordine per i perps Hyperliquid | 233.84.178.28 |
20010 |
20011 |
20012 |
market-by-order |
hyper-xyz-tob |
Miglior bid/offer e stampe di trade per i perps trade.xyz | 233.84.178.29 |
20100 |
20101 |
— | top-of-book |
hyper-xyz-mbo |
Book completo ordine per ordine per i perps trade.xyz | 233.84.178.30 |
20110 |
20111 |
20112 |
market-by-order |
Ogni feed ha il proprio indirizzo di gruppo multicast. Porte: reference = market + 1; snapshot (solo MBO) = market + 2. Consigliamo di associare market e reference insieme; per MBO, associa anche snapshot.
Potresti inoltre vedere piccoli pacchetti UDP sulla porta 5765 su doublezero1 — heartbeat di DoubleZero, non dati di mercato.
I frame sono binari a dimensione fissa in formato little-endian. I perps nativi Hyperliquid usano source_id=1; i perps trade.xyz usano source_id=7.
Decodificare il feed
Edge Connect
Se stai usando doublezero-edge-connect, il feed è già decodificato come JSON su WebSocket — salta la decodifica manuale.
Usa un parser di riferimento
edge-multicast-ref fornisce subscriber multicast che decodificano il formato binario e lo ripubblicano come JSON su un socket Unix:
go/topofbook-parserper Top-of-Book & Tradesgo/marketbyorder-parserper Market-by-Order
Consulta il README principale per la pipeline completa.
Scrivi il tuo decoder
Decodifica secondo edge-feed-spec. Inizia con l'header del frame, poi i layout dei messaggi per il feed che stai ricevendo.
Header del tunnel GRE — XDP
Il traffico dei dati di mercato consegnato sulla rete è incapsulato in GRE nell'ultimo miglio. Su doublezero1, il client presenta multicast UDP semplice. Se termini GRE autonomamente (es. una pipeline XDP), rimuovi l'header GRE prima di passare i dati al tuo decoder. Vedi gre-decap.
Risoluzione dei problemi
Se incontri un problema non trattato qui, contattaci tramite il tuo canale esistente prima di cercare soluzioni alternative. Se non hai un canale, vedi Supporto.
Assicurati che il client sia aggiornato
sudo apt update && sudo apt install doublezero
Il tunnel non si attiva
- Edge Connect: esegui status nel container —
docker exec doublezero-edge-connect doublezero status. Il comandodoublezero statussull'host spesso fallisce mentre il feed funziona correttamente (il container possiede il daemon). Conferma chedoublezerodsull'host sia fermo. - Nativo: verifica che il daemon dell'host sia in esecuzione:
sudo systemctl status doublezerod - Verifica che le regole del firewall siano configurate (GRE, BGP, PIM, porte UDP di Hyperliquid e
5765sudoublezero1) - Conferma che la fattura per questo posto sia pagata e che la data di inizio sia passata
- Esegui connect sul percorso che hai scelto (4a o 4b) con la chiave che corrisponde alla pagina accounts
- Aspettati
BGP Session Updallo stesso luogo in cui hai eseguito connect (container o host)
Nessun pacchetto dopo la sottoscrizione
- Conferma di essere sottoscritto:
doublezero user list - Conferma che il feed appaia nei tuoi gruppi:
doublezero multicast group list - Cattura sul tunnel, es. Hyperliquid TOB:
sudo tcpdump -ni doublezero1 host 233.84.178.27 - Preferisci associare market e reference insieme (e snapshot per MBO) per il feed desiderato
Feed acquistato mancante (Edge Connect)
Se un feed acquistato non compare in doublezero status, sottoscrivilo all'interno del container:
docker exec doublezero-edge-connect \
doublezero connect multicast --subscribe-feed <feed-code>
Feed multipli, separati da spazio:
docker exec doublezero-edge-connect \
doublezero connect multicast --subscribe-feed \
hyper-hl-tob hyper-hl-mbo hyper-xyz-tob hyper-xyz-mbo
Posto scaduto o rimosso
I posti sono mensili. Se la fattura non viene pagata prima della scadenza, il posto viene rimosso e il tunnel non resterà attivo.
"Multicast user already exists"
Hai già una sottoscrizione attiva attraverso un percorso diverso. Disconnettiti prima, poi riprova a connetterti:
- Edge Connect:
docker exec doublezero-edge-connect doublezero disconnect - Nativo:
doublezero disconnect
Poi riprova doublezero connect multicast --subscribe-feed <feed-code> sullo stesso percorso (container o host).
Specifico per AWS
Disabilita il controllo sorgente/destinazione sull'ENI dell'istanza. Senza questo, il multicast incapsulato in GRE potrebbe essere scartato.