dexploit.v1.SwapStream gRPC service delivers Solana DEX swaps in real time, filtered server-side. Use it when you want typed clients + flow control without parsing raw transactions.
Endpoint
- Host:
grpc.dexploit.dev:443(TLS) - Service:
dexploit.v1.SwapStream - Auth:
x-api-keymetadata header (orauthorization: Bearer …) - Proto:
swap_stream.proto
RPCs
StreamLive(StreamLiveRequest) → stream UnifiedSwap
Live tail. Streams every new swap that matches your filter until the connection closes.
StreamFromCursor(StreamFromCursorRequest) → stream UnifiedSwap
Reserved for v1.1. Currently returns UNIMPLEMENTED. Will replay history from a Solana slot cursor + transition to live.
Filter shape
Tier caps
The cap is one allowance per key, shared with
PriceStream and the /ws WebSocket (see Streaming caps). Exceeding it on the server that receives the stream returns RESOURCE_EXHAUSTED with a message like stream cap exceeded; tier=developer cap=10. The allowance is counted per streaming server today, so a key spread across servers may be allowed more than its cap; do not rely on that, it will be enforced across all servers.
wallet_tags tier gating
If a Free/Developer caller passes a non-empty wallet_tags filter, the server silently drops the tag filter and proceeds with the rest of the filter. The response carries an initial metadata header:
Backpressure
Each open stream gets a 1024-event server-side buffer. If a client falls behind by more than 1024 events, the server cancels the stream with:Error codes
Compared to WebSocket /ws/swaps
Use WebSocket for browser clients. Use gRPC for indexers, backend services, and anywhere typed clients + flow control matter.

