ThorPulse publishes data to NATS topics following a hierarchical naming convention. This document provides the complete topic schema.
Topic Structure
Topics follow the pattern: {type}.{identifiers}.{slot}
NATS wildcards:
* matches a single token (e.g., slots.*.confirmed)
> matches one or more tokens (e.g., slots.>)
Slot status updates as the network processes blocks.
slots.{slot}.{status}
First shred for this slot was received
All shreds received, slot is complete
Slot has been processed by the validator
Slot has been confirmed by the cluster
Slot has been finalized (irreversible)
Bank was created for this slot
Slot was marked as dead (fork)
Subscription Patterns
All updates for specific slot
Transaction Topics
Transaction data published to multiple topics for flexible querying.
Query a specific transaction by its base58 signature.
All transactions in a specific slot.
Transactions that executed a specific program.
Transactions involving a specific account (any role).
Transactions signed by a specific account.
Subscription Patterns
txs.program.TokenkegQf...>
Token program transactions
txs.program.675kPX9MHT...>
Transactions involving wrapped SOL
Transactions from a specific wallet
Account state updates when account data changes.
Updates to a specific account.
Updates to accounts owned by a specific program.
Subscription Patterns
accounts.pubkey.So111...>
accounts.owner.TokenkegQf...>
accounts.owner.11111111111111111111111111111111.>
Ledger entry updates containing transaction hashes.
Subscription Patterns
Complete block data and metadata.
Complete block with all transactions, accounts, and entries.
Block metadata only (hashes, counts, no transaction data).
Subscription Patterns
Subscribe Request
Send a Yellowstone-style SubscribeRequest to this topic with a reply inbox.
Cancel an existing subscription.
Topic Access by Tier
slots.>, txs.>, entries.>
Common Program IDs
For convenience, here are common Solana program IDs:
11111111111111111111111111111111
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL
MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr
675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc
JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s
All messages are serialized using Yellowstone-compatible protobuf format:
See Protobuf Reference for complete message definitions.