Aller au contenu

S'abonner à Hyperliquid (Edge)

En me connectant à DoubleZero, j'accepte les Conditions d'utilisation de DoubleZero. Veuillez noter que les données sont destinées à un usage interne uniquement et ne peuvent pas être retransmises (voir Section 2(e)).

Les flux Hyperliquid transmettent les données de marché via DoubleZero Edge en multicast UDP. Quatre flux principaux couvrent les perps natifs Hyperliquid (hl) et les perps trade.xyz (xyz) :

Flux Description
hyper-hl-tob Meilleure offre/demande et impressions de trades pour les perps Hyperliquid
hyper-hl-mbo Carnet d'ordres complet ordre par ordre pour les perps Hyperliquid (ajouts, annulations, exécutions)
hyper-xyz-tob Meilleure offre/demande et impressions de trades pour les perps trade.xyz
hyper-xyz-mbo Carnet d'ordres complet ordre par ordre pour les perps trade.xyz (ajouts, annulations, exécutions)

Aperçu du service : Hyperliquid.

Quel chemin dois-je prendre ?

Mode Ce que vous obtenez Quand l'utiliser
Edge Connect doublezero-edge-connect — JSON décodé via WebSocket Le plus rapide pour obtenir un flux de cotations utilisable
Multicast natif S'abonner sur doublezero1, décoder le binaire UDP vous-même (ou avec les parseurs de référence) Contrôle total du fil

Étapes communes d'abord : pare-feu, métro, candidature et paiement (Étapes 1–3). Après approbation, l'Étape 4 se divise — Edge Connect ou natif. Ne les mélangez pas sur le même hôte.

Vous voulez qu'une IA fasse l'installation avec vous ? Connectez le DoubleZero MCP et demandez-lui de vous guider à travers Hyperliquid Edge.


Étape 1 : Configuration de DoubleZero

Configuration complète

Suivez les instructions de configuration pour installer et configurer le client DoubleZero sur l'hôte.

Si vous avez déjà configuré DoubleZero sur l'hôte pour une utilisation native, assurez-vous que le client est à jour :

sudo apt update && sudo apt install doublezero

Configurer le pare-feu

Autorisez le trafic GRE, BGP, PIM et les flux Hyperliquid sur doublezero1. Les ports UDP Hyperliquid se situent dans 20000–20999 (Top-of-Book et Market-by-Order marché, référence et snapshot). Autorisez également UDP 5765 pour les heartbeats DoubleZero sur le tunnel. Ouvrez la plage de flux pour que les nouveaux flux ne nécessitent pas de modification supplémentaire du pare-feu. Voir Adresses des flux.

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 marché / référence / snapshot (tous les flux)
sudo iptables -A INPUT -i doublezero1 -p udp --dport 20000:20999 -j ACCEPT
# Heartbeats 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 marché / référence / snapshot (tous les flux)
sudo ufw allow in on doublezero1 to any port 20000:20999 proto udp
# Heartbeats DoubleZero
sudo ufw allow in on doublezero1 to any port 5765 proto udp

UFW ne dispose pas du protocole pim. Le PIM sortant est autorisé par la politique sortante par défaut d'UFW ; si vous refusez le trafic sortant, ajoutez une règle brute pour PIM dans /etc/ufw/before.rules.

Vous pouvez restreindre ces règles aux seuls ports des flux auxquels vous êtes abonné (voir Adresses des flux).


Étape 2 : Choisir un métro

Identifiez l'emplacement à la latence la plus faible depuis la machine qui recevra le flux :

doublezero latency

Notez le métro / la ville du résultat à la latence la plus faible. Vous sélectionnerez cette ville dans le formulaire de candidature. Consultez la carte topologique pour voir comment les métros sont regroupés.

Tarification

Les flux sont tarifés par région de livraison. Le prix dépend de l'endroit où les données sont livrées, pas de l'emplacement de l'acheteur. Un forfait Tokyo livre aux récepteurs de Tokyo ; la livraison ailleurs nécessite le forfait Global. Deux hôtes récepteurs (IP) sont inclus par flux, par métro.

Flux Tokyo /mois Global /mois
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 $
Tous les flux (offre groupée ~30 % de réduction) 5 500 $ 9 000 $

