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.