Ga naar de hoofdinhoud

Hyperliquid gRPC-streaming-API

Bijgewerkt op
12 juli 2026

Overzicht

Hyperliquid gRPC is een krachtige streaming-API die realtime toegang tot blockchain-gegevens mogelijk maakt via gRPC-interfaces. Het is een krachtig hulpmiddel voor ontwikkelaars die:

  • Blockchain-gegevens in realtime streamen
  • On-chain-activiteiten volgen (transacties, orders, liquidaties, funding-gebeurtenissen)
  • De statussen van de HyperCore-blockchain efficiënt opvragen
  • Volg TWAP-uitvoeringen en wijzigingen in het orderboek met minimale vertraging

De API biedt betrouwbaarheid op bedrijfsniveau en gedetailleerde controle over gegevensstromen, en ondersteunt zowel HyperCore- als HyperEVM-gegevens.

Vereisten voor het plan

Toegang tot /hypercore (JSON-RPC en WebSocket) en HyperCore gRPC-streaming vereisen een Quicknode Build-abonnement of hoger. Prijzen bekijken om te upgraden.

Protocol Buffers en gRPC

Hyperliquid gRPC maakt gebruik van Protocol Buffers (protobuf) als interface-definitietaal en als formaat voor gegevensserialisatie. Protocol Buffers is het taalonafhankelijke en platformonafhankelijke mechanisme van Google voor het serialiseren van gestructureerde gegevens.

Waarom Proto-bestanden?

Proto-bestanden (.proto bestanden) fungeren als de overeenkomst tussen client en server, waarin het volgende wordt vastgelegd:

  • Gegevensstructuren – De exacte indeling van de uitgewisselde berichten (velden, typen, verplicht versus optioneel)
  • Servicemethoden - Beschikbare RPC-aanroepen en hun verzoek-/antwoordtypen
  • Typeveiligheid – Validatie tijdens het compileren om de juistheid van gegevens te waarborgen
  • Versiebeheer – Ingebouwde achterwaartse compatibiliteit naarmate API’s zich verder ontwikkelen

Waarom gRPC gebruikmaakt van Proto-bestanden

  1. Taalonafhankelijk – Schrijf de proto-definitie één keer en genereer clientbibliotheken voor meer dan 10 talen (Go, Python, JavaScript, Java, C++, enz.). Hetzelfde proto-bestand werkt op alle platforms.
  2. Hoge prestaties - Binaire serialisatie is aanzienlijk sneller en neemt minder ruimte in beslag dan JSON. Protobuf-berichten zijn doorgaans 3 tot 10 keer kleiner dan vergelijkbare JSON-berichten, waardoor er minder bandbreedte nodig is en de latentie wordt verbeterd.
  3. Strikte typecontrole – Proto-definities zorgen ervoor dat typen tijdens het compileren strikt worden nageleefd, waardoor fouten al vóór de uitvoering worden opgespoord. Veldtypen, berichtenstructuren en opsommingen worden automatisch gevalideerd.
  4. Codegeneratie - De protoc De compiler genereert automatisch client-stubs, server-interfaces en berichtklassen op basis van proto-bestanden. Hierdoor is handmatige serialisatiecode overbodig en worden er minder fouten gemaakt.
  5. Schema-evolutie - Proto-bestanden ondersteunen zowel achterwaartse als voorwaartse compatibiliteit door middel van veldnummering. Je kunt nieuwe velden toevoegen zonder dat dit gevolgen heeft voor bestaande clients, waardoor naadloze API-updates mogelijk zijn.
  6. Ondersteuning voor streaming – Proto-definities bieden standaard ondersteuning voor unaire, server-streaming, client-streaming en bidirectionele streamingpatronen, die Hyperliquid op grote schaal gebruikt voor realtime gegevens.

Proto-bestanden gebruiken met Hyperliquid

Als je met Hyperliquid gRPC werkt, download je de proto-bestanden en gebruik je die om clientcode te genereren. Hyperliquid biedt twee proto-bestanden voor verschillende services:

1. streaming.proto - Belangrijkste blockchain-streamingdiensten:

  • Ping - Controles van de verbindingsstatus
  • StreamBlocks - Streaming van ruwe blockchain-gegevens
  • StreamData - Abonnementen op gegevens uit meerdere streams (transacties, orders, gebeurtenissen, enz.)

2. orderbook.proto - Streamingdiensten voor orderboeken:

  • StreamL2Book - Geaggregeerde gegevens over het prijsniveau
  • StreamL4Book - Gegevens op individueel bestelniveau
  • StreamBboBook - Wijzigingen in de hoogste bied- en laatkoersen aan het begin van het boek
  • StreamL2BookDiff - Incrementele veranderingen in het L2-prijsniveau
  • StreamL4BookUpdates - Getypeerde verschillen per bestelling (toevoegingen/wijzigingen/verwijderingen)
  • StreamTpslUpdates - Trigger (TP/SL) updates voor het toevoegen/verwijderen van orders
