Substreams WebSockets service — stream decoded blocks, swaps & transfers in real time.
    Read-only preview
    You're browsing the public WebSockets reference. Sign in to open a live stream with your team's API key.

    QuickstartBeta

    Open a WebSocket, subscribe to a network@table stream, and start receiving decoded blocks in real time. Pick a stream below — then drop the URL into wscat, Node, or the browser.

    Endpoint
    WS
    1# npm i -g wscat
    2wscat -c "wss://ws.pinax.network/ws/solana@swaps?token=<YOUR_JWT>"
    No API key loaded — samples show a <YOUR_JWT> placeholder. Open Try it to paste a token and stream live.
    Available streams (loading…)live from GET /streams

    EVTstream lifecycle

    Same connection, distinguished by "type": "stream". Carries package provenance so clients can route on their own.

    Examples
    [
      {
        "type": "stream",
        "status": "started",
        "network": "solana",
        "package_name": "svm_dex",
        "package_version": "v0.5.1",
        "module_hash": "bd388f2e…"
      },
      {
        "type": "stream",
        "status": "completed",
        "network": "solana",
        "module_hash": "bd388f2e…"
      },
      {
        "type": "stream",
        "status": "error",
        "network": "solana",
        "message": "upstream deadline exceeded"
      },
      {
        "type": "stream",
        "status": "fatal",
        "network": "solana",
        "message": "module panic"
      },
      {
        "type": "stream",
        "status": "undo",
        "network": "solana",
        "last_valid_block": 350000000
      },
      {
        "type": "stream",
        "status": "dropped",
        "count": 42,
        "last_block": 350000000,
        "last_timestamp": 1715619300,
        "reason": "client buffer overflow; frames were dropped"
      }
    ]

    Fields

    typestring

    Always "stream".

    statusstring

    One of the lifecycle states below.

    networkstring

    Chain the event refers to.

    package_name, package_version, module_hashstring

    spkg provenance — delivered to every client so you can route on your own.

    messagestring

    Upstream error text. Present on error / fatal.

    last_valid_blocknumber

    Present on undo — roll back any state materialized past this block.

    count, last_block, last_timestamp, reasonmixed

    Present on dropped count frames were dropped while your buffer was full; last_block / last_timestamp mark where delivery resumed.

    Status values

    started

    The server began reading this source.

    completed

    The source reached its configured stop block.

    error

    Recoverable upstream error — see message; the server retries.

    fatal

    Unrecoverable — the source stopped. Surface message and reconnect to resume the live stream.

    undo

    Chain reorganization — roll back state past last_valid_block.

    dropped

    Your buffer overflowed and count frames were dropped. Emitted once on the first frame after the gap (connection-wide). Reconcile from last_block / last_timestamp — backfill via Substreams gRPC or drain faster.