gRPCSubscribe

solana-mainnet.nodit.io:443 geyser.Geyser/Subscribebidirectional streaming

Streams account, slot, transaction, block, and entry updates in real time according to your filters. Because the stream is bidirectional, you can keep the connection open and send a new SubscribeRequest to replace filters or send a ping.

  • Fields within a filter are combined with AND, and values within an array with OR. Leaving every field of a filter empty streams all updates of that type.
  • Sending a new request replaces all existing filters with the filters in the new request.
  • Some load balancers close idle streams, so reply to the server's ping updates with a ping request to keep the connection alive.
  • Set from_slot to resume from that slot after a short disconnection. Use SubscribeReplayInfo to find the earliest slot available for replay.
Request Body
clientobject

Filter label. Choose any key name (e.g., client); updates matching this filter carry the same label in their filters field.

accountstring[]

Account addresses to stream updates for (OR).

ownerstring[]

Streams updates for accounts owned by these programs (OR).

filtersobject[]

Account data conditions, combined with AND. Set exactly one of the fields below in each item.

memcmpobject

Matches accounts whose data equals the given value at the offset.

offsetstring (uint64)

Byte offset to start comparing at.

bytesstring

Value to compare (bytes, base64). Set only one of bytes, base58, or base64.

base58string

Value to compare (Base58 string).

base64string

Value to compare (Base64 string).

datasizestring (uint64)

Matches accounts whose data size in bytes equals this value.

token_account_stateboolean

When true, matches only valid SPL token accounts.

lamportsobject

Balance (lamports) comparison. Set only one of eq, ne, lt, or gt.

eqstring (uint64)

Balance equal to this value.

nestring (uint64)

Balance not equal to this value.

ltstring (uint64)

Balance less than this value.

gtstring (uint64)

Balance greater than this value.

nonempty_txn_signatureboolean

When true, streams only account updates caused by a transaction (updates with a txn_signature).

clientobject

Filter label. Choose any key name (e.g., client); updates matching this filter carry the same label in their filters field.

filter_by_commitmentboolean

When true, streams only slot updates that reach the request's commitment level. Omit to receive slot updates for every status.

interslot_updatesboolean

When true, also streams intermediate statuses such as SLOT_FIRST_SHRED_RECEIVED, SLOT_COMPLETED, SLOT_CREATED_BANK, and SLOT_DEAD.

clientobject

Filter label. Choose any key name (e.g., client); updates matching this filter carry the same label in their filters field.

voteboolean

Whether to include vote transactions. true streams only vote transactions and false excludes them. Omit to receive both.

failedboolean

Whether to include failed transactions. true streams only failed transactions and false only successful ones. Omit to receive both.

signaturestring

Streams only the transaction with this signature (Base58).

account_includestring[]

Streams transactions that use any of these addresses (OR).

account_excludestring[]

Excludes transactions that use any of these addresses.

account_requiredstring[]

Streams only transactions that use all of these addresses (AND).

clientobject

Filter label. Choose any key name (e.g., client); updates matching this filter carry the same label in their filters field.

voteboolean

Whether to include vote transactions. true streams only vote transactions and false excludes them. Omit to receive both.

failedboolean

Whether to include failed transactions. true streams only failed transactions and false only successful ones. Omit to receive both.

signaturestring

Streams only the transaction with this signature (Base58).

account_includestring[]

Streams transactions that use any of these addresses (OR).

account_excludestring[]

Excludes transactions that use any of these addresses.

account_requiredstring[]

Streams only transactions that use all of these addresses (AND).

clientobject

Filter label. Choose any key name (e.g., client); updates matching this filter carry the same label in their filters field.

account_includestring[]

Limits the transactions and accounts included in the block to those that use these addresses (OR).

include_transactionsboolean

Whether to include the block's transactions.

include_accountsboolean

Whether to include the accounts updated in the block.

include_entriesboolean

Whether to include the block's entries.

clientobject

Filter label. Choose any key name (e.g., client); updates matching this filter carry the same label in their filters field.

clientobject

Filter label. Choose any key name (e.g., client); updates matching this filter carry the same label in their filters field.

commitmentstring (enum)

Commitment level for updates. One of PROCESSED, CONFIRMED, or FINALIZED. Defaults to PROCESSED when omitted. CONFIRMED and FINALIZED updates are delivered after reaching that level.

offsetstring (uint64)

Start byte offset of the range.

lengthstring (uint64)

Length of the range in bytes.

idinteger

Ping identifier, echoed back in the pong update.

from_slotstring (uint64)

Replays updates starting from this slot. Use it to recover from short disconnections; replay starts at a slot boundary, so deduplicate updates.

Responses
filtersstring[]

Labels of the filters that matched this update.

accountobject

Account information.

pubkeystring

Account address (base64).

lamportsstring (uint64)

Account balance in lamports.

ownerstring

Address of the program that owns the account (base64).

executableboolean

Whether the account is an executable program.

rent_epochstring (uint64)

