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
    Streams

    /stream

    WebSocket upgrade (query mode)Combined-streams form. Payloads always wrapped in {"stream":"...","data":...}.

    GETWS
    wss://ws.pinax.network/stream
    This is a WebSocket upgrade route — a GET that switches protocols (HTTP 101). Connect with a WebSocket client, not a plain HTTP request. Wire contract: SKILL.md.

    Required parameters

    NameInTypeDescription
    streamsquerystringOne or more `<network>@<table>` selectors joined by `/`.

    Optional parameters

    NameInTypeDescription
    filterquerystringURL-encoded SQE filter expression (alias `sqe`), e.g. `maker:0xW || taker:0xW`. See /SKILL.md.

    Responses

    StatusContent-TypeDescription
    101Switching Protocols — WebSocket open
    400Invalid `streams` / filter. The feed is live-only; `from_timestamp` / `from_block` (replay) were removed — use Substreams to backfill.
    503max_clients reached