# Voorbeeld: Een Go-client genereren op basis van proto-bestanden
protoc --go_out=. --go-grpc_out=. streaming.proto
protoc --go_out=. --go-grpc_out=. orderbook.proto

De gegenereerde code biedt typveilige methoden zoals:

// Type-safe subscription with auto-complete
const request = new Subscribe({
stream_type: StreamType.TRADES,
filters: {
coin: { values: ['BTC', 'ETH'] }
}
});

Alle installatiehandleidingen in de volgende paragrafen bevatten instructies voor het downloaden van proto-bestanden en het genereren van clientcode voor jouw programmeertaal.

Toegang

Om toegang te krijgen tot Hyperliquid gRPC, moet je beschikken over een Quicknode-eindpunt waarop gRPC-streaming is ingeschakeld. gRPC-streaming is beschikbaar op zowel het Mainnet als het Testnet.

Configuratie van eindpunten en tokens

Hyperliquid gRPC werkt op poort 10000. Dit is een speciale, beveiligde poort voor gRPC-communicatie, die losstaat van het standaard Hyperliquid RPC-eindpunt. Bij het verbinden met de service moet de poort in de URL worden opgegeven:

  • Eindpunt: De naam van je gRPC-endpunt, gevolgd door .hype-mainnet.quiknode.pro (voor Mainnet) of .hype-testnet.quiknode.pro (voor Testnet) en het poortnummer 10000
    • Voorbeeld van het mainnet: voorbeeld-handleiding-demo.hype-mainnet.quiknode.pro:10000
    • Voorbeeld van een testnet: voorbeeld-handleiding-demo.hype-testnet.quiknode.pro:10000
  • Token: Je API-sleutel die je kunt genereren via het tabblad ‘Endpoint Security’ in het Quicknode-dashboard.

Voorbeeld van het mainnet:

Gegeven de URL van de HTTP-provider: https://example-guide-demo.hype-mainnet.quiknode.pro/abc123def456/, dan zouden je inloggegevens als volgt zijn:

  • Eindpunt: voorbeeld-handleiding-demo.hype-mainnet.quiknode.pro:10000
  • Token: abc123def456

Voorbeeld van een testnet:

Gegeven de URL van de HTTP-provider: https://example-guide-demo.hype-testnet.quiknode.pro/abc123def456/, dan zouden je inloggegevens als volgt zijn:

  • Eindpunt: voorbeeld-handleiding-demo.hype-testnet.quiknode.pro:10000
  • Token: abc123def456

Hier volgt een voorbeeld van hoe je dit eindpunt kunt gebruiken om verbinding te maken met Node.js:

const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');

// Voorbeeld voor het mainnet
// Voor de URL van de HTTP-provider: https://example-guide-demo.hype-mainnet.quiknode.pro/abc123def456/
const ENDPOINT = 'example-guide-demo.hype-mainnet.quiknode.pro:10000';
const TOKEN = 'abc123def456';

// Voorbeeld voor het testnet
// Voor HTTP-provider-URL: https://example-guide-demo.hype-testnet.quiknode.pro/abc123def456/
// const ENDPOINT = 'example-guide-demo.hype-testnet.quiknode.pro:10000';
// const TOKEN = 'abc123def456';

const client = new hyperliquid.Hyperliquid(EINDPUNT, inloggegevens);
const metadata = new grpc.Metadata();
metadata.toevoegen('x-token', TOKEN);

Tarieven voor gedateerde gegevens

Alle gRPC-methoden van Hyperliquid worden gefactureerd op basis van het dataverbruik:

  • Standaardmethoden (Ping, StreamBlocks, StreamData): 0,1 MB = 10 API-credits
  • OrderBook-methoden (StreamL2Book, StreamL4Book, StreamBboBook, StreamL2BookDiff, StreamL4BookUpdates, StreamTpslUpdates): 0,0165 MB = 10 API-credits

Beschikbare gRPC-methoden

Hyperliquid biedt de volgende gRPC-streamingmethoden:

Belangrijkste streamingmethoden (streaming.proto)


  • Ping - Controleer de verbinding en houd de verbinding in stand
  • StreamBlocks - Raw HyperCore-blockchaingegevens streamen
  • StreamData - Bidirectionele streaming voor transacties, orders, gebeurtenissen en meer

