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.
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#
// 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.
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.
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.