Étape 3 : Soumettre la demande

  1. Rendez-vous sur https://doublezero.xyz/edge/subscribe.
  2. Sélectionnez Hyperliquid et les flux dont vous avez besoin.
  3. Sélectionnez la ville (métro) dont vous avez besoin. Utilisez le tableau ci-dessus et doublezero latency pour choisir.
  4. Complétez le formulaire de candidature.

Vous assignerez un identifiant DoubleZero (clé existante, ou en générer une nouvelle) à chaque demande de flux sur la page comptes. La clé privée correspondante doit être présente sur la machine qui recevra le flux — n'assignez pas une clé publique dont vous ne pouvez pas déplacer la clé privée vers cet hôte.

Vous choisissez un métro et une clé publique. Vous ne liez pas d'IP publique au moment de la candidature. Pendant l'abonnement, vous pouvez déplacer l'accès entre les IP au sein des métros choisis.

Vous serez contacté avec des instructions supplémentaires dans les meilleurs délais (comptez 1 à 3 jours ouvrables).


Étape 4 : Se connecter après approbation

Après avoir soumis la candidature, vous recevrez une facture ; une fois celle-ci payée, connectez-vous sur chaque machine approuvée. L'accès est activé à la date de début choisie. Choisissez un chemin ci-dessous.

4a. Edge Connect

Si un doublezerod hôte est déjà en cours d'exécution (depuis la configuration), lui et le daemon propre du conteneur tentent tous deux de lier le port UDP 44880, donc le daemon du conteneur s'arrête juste après le démarrage. L'installateur propose d'arrêter et de désactiver le daemon hôte, et le fait sans demander lorsque DZ_ASSUME_YES=1 est défini. Pour le faire vous-même :

sudo systemctl stop doublezerod
sudo systemctl disable doublezerod

Installez doublezero-edge-connect après approbation et paiement. Le pont rejoint DoubleZero à l'intérieur d'un conteneur --network host et sert du JSON décodé sur ws://<host>:8081.

curl -fsSL https://get.doublezero.xyz/connect | bash

Toutes les commandes doublezero passent par le conteneur, pas par le CLI de l'hôte :

docker exec doublezero-edge-connect doublezero status

Tip

Vous pouvez créer un alias pour faciliter les commandes vers le conteneur. Cet exemple permet à dz status de fonctionner comme doublezero status à l'intérieur du conteneur :

echo "alias dz='sudo docker exec -it doublezero-edge-connect doublezero'" >> ~/.bashrc && source ~/.bashrc

Attendez-vous à BGP Session Up et à la souscription de votre/vos groupe(s) edge-hyper-….

Puis ouvrez le WebSocket (ws://127.0.0.1:8081). Contrat : PROTOCOL.md. Guide complet : runbook MCP hyperliquid-edge.

4b. Multicast natif

Sur l'hôte qui détient la clé privée assignée (avec le doublezerod hôte en cours d'exécution), abonnez-vous aux flux que vous avez achetés :

doublezero connect multicast --subscribe-feed <feed-code>

Plusieurs flux, séparés par des espaces :

doublezero connect multicast --subscribe-feed hyper-hl-tob hyper-hl-mbo hyper-xyz-tob hyper-xyz-mbo

Vérifiez le tunnel :

doublezero status

Attendez-vous à BGP Session Up sur le bon réseau DoubleZero. Ensuite, décodez le fil vous-même — voir Décoder le flux.


Facturation

Les places sont facturées mensuellement. Surveillez la date d'expiration de la place.

Vous devez payer la facture avant l'expiration de la place. Le non-paiement entraîne la suppression de la place.


Adresses des flux

L'IP détermine le groupe multicast. Le port détermine le flux sur ce groupe. Vérifiez les valeurs IP en direct avec :

doublezero multicast group list
Flux Description Groupe multicast Marché Référence Snapshot Spécification
hyper-hl-tob Meilleure offre/demande et impressions de trades pour les perps Hyperliquid 233.84.178.27 20000 20001 — top-of-book
hyper-hl-mbo Carnet d'ordres complet ordre par ordre pour les perps Hyperliquid 233.84.178.28 20010 20011 20012 market-by-order
hyper-xyz-tob Meilleure offre/demande et impressions de trades pour les perps trade.xyz 233.84.178.29 20100 20101 — top-of-book
hyper-xyz-mbo Carnet d'ordres complet ordre par ordre pour les perps trade.xyz 233.84.178.30 20110 20111 20112 market-by-order