Methoden voor het streamen van orderboeken (orderbook.proto)


  • StreamL2Book - Stream het geaggregeerde orderboek met configureerbare prijsniveaus (L2-gegevens)
  • StreamL4Book - Stream individuele bestelgegevens met volledige momentopnames en incrementele verschillen (L4-gegevens)
  • StreamBboBook - Stream de wijzigingen in de hoogste bied- en laatkoersen aan het begin van het boek voor één of meer munten
  • StreamL2BookDiff - Stroom van incrementele L2-prijsveranderingen met volgnummers
  • StreamL4BookUpdates - Stream met getypeerde verschillen per bestelling (nieuw/bijgewerkt/verwijderd)
  • StreamTpslUpdates - Updates voor het toevoegen/verwijderen van orders via de streamtrigger (TP/SL)

StreamData-streamtypen

De StreamData -methode ondersteunt de volgende streamtypen voor realtime blockchain-gegevens:

StroomtypeBeschrijvingBelangrijkste gebruiksscenario
BEROEPENAlle uitgevoerde transacties met koers, omvang en richtingHandelsanalyses, prijsvolging
BESTELLINGENGebeurtenissen in de levenscyclus van een order (meer dan 18 statustypen, waaronder uitvoeringen en annuleringen)Orderbeheer, toezicht op de uitvoering
BOEK_UPDATESWijzigingen in het orderboek (Level 2-gegevens)Analyse van de marktdiepte, monitoring van de liquiditeit
TWAPGegevens over TWAP-uitvoering en voortgang van het algoritmeAlgoritmische handel, analyse van de uitvoering
EVENEMENTENSysteemgebeurtenissen (financiering, liquidaties, bestuur)Risicobeheer, systeemmonitoring
BLOKKENRuwe HyperCore-blockchaingegevens (alle transactietypen) – te filteren op actietype of gebruikerBlockchain-analyse, gegevensarchivering
WRITER_ACTIONSSysteemprocedures voor directe tokenoverdrachtenAsset-tracking en systeemmonitoring in verschillende omgevingen
MEMPOOL_TXSTransacties in de mempool die nog moeten worden bevestigd door een blokMEV-detectie, transactiemonitoring, analyse vóór bevestiging
ORDER_PRIORITYGenormaliseerde gebeurtenissen met betrekking tot de volgorde van prioriteitsvergoedingen uit de mempool en bevestigde blokkenMonitoring van de orderstroom op basis van prioriteitsvergoedingen, vergoedingsanalyse
GOSSIP_PRIORITEITGenormaliseerde ‘gossip’-/‘read-priority’-biedingen uit de mempool en bevestigde blokbronnenToezicht op veilingen met prioriteit voor roddels, analyse met prioriteit voor lezen

Stroomfiltering

Alle Hyperliquid gRPC-streams bieden krachtige filtermogelijkheden, zodat u alleen de gegevens ontvangt die u nodig hebt. Met filters kunt u zich richten op specifieke handelsparen, gebruikers, gebeurtenistypen en meer, waardoor het bandbreedteverbruik aanzienlijk wordt verminderd en de prestaties worden verbeterd.

Voorbeeld van een gRPC-filter:

Subscribe {
stream_type: TRADES,
filters: {
"coin": FilterValues { values: ["BTC", "ETH"] },
"side": FilterValues { values: ["B"] }
}
}

Volledige handleiding voor het filteren - Gedetailleerde documentatie met syntaxis, voorbeelden en veldreferenties voor alle streamtypen.

Streamingbeperkingen - Limieten voor het aantal gelijktijdige streams, zogenaamde filterlimieten en limieten per veldwaarde, afhankelijk van het abonnement.

Hyperliquid gRPC-verzoeken verzenden

Configuratie van de Core Streaming API

Om met verschillende programmeertalen verzoeken te doen aan de kern-streaming-API (StreamData, StreamBlocks, Ping):

Configuratie van de OrderBook Streaming API

Om orderboekgegevens te streamen met behulp van de OrderBookStreaming methoden (StreamL2Book, StreamL4Book, StreamBboBook, StreamL2BookDiff, StreamL4BookUpdates, StreamTpslUpdates):

  • Go OrderBook instellen – Volledige handleiding met stapsgewijze instructies, van het opzetten van het project tot het verzenden van verzoeken
  • Python OrderBook instellen – Volledige handleiding met stapsgewijze instructies, van het opzetten van het project tot het verzenden van verzoeken
  • Node.js OrderBook instellen – Volledige handleiding met stapsgewijze instructies, van het opzetten van het project tot het verzenden van verzoeken

We ❤️ feedback!

Mocht je opmerkingen of vragen hebben over deze documentatie, laat het ons dan weten. We horen graag van je!

Deel dit document