Epoch at which the account next owes rent.

datastring

Account data (base64). Contains only the requested ranges when accounts_data_slice is set.

write_versionstring (uint64)

Write version of the account. Use it to order updates within the same slot.

txn_signaturestring

Signature of the transaction that modified the account (base64). Absent for startup updates.

slotstring (uint64)

Slot number where the update occurred.

is_startupboolean

Whether the update comes from the startup snapshot.

slotstring (uint64)

Slot number.

parentstring (uint64)

Parent slot number.

statusstring (enum)

Slot status.

dead_errorstring

Reason the slot became SLOT_DEAD.

transactionobject

Transaction information.

signaturestring

Transaction signature (base64).

is_voteboolean

Whether this is a vote transaction.

transactionobject

The raw transaction.

signaturesstring[]

List of transaction signatures (base64).

messageobject

Transaction message.

headerobject

Message header.

account_keysstring[]

Account addresses referenced by the transaction (base64).

recent_blockhashstring

Recent blockhash used by the transaction (base64).

instructionsobject[]

List of instructions to execute.

versionedboolean

Whether this is a versioned (v0) transaction.

address_table_lookupsobject[]

Address lookup table (ALT) references.

metaobject

Transaction execution metadata.

errobject

Execution error. Absent for successful transactions.

errstring

Serialized error value (base64).

feestring (uint64)

Transaction fee in lamports.

pre_balancesstring (uint64)[]

Account balances in lamports before execution.

post_balancesstring (uint64)[]

Account balances in lamports after execution.

inner_instructionsobject[]

Inner instructions executed during program invocation.

log_messagesstring[]

Program log messages.

pre_token_balancesobject[]

Token balances before execution.

account_indexinteger

Index of the token account in account_keys.

mintstring

Mint address of the token.

ui_token_amountobject

Token amount adjusted for decimals.

ownerstring

Address of the token account owner.

program_idstring

Token program ID.

post_token_balancesobject[]

Token balances after execution.

account_indexinteger

Index of the token account in account_keys.

mintstring

Mint address of the token.

ui_token_amountobject

Token amount adjusted for decimals.

ownerstring

Address of the token account owner.

program_idstring

Token program ID.

rewardsobject[]

Rewards generated by the transaction.

pubkeystring

Address of the account that received the reward.

lamportsstring (int64)

Reward amount in lamports. Negative values are debits.

post_balancestring (uint64)

Account balance in lamports after the reward was applied.

reward_typestring (enum)

Reward type.

commissionstring

Vote account commission (%) when the reward was credited. Present only for Voting and Staking rewards.

loaded_writable_addressesstring[]

Addresses loaded as writable from address lookup tables (base64).

loaded_readonly_addressesstring[]

Addresses loaded as read-only from address lookup tables (base64).

compute_units_consumedstring (uint64)

Total compute units consumed by the transaction.

indexstring (uint64)

Position (index) of the transaction within the block.

slotstring (uint64)

Slot number containing the transaction.

slotstring (uint64)

Slot number containing the transaction.

signaturestring

Transaction signature (base64).

is_voteboolean

Whether this is a vote transaction.

indexstring (uint64)

Position (index) of the transaction within the block.

errobject

Execution error. Absent for successful transactions.

errstring

Serialized error value (base64).

slotstring (uint64)

Slot number of the block.

blockhashstring

Blockhash (Base58).

rewardsobject

Block reward information.

rewardsobject[]

List of rewards.

pubkeystring

Address of the account that received the reward.

lamportsstring (int64)

Reward amount in lamports. Negative values are debits.

post_balancestring (uint64)

Account balance in lamports after the reward was applied.

reward_typestring (enum)

Reward type.

commissionstring

Vote account commission (%) when the reward was credited. Present only for Voting and Staking rewards.

block_timeobject

Block production time.

timestampstring (int64)

Unix timestamp in seconds.

block_heightobject

Block height.

block_heightstring (uint64)

Block height value.

parent_slotstring (uint64)

Slot number of the parent block.

parent_blockhashstring

Blockhash of the parent block (Base58).

executed_transaction_countstring (uint64)

Number of transactions executed in the block.

transactionsobject[]

Transactions in the block. Included when include_transactions is true.

signaturestring

Transaction signature (base64).

is_voteboolean

Whether this is a vote transaction.

transactionobject

The raw transaction.

signaturesstring[]

List of transaction signatures (base64).

messageobject

Transaction message.

headerobject

Message header.

account_keysstring[]

Account addresses referenced by the transaction (base64).

recent_blockhashstring

Recent blockhash used by the transaction (base64).

instructionsobject[]

List of instructions to execute.

versionedboolean

Whether this is a versioned (v0) transaction.

address_table_lookupsobject[]

Address lookup table (ALT) references.

metaobject

Transaction execution metadata.

errobject

Execution error. Absent for successful transactions.

errstring

Serialized error value (base64).

feestring (uint64)

Transaction fee in lamports.

