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. Each Subscribe stream counts against your key’s concurrent-stream allowance, which it shares with SwapStream and the /ws WebSocket: Free 1, Developer 10, Pro 50, Enterprise unlimited. A stream past the cap on the server that receives it returns RESOURCE_EXHAUSTED. The allowance is counted per streaming server today, so while your streams are spread across servers you may be allowed more than your cap; do not rely on that, it will be enforced across all servers. See Streaming caps.

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.