Transaction Filters
Subscribe to transaction updates with filtering by type, status, and account involvement.SubscribeRequestFilterTransactions
Include vote transactions. Set
false to exclude, true to include only votes.Include failed transactions. Set
false to exclude, true to include only failures.Match a specific transaction signature.
Include transactions that use any account from this list (logical OR).
Exclude transactions that use any account from this list.
Require all accounts from this list to be present in the transaction (logical AND).
If all fields are empty, all transactions are broadcast. Otherwise, fields work as logical AND, and values within arrays as logical OR.
Transaction Update Messages
SubscribeUpdateTransaction (Full)
Slot containing the transaction.
SubscribeUpdateTransactionStatus (Lightweight)
Use thetransactions_status field in SubscribeRequest (same filter format) to receive only status updates without full transaction data:
Slot containing the transaction.
Transaction signature.
Whether this is a vote transaction.
Transaction index within the block.
Error details (null on success).
Transaction Examples
All Non-Vote Transactions
Transactions Involving a Specific Program
Track a Specific Signature
Successful-Only Transactions for Multiple Programs
Slot Filters
Subscribe to real-time slot status updates from the validator.SubscribeRequestFilterSlots
When
true, only receive slot updates matching the commitment level set in the SubscribeRequest. By default, slots are sent for all commitment levels.When
true, include interslot updates (e.g., first shred received, bank created).Slot Status Enum
| Status | Value | Description |
|---|---|---|
SLOT_PROCESSED | 0 | Slot processed by the node |
SLOT_CONFIRMED | 1 | Slot confirmed by supermajority |
SLOT_FINALIZED | 2 | Slot finalized |
SLOT_FIRST_SHRED_RECEIVED | 3 | First shred of slot received |
SLOT_COMPLETED | 4 | All shreds received for slot |
SLOT_CREATED_BANK | 5 | Bank created for slot |
SLOT_DEAD | 6 | Slot is dead (will not be confirmed) |
Slot Update Message
The slot number.
Parent slot number (optional).
Current status of the slot.
Error message if the slot is dead (optional).
Slot Examples
Confirmed Slots Only
All Slot Updates (Including Interslot)
Block Filters
Subscribe to full block data or lightweight block metadata.SubscribeRequestFilterBlocks
Filter transactions and accounts within blocks that involve any account from this list.
Include all transactions in block updates.
Include all account updates in block updates.
Include all entries in block updates.
SubscribeRequestFilterBlocksMeta
Block metadata has no filter parameters — all block metadata is broadcast. Use this for lightweight block tracking when you don’t need full transaction or account data.Block Update Messages
SubscribeUpdateBlock (Full)
Block slot number.
Block hash.
Block rewards.
Block timestamp.
Block height.
Parent slot number.
Parent block hash.
Number of transactions executed.
Array of
SubscribeUpdateTransactionInfo (if included).Number of accounts updated.
Array of
SubscribeUpdateAccountInfo (if included).Number of entries.
Array of
SubscribeUpdateEntry (if included).SubscribeUpdateBlockMeta (Lightweight)
Block slot number.
Block hash.
Block rewards.
Block timestamp.
Block height.
Parent slot number.
Parent block hash.
Number of transactions executed.
Number of entries.
Block reconstruction is based on
BlockMeta. Blocks generated on validators may always have zero entries due to a known Solana issue.Block Examples
Full Blocks with Transactions
Block Metadata Only
Blocks Filtered by Account
Only include transactions and accounts involving a specific program:Entry Filters
Subscribe to ledger entries as they are produced by the validator.SubscribeRequestFilterEntry
Currently, entry filters have no configurable parameters — all entries are broadcast when subscribed.Entry Update Message
Slot containing the entry.
Entry index within the slot.
Number of hashes since the previous entry.
Entry hash (SHA-256).
Number of transactions in this entry.
Starting index of transactions within the block (available since Solana v1.18; always 0 on v1.17).
Entry Example
Subscribe to All Entries
Deshred Transactions
TheSubscribeDeshred RPC provides access to transactions received when entries are formed from shreds, before any execution occurs. No TransactionStatusMeta is available since the transaction has not been executed yet. Address lookup tables are resolved, so both static account keys and dynamically loaded addresses are available for filtering.
SubscribeDeshredRequest
Named deshred transaction subscription filters.
Optional ping for keep-alive. Contains
id (int32).SubscribeRequestFilterDeshredTransactions
Include vote transactions.
Include transactions that use any account from this list (logical OR).
Exclude transactions that use any account from this list.
Require all accounts from this list to be present (logical AND).
SubscribeUpdateDeshred
Each update contains the matched filter names and one update type:Names of the filters that matched this update.
Server-side timestamp when the update was created.
SubscribeUpdateDeshredTransaction
Slot in which the transaction was received.
SubscribeUpdateDeshredTransactionInfo
Transaction signature.
Whether this is a vote transaction.
Transaction data (message and signatures).
Dynamically loaded writable addresses from address lookup tables.
Dynamically loaded readonly addresses from address lookup tables.
