Skip to main content
Use an official SDK to connect securely, send the first control message, decode wire v2, and preserve Pulse close codes.

SDKs

Before you begin

In the dashboard, select the access and location your application will use. Copy both values from Endpoints → Streaming → Pulse:
  • The Pulse target in host:port form
  • The token for that same location
Choose an account or program to watch. The examples use an explicit filter so they work with access plans that do not allow an unfiltered feed.
Keep the token in a secret manager in production. Do not put it in the target URL, source code, or logs.

Receive signatures

Sig-first sends the slot, per-connection sequence number, and signature for each matching transaction.
Create a project and install the SDK:
Replace src/main.rs with:
Run it:
Each line represents a transaction observed by Pulse. A signature is not a landing or confirmation result; use your normal Solana confirmation flow when that distinction matters.

Receive decoded transactions

Open a new connection and select full-tx when you need transaction bodies. The examples request alt enrichment so decoded v0 transactions can include loaded writable and readonly addresses when available.
Full-tx frames remain ordered once they enter the QUIC stream. A bounded server queue can drop transactions before that point. After a disconnect—or whenever your application must reconstruct complete state—query RPC for the missing state.

Filter transactions

The common helper in each SDK builds an account_include filter: Pulse also supports exclude and require predicates. All configured predicates apply together. An empty include and required set requests an unfiltered feed, which may not be available for the selected access. One connection carries either sig-first or full-tx. Open a second connection if the application needs both feeds. You can update the active filter without changing feeds.

Next steps