TriportRPC

slotsUpdatesSubscribe

Last updated:

Where slotSubscribe emits one frame per processed slot, slotsUpdatesSubscribe opens the hood: it streams a slotsUpdatesNotification for every stage of a slot's life as the node sees it. The type field names the stage — firstShredReceived (the first piece of the leader's block arrived over the network), createdBank (execution began), completed (all shreds received), frozen (the bank hash was computed; a stats object reports transaction counts), dead (the slot was abandoned — a skipped or failed block), optimisticConfirmation (a supermajority of stake voted on it), and root (finalized). Each event carries the slot, a nanosecond-scale timestamp from the node's clock, and for createdBank the parent slot.

It takes no parameters, and it is a firehose: expect several events per slot, i.e. ten-plus frames per second sustained. The audience is correspondingly specialized — latency engineering and cluster observability rather than application logic. Use it to measure block-propagation timing (firstShredReceivedcompleted deltas), to detect skipped slots and leader failures in real time via dead events, to trade on optimisticConfirmation (which lands well before full finality), or to build per-slot pipelines that need to distinguish "replayed" from "confirmed" from "rooted" states precisely.

Handle it defensively. The method is flagged unstable in stock Solana: event names and semantics can change between releases, and not every RPC setup exposes it — Triport serves it on /ws/sol, but code written against it is less portable than the stable families. Events describe the serving node's pipeline, so timings differ between nodes, and during forks you will see updates for slots that later die. There is no replay: a reconnect loses the intervening events and you must resubscribe (session-scoped, as always). If all you need is "a new slot happened" or "finality advanced", the far cheaper slotSubscribe / rootSubscribe are the right tools. Stop the stream with slotsUpdatesUnsubscribe.

Parameters

This method takes no parameters.

Returns

slotsUpdatesSubscribe return value
FieldType
resultobject

Examples

curl https://triport.io/sol \
  -X POST -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <api-key>' \
  -d '{"id":1,"method":"slotsUpdatesSubscribe","params":[],"jsonrpc":"2.0"}'
const res = await fetch("https://triport.io/sol", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer <api-key>" },
  body: JSON.stringify({
  "id": 1,
  "method": "slotsUpdatesSubscribe",
  "params": [],
  "jsonrpc": "2.0"
}),
});
const data = await res.json();
import requests
resp = requests.post(
    "https://triport.io/sol",
    headers={"Authorization": "Bearer <api-key>"},
    json={"id":1,"method":"slotsUpdatesSubscribe","params":[],"jsonrpc":"2.0"},
)
print(resp.json())

Usage

  1. Transport: WebSocket.
  2. Networks: mainnet, devnet, testnet.
  3. Credit cost: 1 per call.

FAQ

What does slotsUpdatesSubscribe do?
Subscribes to fine-grained slot lifecycle events — shreds received, bank created, frozen, dead, optimistically confirmed, rooted — for every slot the node observes.
How many credits does slotsUpdatesSubscribe cost?
slotsUpdatesSubscribe costs 1 credit(s) per call on Triport by default.
Is slotsUpdatesSubscribe available over WebSocket?
Yes, slotsUpdatesSubscribe supports WebSocket.