Skip to main content
Available datasets (v1.1.0):
  • stellar_mainnet.transactions - Provides all transactions on the network, including counts of underlying events and operations.
  • stellar_mainnet.transfers - Providers all transfer events for the Stellar network.
  • stellar_mainnet.events - Provides all events, including transaction and operation contract events.
  • stellar_mainnet.operations - Lists all operations performed within transactions on the Stellar network, detailing the specific actions like payments, offers, and account management.
  • stellar_mainnet.ledger_entries - Ledger entry changes capture individual modifications to the Stellar ledger state (accounts, trustlines, offers, etc.).
  • stellar_mainnet.ledgers - Simple ledger data including ledger_sequence, ledger_hash, and ledger_timestamp.
  • stellar_mainnet.balances - Tracks account balances over time, including all asset balances for each account.
Note: The stellar network has activity all the way back in 2015. Running pipelines with source filter start_at: earliest might take a few hours/days to start showing data, depending on resource_size. Feel free to contact us if you want to speed up the process. We currently only support start_at: latest or start_at: earliest. Starting from any ledger sequence has been highly requested and is under development.

Quick Start: Explore Stellar Data

The fastest way to explore Stellar data is using a blackhole sink with goldsky turbo inspect. This lets you see live data without setting up a database:
name: demo-stellar-transfers-blackhole
resource_size: s

sources:
  stellar_transfers:
    type: dataset
    dataset_name: stellar_mainnet.transfers
    version: 1.1.0
    start_at: latest

sinks:
  dev_sink:
    type: blackhole
    from: stellar_transfers
Save the config above to demo.yaml, then apply it to inspect live data:
# Deploy the pipeline
goldsky turbo apply demo.yaml

# View live data flowing through the pipeline
goldsky turbo inspect demo-stellar-transfers-blackhole
The inspect command shows real-time data samples from each node in your pipeline, making it easy to understand the data structure before adding transforms or production sinks.

Guide: Monitoring transfers for specific assets

name: demo-stellar-asset-tracker
resource_size: s
version: 1

sources:
  stellar_transfers:
    type: dataset
    dataset_name: stellar_mainnet.transfers
    version: 1.1.0
    start_at: latest

transforms:
  asset_transfers_transform:
    type: sql
    primary_key: id
    sql: |
      SELECT * FROM stellar_transfers
      WHERE asset_code = 'XLM'
      OR (asset_code = 'USDC' and asset_issuer = 'GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN')
      OR (asset_code = 'AQUA' and asset_issuer = 'GBNZILSTVQZ4R7IKQDGHYGY2QXL5QOFJYQMXPKWRRM5PAV7Y4M67AQUA')

sinks:
  asset_transfers_sink:
    type: postgres
    from: asset_transfers_transform
    schema: public
    table: demo_stellar_asset_transfers
    secret_name: MY_POSTGRES_SECRET
    primary_key: id
We use a Postgres sink here as an example. For more sink types and configuration options, see turbo sinks docs.

Guide: Track transactions of a specific account

# Tracking account: GAFK7XFZHMLSNV7OJTBO7BAIZA66X6QIBV5RMZZYXK4Q7ZSO52J5C3WQ
# [Centre] Account for managing USDC on Stellar Mainnet

name: Demo-stellar-account-tracker
resource_size: s

sources:
  stellar_transactions:
    type: dataset
    dataset_name: stellar_mainnet.transactions
    version: 1.1.0
    start_at: latest

transforms:
  account_transactions:
    type: sql
    primary_key: transaction_hash
    sql: |
      SELECT * FROM stellar_transactions  
      WHERE account = 'GAFK7XFZHMLSNV7OJTBO7BAIZA66X6QIBV5RMZZYXK4Q7ZSO52J5C3WQ'

sinks:
  account_transactions_sink:
    type: postgres
    from: account_transactions
    schema: public
    table: demo_stellar_account_transactions
    secret_name: MY_POSTGRES_SECRET
    primary_key: transaction_hash

Guide: Track contract activity

name: demo-stellar-contract-tracker
resource_size: s
version: 1

# Track all events and transfers on a specific contract_id
# Example contract_id: CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA

sources:
  stellar_events:
    type: dataset
    dataset_name: stellar_mainnet.events
    version: 1.1.0
    start_at: latest

  stellar_transfers:
    type: dataset
    dataset_name: stellar_mainnet.transfers
    version: 1.1.0
    start_at: latest

transforms:
  contract_events:
    type: sql
    primary_key: id
    sql: |
      SELECT * FROM stellar_events
      WHERE contract_id = 'CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA'

  contract_transfers:
    type: sql
    primary_key: id
    sql: |
      SELECT * FROM stellar_transfers
      WHERE contract_id = 'CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA'

sinks:
  contract_events:
    type: postgres
    from: contract_events
    schema: public
    table: demo_stellar_contract_events
    secret_name: MY_POSTGRES_SECRET
    primary_key: id

  contract_transfers:
    type: postgres
    from: contract_transfers
    schema: public
    table: demo_stellar_contract_transfers
    secret_name: MY_POSTGRES_SECRET
    primary_key: id

Guide: Monitor account balances

name: demo-stellar-balance-tracker
resource_size: s
version: 1

# Track balance changes for specific accounts or assets
# Fetch all balance updates on both XLM and USDC

sources:
  stellar_balances:
    type: dataset
    dataset_name: stellar_mainnet.balances
    version: 1.1.0
    start_at: latest

transforms:
  account_balances:
    type: sql
    primary_key: asset_code, account_id
    sql: |
      SELECT * FROM stellar_balances
      WHERE asset_code = 'XLM' OR (asset_code = 'USDC' AND asset_issuer = 'GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN')

sinks:
  account_balances_sink:
    type: postgres
    from: account_balances
    schema: public
    table: demo_stellar_account_balances
    secret_name: MY_POSTGRES_SECRET
    primary_key: asset_code, account_id
For any questions or feedback, please reach out to the team at support@goldsky.com.