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

    /ws/{streams}

    WebSocket upgrade (path mode)Single (/ws/<a>) or combined (/ws/<a>/<b>/...) channel subscription. Multi-channel wraps payloads in {"stream":"...","data":...}. Wire contract: /SKILL.md.

    GETWS
    wss://ws.pinax.network/ws/{streams}
    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
    streamspathstringOne or more `<network>@<table>` selectors joined by `/`. `*` is a wildcard on either side.

    Optional parameters

    NameInTypeDescription
    filterquerystringURL-encoded SQE filter expression (alias `sqe`), e.g. `maker:0xW || taker:0xW`. Operators: `||`, `&&` (or whitespace), `!`, `( )`; `field:value` is exact equality, a bare `value` matches any column. See /SKILL.md.

    Responses

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