Skip to content

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_KEY

Browser-native EventSource cannot set custom headers. For browser clients, use ?apiKey=YOUR_API_KEY instead.

Query parameters

FieldTypeRequiredDefaultDescription
signaturesstringYesComma-separated base58 signatures (1-10)
eventsstringNolandedComma-separated subset of landed, processed, confirmed, finalized

Events

EventDescription
txTransaction status update
errorSetup error for one signature; other signatures keep streaming

Example payload

text
event: tx
data: {"signature":"2rFf8q...","status":"confirmed","slot":411007599}

Status values

StatusMeaning
landedSeen in a block shred; fastest optimistic landing signal
processedRPC processed
confirmedRPC confirmed
finalizedRPC finalized
failedTransaction errored on chain
timeoutOnly for landed-only mode when the fast landing signal never appeared
verify-timeoutThe 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/:signature when 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

StatusDescription
400Missing signatures, invalid event name, or more than 10 signatures
401Missing or invalid API key
429SSE connection limit exceeded
503Commitment-tier polling unavailable on this server

Rate Limit

Counts against the SSE streams connection limit in Plans & Rate Limits.