Skip to content

Quickstart

Slipstream speaks Yellowstone gRPC on the wire, so any Yellowstone client streams from it unchanged. If you already have one running, skip to switching providers: it is an endpoint and a token.

endpoints · one region per subscription
Frankfurthttps://slipstream-fra2.reflow.xyzShare of slots reported first, —first · sample
NA-Eastcoming soon
NA-Westcoming soon
Asiacoming soon

1. Get a key#

Sign in with GitHub or Discord; the first sign-in creates your account. On the dashboard's Slipstream page, start the one-hour trial of Shared gRPC, or pick a plan. Then copy a key from API Keys. Keys start with rf_live_, and every key works on every subscription your account holds.

2. Open a stream#

accounts · owner filter
// npm i @triton-one/yellowstone-grpc
import Client, { CommitmentLevel } from '@triton-one/yellowstone-grpc'

const client = new Client('https://slipstream-fra2.reflow.xyz', process.env.SLIPSTREAM_KEY, undefined)
await client.connect()

const stream = await client.subscribe({
  accounts: { amm: { account: [], owner: ['675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8'], filters: [] } },
  slots: {}, transactions: {}, transactionsStatus: {}, blocks: {}, blocksMeta: {}, entry: {},
  accountsDataSlice: [],
  commitment: CommitmentLevel.PROCESSED,
})

stream.on('data', (u) => u.account && console.log(u.account.slot, u.account.account?.pubkey))

The key travels as the Yellowstone x-token; the endpoint is TLS on port 443. Updates arrive as the request's filters match, each tagged with the names of the filters it matched.

3. Filter#

A subscribe request carries named filters, evaluated on our side so only what matches crosses the wire. Combine any of these on one stream; filters has the full list.

accounts.accountpubkey[]Exact accounts.
accounts.ownerpubkey[]Every account owned by a program, the usual way to watch an AMM.
accounts.filtersmemcmp · datasize · lamportsMatch inside account data or on its size or balance. Stack several.
transactionsaccountInclude · accountRequiredTransactions that touch any, or all, of the listed accounts.
commitmentprocessed · confirmed · finalizedShreds arrive before any of these: see the shred stream.

4. Resume after a reconnect#

Slipstream keeps the last 300 slots for reconnects and catch-up. Set fromSlot on the request to the last slot you processed and the stream replays from there before it goes live. Replay & resume has the detail.

Replay is a window, not an archive. A slot older than the window cannot be replayed. If you need history, keep your own store: the stream is the fastest source, not the record.

5. Shreds and decoded transactions#

These are not streams you open: we push them over UDP to an address you set in the dashboard. Start with the shred stream.