GET /v1/stream/tx
Track transaction lifecycle updates via SSE.
This endpoint is designed to give you earlier transaction visibility than raw RPC polling alone. In practice, landed is an optimistic early signal and processed is the first dependable fast status for most integrations.
Request
http
GET /v1/stream/tx?signatures=sig1,sig2&events=landed,confirmed
x-api-key: YOUR_API_KEYBrowser-native EventSource cannot set custom headers. For browser clients, use ?apiKey=YOUR_API_KEY instead.
Query parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
signatures | string | Yes | — | Comma-separated base58 signatures (1-10) |
events | string | No | landed | Comma-separated subset of landed, processed, confirmed, finalized |
Events
| Event | Description |
|---|---|
ready | Watchers are registered and the stream is armed for the requested signatures |
tx | Transaction status update |
error | Setup error for one signature; other signatures keep streaming |
Example payload
text
event: tx
data: {"signature":"2rFf8q...","status":"confirmed","slot":411007599}Status values
| Status | Meaning |
|---|---|
landed | Seen in a block shred; fastest optimistic landing signal |
processed | The transaction has been observed as processed by the system; for most consumers this is the first dependable fast status |
confirmed | RPC confirmed |
finalized | RPC finalized |
failed | Transaction errored on chain |
timeout | Only for landed-only mode when the fast landing signal never appeared |
verify-timeout | The requested confirmation tier was not reached before server timeout |
Notes
- The stream closes after every requested signature has reached its terminal state.
landedis an optimistic signal. A transaction can be seen early and still fail or never reach stronger confirmation.- If you only need a fast, reliable post-submit state transition, prefer
processed. - Consumers that care about watcher readiness can wait for the
readyevent before assuming the stream is armed. - For resilience, fall back to
GET /v1/tx/:signaturewhen SSE is unavailable.
Example
bash
curl -N -H "x-api-key: YOUR_API_KEY" \
"https://api.venum.dev/v1/stream/tx?signatures=2rFf8qgx...&events=landed,processed"
# Browser/EventSource fallback
curl -N \
"https://api.venum.dev/v1/stream/tx?signatures=2rFf8qgx...&events=landed,processed&apiKey=YOUR_API_KEY"Errors
| Status | Description |
|---|---|
400 | Missing signatures, invalid event name, or more than 10 signatures |
401 | Missing or invalid API key |
429 | SSE connection limit exceeded |
503 | Commitment-tier polling unavailable on this server |
Rate Limit
Counts against the SSE streams connection limit in Plans & Rate Limits.
