Processors
Processors are the core components that transform raw blockchain data into structured, actionable information. Each processor is designed for specific use cases and data types on the Stellar and Soroban networks.
Available Processors
Core Ledger & Transaction
Ledger Reader
Reads ledger close metadata and emits individual transactions.
Configuration:
type: ledger_reader
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Entry point for transaction-level processing pipelines
Passthrough Processor
Passes ledger data through with minimal transformation, maintains XDR structure.
Configuration:
type: passthrough
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
add_metadata: false
include_full_xdr: true
include_xdr_json: false
Use Case: Preserve raw ledger data while adding lightweight metadata
Ledger to JSON
Converts LedgerCloseMeta to JSON format.
Configuration:
type: ledger_to_json
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Export ledger data as JSON for downstream systems
Ledger Changes
Extracts and processes ledger entry changes (creates, updates, deletes).
Configuration:
type: ledger_changes
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Track state changes in the ledger
Latest Ledger
Tracks and emits latest ledger information with transaction metrics.
Configuration:
type: latest_ledger
Use Case: Monitor ledger progression and transaction activity
Latest Ledger RPC
Transforms raw getLatestLedger RPC data into structured messages.
Configuration:
type: latest_ledger_rpc
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Process RPC responses for latest ledger queries
Operation Processor
Extracts all operation types from transactions.
Configuration:
type: operation
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Track all operations regardless of type
Account Monitoring
Account Data
Process Stellar account data changes including creation/updates/deletion.
Configuration:
type: account_data
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Track account state changes, balance updates
Account Data Filter
Filters account records by various criteria.
Configuration:
type: account_data_filter
config:
account_ids:
- "GABC..."
- "GDEF..."
min_balance: "100000000"
change_types:
- "created"
- "updated"
start_date: "2024-01-01T00:00:00Z"
end_date: "2024-12-31T23:59:59Z"
Use Case: Filter account changes for specific accounts or thresholds
Account Effects
Extracts effects (side-effects of operations) for accounts.
Configuration:
type: account_effects
config:
account: "GABC123..."
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Track all effects on specific accounts (credits, debits, trustlines)
Account Transactions
Extracts transactions involving specific accounts (Stellar & Soroban).
Configuration:
type: account_transactions
config:
account: "GABC123..."
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Transaction history for accounts
Account Year Analytics
Generates yearly analytics for a specific account.
Configuration:
type: account_year_analytics
config:
account_id: "GABC123..."
year: 2024
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Annual account activity reports
Create Account
Extracts create account operations.
Configuration:
type: create_account
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Track new account creation events
Soroban Contract Processing
Contract Events
Captures and processes events emitted by Soroban smart contracts.
Configuration:
type: contract_events
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: DeFi protocol monitoring, dApp event tracking
Contract Invocation
Extracts contract invocations with full execution details (arguments, results, state changes).
Configuration:
type: contract_invocation
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Comprehensive contract execution tracking
Contract Filter
Filters events by specific contract IDs.
Configuration:
type: contract_filter
config:
contract_ids:
- "CCABC123..."
- "CCDEF456..."
Use Case: Targeted monitoring of specific contracts
Contract Data
Processes contract data changes on the Soroban network.
Configuration:
type: contract_data
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: State change monitoring, contract storage analytics
Contract Creation
Tracks contract creation events.
Configuration:
type: contract_creation
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Monitor new contract deployments
Filtered Contract Invocation
Filters contract invocations by criteria.
Configuration:
type: filtered_contract_invocation
config:
contract_id: "CCABC123..."
function_name: "transfer"
Use Case: Filter invocations by contract ID or function name
Stellar Contract Events
Processes Stellar Asset Contract (SAC) events.
Configuration:
type: stellar_contract_events
Use Case: Track Stellar Asset Contract interactions
Get Events RPC
Fetches events via RPC getEvents endpoint.
Configuration:
type: get_events_rpc
config:
rpc_url: "https://rpc.nodeswithobsrvr.co/"
Use Case: Query historical contract events via RPC
Filter Events
Filters contract events by various criteria.
Configuration:
type: filter_events
config:
event_type: "contract"
contract_ids:
- "CCABC123..."
Use Case: Filter events by type, topic, or contract
Bronze Layer (Hubble-Compatible)
Bronze Extractors
Extracts ALL 19 Bronze table data types from LedgerCloseMeta (Hubble-compatible schema).
Configuration:
type: bronze_extractors
config:
network_passphrase: "Test SDF Network ; September 2015"
Output: ledgers_row_v2, transactions_row_v2, operations_row_v2, effects_row_v1, trades_row_v1, accounts_snapshot_v1, trustlines_snapshot_v1, contract_events_stream_v1, and 11 more
Use Case: Export all data for medallion architecture
Bronze to Contract Invocation
Converts Bronze SQL query results to ContractInvocation format.
Configuration:
type: bronze_to_contract_invocation
Use Case: Bridge Bronze data queries with contract invocation extractors
Payment & Operation Processing
Filter Payments
Filters payment operations by amount and asset.
Configuration:
type: filter_payments
config:
min_amount: "100"
asset_code: "USDC"
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Track large payments or specific asset transfers
Participant Extractor
Identifies all accounts involved in a transaction.
Configuration:
type: participant_extractor
Use Case: Extract transaction participants for network analysis
Event Payment Extractor
Extracts structured EventPayment data from contract events.
Configuration:
type: event_payment_extractor
Use Case: Parse payment events from payment processor contracts
Transaction XDR Extractor
Extracts transaction XDR data.
Configuration:
type: transaction_xdr_extractor
Use Case: Export transaction XDR for debugging or archival
Asset & Market Data
Asset Processor
Processes asset events from operations.
Configuration:
type: asset
Use Case: Track asset usage in payments and trades
Asset Enrichment
Enriches asset data with issuer account information.
Configuration:
type: asset_enrichment
config:
connection_string: "postgresql://user:pass@host:5432/database"
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Add issuer metadata (home domain, auth flags) to asset data
Transform to Asset Stats
Generates asset statistics.
Configuration:
type: transform_to_asset_stats
Use Case: Asset analytics and metrics (holder counts, volume)
Transform to Token Price
Calculates token prices.
Configuration:
type: transform_to_token_price
Use Case: Price tracking for assets
Transform to Market Cap
Calculates market cap and supply data.
Configuration:
type: transform_to_market_cap
Use Case: Market cap tracking for assets
Transform to Market Analytics
Generates market analytics.
Configuration:
type: transform_to_market_analytics
Use Case: Comprehensive market analysis
Market Metrics
Generates sliding window market metrics.
Configuration:
type: market_metrics
Use Case: Trading pair analytics with time-series data
Transform to Ticker Asset
Transforms operations into ticker asset data.
Configuration:
type: transform_to_ticker_asset
Use Case: Asset ticker data for exchanges
Transform to Ticker Orderbook
Generates orderbook ticker data.
Configuration:
type: transform_to_ticker_orderbook
Use Case: Orderbook snapshots for trading pairs
DeFi Protocol Processors
Soroswap
Processes Soroswap DEX events (new pairs, syncs).
Configuration:
type: soroswap
Use Case: Track Soroswap liquidity pool creation and state changes
Soroswap Router
Processes Soroswap router events.
Configuration:
type: soroswap_router
Use Case: Track Soroswap swap routing
Phoenix AMM
Processes Phoenix AMM contract events.
Configuration:
type: phoenix_amm
Use Case: Track Phoenix AMM swaps and liquidity events
Kale
Processes Kale contract events and invocations.
Configuration:
type: kale
Use Case: Track Kale protocol metrics
Application Transforms
Transform to App Account
Transforms account data for application use.
Configuration:
type: transform_to_app_account
Use Case: Application-specific account data formatting
Transform to App Metrics
Generates application network metrics.
Configuration:
type: transform_to_app_metrics
Use Case: Network-wide metrics for applications
Transform to App Payment
Transforms payments for application use.
Configuration:
type: transform_to_app_payment
Use Case: Application-friendly payment formatting
Transform to App Trade
Transforms trades for application use.
Configuration:
type: transform_to_app_trade
Use Case: Application-friendly trade formatting
Transform to App Trustline
Transforms trustlines for application use.
Configuration:
type: transform_to_app_trustline
Use Case: Application-friendly trustline formatting
State & Effects
Stellar Effects
Processes Stellar effects.
Configuration:
type: stellar_effects
Use Case: Extract Horizon-style effects from ledgers
Claimable Balance
Processes claimable balance entries.
Configuration:
type: claimable_balance
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Track claimable balance creation/updates/claims
Wallet Backend
Wallet Backend
Processes state changes for wallet backend.
Configuration:
type: wallet_backend
Use Case: Track all state changes relevant to wallet applications
Utilities
Blank Processor
Example/template processor for payments.
Configuration:
type: blank
config:
network_passphrase: "Public Global Stellar Network ; September 2015"
Use Case: Template for building custom processors
Stdout Sink
Writes payload to stdout (terminal sink).
Configuration:
type: stdout_sink
Use Case: Debug output, pipe to other tools
Choosing the Right Processor
Consider these factors when selecting a processor:
- Data Requirements: What specific blockchain data do you need?
- Performance: Some processors are more resource-intensive than others
- Filtering Needs: Many processors offer built-in filtering options
- Output Format: Each processor outputs data in a specific structure
Processor Configuration
All processors support configuration through the Flow pipeline builder. Common configuration patterns include:
{
"processor_type": "payments_memo",
"config": {
"memo_text": "invoice-2024",
"min_amount": "100",
"asset_code": "USDC"
}
}
Combining Processors
You can chain multiple processors in a single pipeline for complex data processing scenarios. For example:
- Use Contract Filter → Contract Events for targeted event monitoring
- Combine Account Balance → Latest Ledger for balance snapshots
Performance Considerations
- Filtered processors (like Payments with Memo) are more efficient than processing all data
- Account-specific processors scale better than network-wide processors
- Contract processors require Soroban-enabled networks
Next Steps
- Explore individual processor documentation for detailed configuration options
- Learn about consumers to deliver your processed data
- Check our Getting Started Guide for hands-on examples