GET /v1/stream/tx
Track transaction lifecycle updates via SSE.
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 |
|---|---|
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 | RPC processed |
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.
- Open the stream before submission if you need the earliest landing signal.
- 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,confirmed"
# Browser/EventSource fallback
curl -N \
"https://api.venum.dev/v1/stream/tx?signatures=2rFf8qgx...&events=landed,confirmed&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.
