Stellar Data: Index Payments, Operations, and Soroban Contract Events
Index Stellar's classic operations and Soroban contract events in one pipeline, delivered to your own database. Real-time and complete historical data, no Horizon or RPC to run.
Stellar describes itself as an open-source blockchain for enterprises and institutions, offering secure smart contracts, fast payments, and asset tokenization at scale. Assets are issued natively by accounts, payments and trades run as built-in operations, and Soroban adds smart contracts on top. You can read how the network frames it at stellar.org.
That two-layer design is the data problem. A single Stellar ledger mixes classic operations (payments, path payments, offers, trustlines) with Soroban contract invocations that emit their own events, and the two have historically come from different APIs. Indexing Co covers Stellar in a single pipeline, hands you classic operations and Soroban contract events from the same ledger, and delivers the rows you shape to your own PostgreSQL, warehouse, or webhook. Real-time and full history, with no Horizon or RPC to operate.
Why Stellar data is hard
What Indexing Co delivers for Stellar
Stand up and maintain the Stellar data stack yourself.
- Run your own history pipeline for classic operations and Stellar RPC for Soroban events.
- Page through operations, effects, and events per ledger.
- Join classic operations and contract events by transaction.
- Build backfill and real-time delivery from scratch.
One pipeline sources and delivers Stellar to your store.
- Classic operations with their effects and Soroban contract events, per ledger.
- Shaped by your JavaScript transform into one schema.
- Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
- Real-time delivery plus complete backfilled history. No Horizon, no RPC.
What you can index
| Stellar data type | For example |
|---|---|
| Payments and path payments | USDC and other issued-asset payments, with from, to, and amount |
| DEX offers and trustlines | manage_buy_offer, manage_sell_offer, change_trust |
| Soroban contract events | Contract ID, topics, and values, such as token transfer events |
| Ledger and transaction context | Fees charged, success flags, operation counts, protocol version |
A transform, not a subgraph
You write the transform in JavaScript, not AssemblyScript, and change it without re-indexing from ledger zero. Indexing Co runs your function over each ledger server-side: pick the operations and contract events you care about and return rows for your destination.
// Indexing Co transform: classic operations and Soroban events in one table
function transform(block) {
const results = [];
// classic operations: payments, path payments, offers, trustlines
for (const tx of block.transactions || []) {
for (const op of tx.operations || []) {
results.push({
chain: block._network,
ledger: block.sequence,
tx_hash: tx.hash,
kind: op.type,
account: op.source_account,
asset: op.asset_code || op.asset_type,
from: op.from,
to: op.to,
amount: op.amount,
});
}
}
// Soroban contract events: topics and values as JSON
for (const ev of block.contract_events || []) {
results.push({
chain: block._network,
ledger: block.sequence,
tx_hash: ev.txHash,
kind: 'contract_event',
account: ev.contractId,
topics: JSON.stringify(ev.topicJson),
value: JSON.stringify(ev.valueJson),
});
}
return results;
}
Stellar with Indexing Co
You want full control of Stellar infrastructure and have the team to operate Horizon and Stellar RPC, join classic and Soroban data, and build your own backfill and delivery.
You want Stellar classic operations and Soroban contract events delivered together to your own database, with real-time plus complete history and no infrastructure to run.
Related Reading
- Payments Data Infrastructure
- Fintech Data Infrastructure
- DeFi Data Infrastructure
- Indexing Co vs Building In-House
FAQ
Do I need to run Horizon or Stellar RPC?
No. Indexing Co sources Stellar ledgers for you, including full history, so you do not operate Horizon, Stellar RPC, or a core node.
Can I get classic operations and Soroban events together?
Yes. Each ledger arrives with its transactions, their operations, and the Soroban contract events emitted in that ledger. Your transform can write both into one table, as in the example above, or split them.
How are Stellar assets identified?
Operations carry the asset type, code, and issuer, and contract events carry the contract ID. Your transform can key on code plus issuer so assets from different issuers stay separate.
Are failed transactions included?
Yes. Transactions arrive with a success flag and the fee charged, so you can keep or filter failed ones as your use case needs.
Where does the Stellar data go?
Into your own destination: PostgreSQL, BigQuery, a warehouse, or a webhook. You define the output schema and own the storage.
Get Started
Index Stellar in minutes. Set up your first payments or Soroban events pipeline without running Horizon or a node.