
The Stellar Foundational Modules Substreams contains a set of modules that allow you to easily retrieve basic information from the Stellar blockchain, such as transactions or operations.
This module retrieves all the NOT failed transactions, without any more filtering.
This module creates a cache of transactions based on:
You can use this module as a blockFilter to filter transactions based on the parameters specified above:
- name: my_module
...
blockFilter:
module: index_transactions
query:
string: (source_account:source_account1 || source_account:source_account2)
This module uses the index_transactions cache to match the filtered transactions based on the parameters passed as input to the module.
You can directly use this module to retrieve filtered transactions:
modules:
- name: my_module
use: stellar_common:filtered_transactions
params:
my_module: source_account:account1
This module decodes some of the Stellar operations. These are the operation supported:
&Op::CreateAccount(_) => "create_account",
&Op::AccountMerge(_) => "account_merge",
&Op::Payment(_) => "payment",
&Op::CreateClaimableBalance(_) => "create_claimable_balance",
&Op::ClaimClaimableBalance(_) => "claim_claimable_balance",
&Op::Clawback(_) => "clawback",
&Op::ClawbackClaimableBalance(_) => "clawback_claimable_balance",
&Op::AllowTrust(_) => "allow_trust",
&Op::SetTrustLineFlags(_) => "set_trust_line_flags",
&Op::LiquidityPoolDeposit(_) => "liquidity_pool_deposit",
&Op::LiquidityPoolWithdraw(_) => "liquidity_pool_withdraw",
&Op::ManageBuyOffer(_) => "manage_buy_offer",
&Op::ManageSellOffer(_) => "manage_sell_offer",
&Op::CreatePassiveSellOffer(_) => "create_passive_sell_offer",
&Op::PathPaymentStrictSend(_) => "path_payment_strict_send",
&Op::PathPaymentStrictReceive(_) => "path_payment_strict_receive",
This module creates a cache of operations, which you can use to filter by the operation name.
You can use this module as a blockFilter to filter operations:
- name: my_module
...
blockFilter:
module: index_operations
query:
string: (operation:payment || operation:create_account)
This module uses the index_operations cache to do the actual filtering of the operations.
You can directly use this module to retrieve filtered operations:
modules:
- name: my_module
use: stellar_common:filtered_operations
params:
my_module: (operation:payment || operation:create_account)
This module extracts Stellar Soroban contract events from transaction metadata. It decodes events from Soroban metadata and maps them to a structured format including:
This module creates a cache of events that allows filtering based on event properties and topic content.
The indexing extracts keys from:
type:Contract, type:System, type:Diagnosticcontract_id:abc123...topic:symbol:transfer, topic:address:CB7FKGSTHP...You can use this module as a blockFilter to filter events:
- name: my_module
...
blockFilter:
module: index_events
query:
string: (type:Contract && contract_id:abc123)
This module uses the index_events cache to filter events based on the specified query parameters.
Topics are parsed as JSON objects and their key-value pairs are mapped to searchable keys with the format topic:{key}:{value}. Only string values are indexed:
{"symbol":"transfer"} → topic:symbol:transfer{"address":"CB7FKGSTHP75ORTIZGGMVUTQLEMVTSEOI4QORQPCABJSGTAATDFCE2YV"} → topic:address:CB7FKGSTHP75ORTIZGGMVUTQLEMVTSEOI4QORQPCABJSGTAATDFCE2YV{"string":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"} → topic:string:USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVNNon-string values (numbers, booleans, arrays) are ignored during indexing. Invalid JSON topics are also skipped.
You can directly use this module to retrieve filtered events:
modules:
- name: my_module
use: stellar_common:filtered_events
params:
my_module: type:Contract && topic:symbol:transfer
Example queries:
contract_id:abc123 && topic:symbol:transfertopic:address:CB7FKGSTHP75ORTIZGGMVUTQLEMVTSEOI4QORQPCABJSGTAATDFCE2YV || topic:address:CB3JAPDEIMA3OOSALUHLYRGM2QTXGVD3EASALPFMVEU2POLLULJBT2XNtype:Contractsubstreams gui stellar-foundational@v0.5.0 map_transactionssubstreams gui stellar-foundational@v0.5.0 filtered_transactionssubstreams gui stellar-foundational@v0.5.0 map_operationssubstreams gui stellar-foundational@v0.5.0 filtered_operationssubstreams gui stellar-foundational@v0.5.0 map_eventssubstreams gui stellar-foundational@v0.5.0 filtered_eventssubstreams gui stellar-foundational@v0.5.0 index_transactionssubstreams gui stellar-foundational@v0.5.0 index_operationssubstreams gui stellar-foundational@v0.5.0 index_events