Docs
Docs
Home
Getting Started
Agent Tooling
CLI
Supported Chains
Acala
Aptos
Arbitrum
Arc
Asset Hub
Astar
Avalanche
Base
Berachain
Bifrost
Binance Smart Chain
Bittensor
Blast
Boba Network
Bridge Hub
Celo
Centrifuge
Chiliz
Cronos
Enjin
Ethereum
Etherlink
Flow EVM Gateway
Gnosis
Hydration
Hyperliquid
Immutable
Ink
IoTeX
Kusama
Linea
LISK
Manta Atlantic
Manta Pacific
Mantle
MegaETH
Monad
Movement
Neuroweb
opBNB
Optimism
Plasma
Polkadot
Polygon
Pulsechain
Robinhood
Ronin
Scroll
Sonic
Starknet
Taiko
Tempo
Sui
TRON
Unichain
Viction
World Chain
XDC Network
XX Network
Zetachain
zkSync Era
Zora
Supported ChainsHyperliquidHyperliquid HyperCoregRPC Streaming API

StreamActiveAssetCtx - Stream Perp Market Context

Subscribe to current funding, price, volume, and open-interest context for one Hyperliquid perp over V3 gRPC.

Hyperliquid RPC endpoint: endpoint URLs, plans and pricing.

StreamActiveAssetCtx sends the current market context for one default-DEX perp as a live Info-derived view rather than a block-cadence stream.

Request and opening behavior

coin is required and must identify a perp on the default DEX. Spot and outcome identifiers return INVALID_ARGUMENT. A ready subscription immediately receives the current context, then a complete replacement whenever that coin's values change.

time identifies when the endpoint made the update available, not a block or upstream timestamp. premium and mid_px are unset, and impact_pxs is empty, when a market has no book.

Go request
package main

import (
    "context"
    "crypto/tls"
    "log"
    "os"

    pb "example.com/hyperliquid-v3-client/gen/v3"
    "google.golang.org/grpc"
    "google.golang.org/grpc/credentials"
    "google.golang.org/grpc/metadata"
)

func main() {
    endpoint, apiKey := os.Getenv("HYPERLIQUID_GRPC_ENDPOINT"), os.Getenv("DWELLIR_API_KEY")
    if endpoint == "" || apiKey == "" {
        log.Fatal("set HYPERLIQUID_GRPC_ENDPOINT and DWELLIR_API_KEY")
    }
    conn, err := grpc.NewClient(endpoint, grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{MinVersion: tls.VersionTLS12})))
    if err != nil {
        log.Fatal(err)
    }
    defer conn.Close()
    ctx := metadata.AppendToOutgoingContext(context.Background(), "x-api-key", apiKey)
    stream, err := pb.NewMarketStreamingClient(conn).StreamActiveAssetCtx(ctx, &pb.ActiveAssetCtxRequest{Coin: "BTC"})
    if err != nil {
        log.Fatal(err)
    }
    for {
        update, err := stream.Recv()
        if err != nil {
            log.Fatal(err)
        }
        log.Printf("coin=%s update_time=%d funding=%s open_interest=%s mark=%s", update.GetCoin(), update.GetTime(), update.GetFunding(), update.GetOpenInterest(), update.GetMarkPx())
    }
}

Delivery and recovery

Subscriber lag drops obsolete snapshots in-band. An upstream outage produces silence. UNAVAILABLE means no fresh data is available, FAILED_PRECONDITION means the stream is unavailable on this endpoint, and ABORTED means its state reset or the coin is no longer tracked. See the gRPC overview for shared errors.

Related reference: StreamAllMids.

StreamAllMids - Stream All Perp Mid Prices

Subscribe to current full mid-price maps for the default Hyperliquid perp DEX over the V3 gRPC API.

agentEnableDexAbstraction

Decode Hyperliquid `agentEnableDexAbstraction` payloads for agent DEX settings, returned through Dwellir's read-only L1 gRPC API.

On this page

Request and opening behaviorDelivery and recovery