Skip to main content
The dexploit.v1.PriceStream gRPC service streams real-time price updates (DexTransaction) for every swap on the protocols you subscribe to. Use it for high-throughput price pipelines and strongly-typed clients in any language.
For the raw swap feed with rich server-side filtering (tokens / traders / pools / SOL amount / direction / wallet tags), use gRPC: SwapStream instead. PriceStream is protocol-scoped price updates; SwapStream is filtered UnifiedSwap records.

When to use gRPC over WebSocket

  • You need binary efficiency at high message rates.
  • You want auto-generated clients for Go, Rust, Python, Kotlin, etc.
  • Your runtime supports HTTP/2 and bidirectional streaming.

Endpoint and auth

  • Host: grpc.dexploit.dev:443 (TLS)
  • Service: dexploit.v1.PriceStream
  • Proto: price_stream.proto
TLS is required. Authenticate via gRPC metadata — x-api-key or authorization: Bearer:
Server reflection is enabled, so grpcurl grpc.dexploit.dev:443 list resolves the service set (dexploit.v1.PriceStream, dexploit.v1.SwapStream) without the .proto.

Service definition

PriceStream has a single server-streaming RPC, Subscribe. The request selects which protocols to receive; an empty list streams all of them.
price, token_balance, and sol_balance are already decimal-adjusted doubles (not raw lamports/atomic units). liquidity and creator are protocol-specific and absent on some venues.

Complete TypeScript client

Install:
Save the proto above as ./proto/price_stream.proto, then:
The keepalive options are not optional — see Reconnect & backpressure for why and what to do when the stream drops.

Other languages

Run protoc against the proto to generate clients for any language gRPC supports. Idiomatic examples for Rust (tonic), Python (grpcio), and TypeScript live in DexploitV1/Dexploit-Examples.