Chaque flux a sa propre adresse de groupe multicast. Ports : référence = marché + 1 ; snapshot (MBO uniquement) = marché + 2. Nous recommandons de lier marché et référence ensemble ; pour MBO, liez également le snapshot.

Vous pouvez également voir de petits paquets UDP sur le port 5765 sur doublezero1 — ce sont des heartbeats DoubleZero, pas des données de marché.

Les trames sont en binaire little-endian de taille fixe. Les perps natifs Hyperliquid utilisent source_id=1 ; les perps trade.xyz utilisent source_id=7.


Décoder le flux

Edge Connect

Si vous utilisez doublezero-edge-connect, le flux est déjà décodé en JSON via WebSocket — ignorez le décodage manuel.

Utiliser un parseur de référence

edge-multicast-ref fournit des abonnés multicast qui décodent le format fil et le republient en JSON sur un socket Unix :

Consultez le README principal pour le pipeline complet.

Écrire votre propre décodeur

Décodez selon edge-feed-spec. Commencez par l'en-tête de trame, puis les agencements de messages pour le flux que vous recevez.

En-tête du tunnel GRE — XDP

Le trafic de données de marché livré sur le réseau est encapsulé en GRE au dernier kilomètre. Sur doublezero1, le client présente du multicast UDP brut. Si vous terminez le GRE vous-même (par ex. un pipeline XDP), supprimez l'en-tête GRE avant d'envoyer les données à votre décodeur. Voir gre-decap.


Dépannage

Si vous rencontrez un problème non couvert ici, veuillez nous contacter via votre canal existant avant de tenter un contournement. Si vous n'avez pas de canal, consultez Support.

Assurez-vous que votre client est à jour

sudo apt update && sudo apt install doublezero

Le tunnel ne se lance pas

  1. Edge Connect : exécutez status dans le conteneur — docker exec doublezero-edge-connect doublezero status. Le doublezero status de l'hôte échoue souvent alors que le flux fonctionne (le conteneur possède le daemon). Confirmez que le doublezerod de l'hôte est arrêté.
  2. Natif : vérifiez que le daemon hôte est en cours d'exécution : sudo systemctl status doublezerod
  3. Vérifiez que les règles de pare-feu sont en place (GRE, BGP, PIM, ports UDP Hyperliquid et 5765 sur doublezero1)
  4. Confirmez que la facture pour cette place est payée et que la date de début est passée
  5. Exécutez connect sur le chemin que vous avez choisi (4a ou 4b) avec la clé qui correspond à la page des comptes
  6. Attendez-vous à BGP Session Up depuis le même endroit où vous avez exécuté connect (conteneur ou hôte)

Pas de paquets après l'abonnement

  1. Confirmez que vous êtes abonné : doublezero user list
  2. Confirmez que le flux apparaît sous vos groupes : doublezero multicast group list
  3. Capturez sur le tunnel, par ex. Hyperliquid TOB : sudo tcpdump -ni doublezero1 host 233.84.178.27
  4. Préférez lier marché et référence ensemble (et snapshot pour MBO) pour le flux souhaité

Flux acheté manquant (Edge Connect)

Si un flux acheté est absent de doublezero status, abonnez-vous à l'intérieur du conteneur :

docker exec doublezero-edge-connect \
  doublezero connect multicast --subscribe-feed <feed-code>

Plusieurs flux, séparés par des espaces :

docker exec doublezero-edge-connect \
  doublezero connect multicast --subscribe-feed \
    hyper-hl-tob hyper-hl-mbo hyper-xyz-tob hyper-xyz-mbo

Place expirée ou supprimée

Les places sont mensuelles. Si la facture n'est pas payée avant l'expiration, la place est supprimée et le tunnel ne restera pas actif.

"Multicast user already exists"

Vous avez déjà un abonnement actif via un chemin différent. Déconnectez-vous d'abord, puis réessayez connect :

  • Edge Connect : docker exec doublezero-edge-connect doublezero disconnect
  • Natif : doublezero disconnect

Puis réessayez doublezero connect multicast --subscribe-feed <feed-code> sur le même chemin (conteneur ou hôte).

Spécifique à AWS

Désactivez la vérification source/destination sur l'ENI de l'instance. Sans cela, le multicast encapsulé en GRE peut être rejeté.