pre_balancesstring (uint64)[]

Account balances in lamports before execution.

post_balancesstring (uint64)[]

Account balances in lamports after execution.

inner_instructionsobject[]

Inner instructions executed during program invocation.

log_messagesstring[]

Program log messages.

pre_token_balancesobject[]

Token balances before execution.

account_indexinteger

Index of the token account in account_keys.

mintstring

Mint address of the token.

ui_token_amountobject

Token amount adjusted for decimals.

ownerstring

Address of the token account owner.

program_idstring

Token program ID.

post_token_balancesobject[]

Token balances after execution.

account_indexinteger

Index of the token account in account_keys.

mintstring

Mint address of the token.

ui_token_amountobject

Token amount adjusted for decimals.

ownerstring

Address of the token account owner.

program_idstring

Token program ID.

rewardsobject[]

Rewards generated by the transaction.

pubkeystring

Address of the account that received the reward.

lamportsstring (int64)

Reward amount in lamports. Negative values are debits.

post_balancestring (uint64)

Account balance in lamports after the reward was applied.

reward_typestring (enum)

Reward type.

commissionstring

Vote account commission (%) when the reward was credited. Present only for Voting and Staking rewards.

loaded_writable_addressesstring[]

Addresses loaded as writable from address lookup tables (base64).

loaded_readonly_addressesstring[]

Addresses loaded as read-only from address lookup tables (base64).

compute_units_consumedstring (uint64)

Total compute units consumed by the transaction.

indexstring (uint64)

Position (index) of the transaction within the block.

updated_account_countstring (uint64)

Number of accounts updated in the block.

accountsobject[]

Accounts updated in the block. Included when include_accounts is true.

pubkeystring

Account address (base64).

lamportsstring (uint64)

Account balance in lamports.

ownerstring

Address of the program that owns the account (base64).

executableboolean

Whether the account is an executable program.

rent_epochstring (uint64)

Epoch at which the account next owes rent.

datastring

Account data (base64). Contains only the requested ranges when accounts_data_slice is set.

write_versionstring (uint64)

Write version of the account. Use it to order updates within the same slot.

txn_signaturestring

Signature of the transaction that modified the account (base64). Absent for startup updates.

entries_countstring (uint64)

Number of entries in the block.

entriesobject[]

Entries in the block. Included when include_entries is true.

slotstring (uint64)

Slot number the entry belongs to.

indexstring (uint64)

Index of the entry within the slot.

num_hashesstring (uint64)

Number of PoH hashes since the previous entry.

hashstring

Entry hash (base64).

executed_transaction_countstring (uint64)

Number of transactions executed in the entry.

starting_transaction_indexstring (uint64)

Block index of the first transaction in the entry.

slotstring (uint64)

Slot number of the block.

blockhashstring

Blockhash (Base58).

rewardsobject

Block reward information.

rewardsobject[]

List of rewards.

pubkeystring

Address of the account that received the reward.

lamportsstring (int64)

Reward amount in lamports. Negative values are debits.

post_balancestring (uint64)

Account balance in lamports after the reward was applied.

reward_typestring (enum)

Reward type.

commissionstring

Vote account commission (%) when the reward was credited. Present only for Voting and Staking rewards.

block_timeobject

Block production time.

timestampstring (int64)

Unix timestamp in seconds.

block_heightobject

Block height.

block_heightstring (uint64)

Block height value.

parent_slotstring (uint64)

Slot number of the parent block.

parent_blockhashstring

Blockhash of the parent block (Base58).

executed_transaction_countstring (uint64)

Number of transactions executed in the block.

entries_countstring (uint64)

Number of entries in the block.

slotstring (uint64)

Slot number the entry belongs to.

indexstring (uint64)

Index of the entry within the slot.

num_hashesstring (uint64)

Number of PoH hashes since the previous entry.

hashstring

Entry hash (base64).

executed_transaction_countstring (uint64)

Number of transactions executed in the entry.

starting_transaction_indexstring (uint64)

Block index of the first transaction in the entry.

idinteger

The id from the ping request.

created_atstring (date-time)

Time the server created the update (RFC 3339).

X-API-KEY
RequestCU10
grpcurl
grpcurl \
  -import-path . -proto geyser.proto \
  -H "X-API-KEY: {YOUR_API_KEY}" \
  -d '{
    "slots": {
      "client": {
        "filter_by_commitment": true,
        "interslot_updates": false
      }
    },
    "transactions": {
      "client": {
        "vote": false,
        "failed": false,
        "account_include": [
          "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        ]
      }
    },
    "commitment": "CONFIRMED"
  }' \
  solana-mainnet.nodit.io:443 geyser.Geyser/Subscribe
Response
Example · 200
{
  "filters": [
    "client"
  ],
  "slot": {
    "slot": "372215930",
    "parent": "372215929",
    "status": "SLOT_CONFIRMED"
  },
  "created_at": "2026-10-12T01:23:45.678Z"
}