Terra Classic Data: Index Oracle Votes, Transfers, and Contract Events
Index Terra Classic's oracle exchange rate votes, LUNC and USTC transfers, and CosmWasm events in one pipeline, delivered to your own database. Real-time and complete historical data, no node to run.
Terra Classic is the original Terra blockchain, chain ID columbus-5, with LUNC and USTC as its native assets. When a new chain launched in May 2022 under the Terra name, the original network kept running as Terra Classic, and it is coordinated today by its validators, delegators, and governance rather than by a single company. The new chain is covered separately on the Terra page.
Protocol documentation lives at classic-docs.terra.money, and the community maintains an independent information site at terra-classic.money. On-chain, Terra Classic is a Cosmos SDK chain whose activity shows up as ABCI events in CometBFT block results, where validators' oracle exchange rate votes make up a large share of transactions. Indexing Co reads those blocks, lets you shape the events in a transform, and delivers rows to your own PostgreSQL, warehouse, or webhook. Real-time and full history, with no node to operate.
Why Terra Classic data is hard
What Indexing Co delivers for Terra Classic
Stand up and maintain the whole stack yourself.
- Run a Terra Classic archive node or depend on public RPC endpoints.
- Poll block results and pair each tx result with its raw transaction.
- Filter oracle traffic and map event attributes per module by hand.
- Build backfill and real-time delivery from scratch.
One pipeline sources, shapes, and delivers Terra Classic to your store.
- Terra Classic tx results, ABCI events, and block-level events in a single pipeline.
- Event attributes, shaped by your JavaScript transform.
- Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
- Real-time delivery plus complete backfilled history. No node, no RPC babysitting.
What you can index
| ABCI data type | On Terra Classic, for example |
|---|---|
| Oracle events | aggregate_vote and aggregate_prevote per validator, with exchange rates by denom |
| Token movements | transfer, coin_spent, and coin_received events in uluna and other denoms |
CosmWasm wasm and execute events |
Contract address and custom attributes per execution |
| Block-level events | Minting, commission, staking rewards, and validator liveness |
A transform, not a subgraph
You write the transform in JavaScript, not AssemblyScript, and change it without re-indexing from block zero. Indexing Co runs your function over each block server-side: walk the transaction results, pick the events you care about, and return rows for your destination.
// Indexing Co transform: one row per oracle exchange rate vote
function transform(block) {
const results = [];
const txs = block.txs_results || [];
txs.forEach((tx, txIndex) => {
if (tx.code !== 0) return; // skip failed transactions
for (const event of tx.events || []) {
if (event.type !== 'aggregate_vote') continue;
const attrs = {};
for (const a of event.attributes || []) attrs[a.key] = a.value;
results.push({
chain: block._network,
height: Number(block.height),
time: block.block.header.time,
tx_index: txIndex,
voter: attrs.voter,
exchange_rates: (attrs.exchange_rates || '').split(',').filter(Boolean),
});
}
});
return results;
}
Terra Classic with Indexing Co
You want full control of node infrastructure and have the team to operate a Terra Classic archive node, separate oracle traffic from user activity, and build backfill and delivery in-house.
You want Terra Classic oracle votes, token transfers, and contract events delivered to your own database, with real-time plus complete history and no infrastructure to run.
Related Reading
FAQ
Do I need to run a Terra Classic node?
No. Indexing Co sources Terra Classic blocks and block results for you, including full historical data, so you never operate an archive node or depend on public endpoints.
How is Terra Classic different from Terra?
They are separate chains. Terra Classic is the original columbus-5 network with LUNC and USTC. Terra is the phoenix-1 chain launched in May 2022. Each has its own pipeline, and you can index both: see Terra.
Can I skip the oracle transactions?
Yes. Filter on event type or on the action attribute of the message event in your transform, and keep only the transactions you care about. Or index the oracle votes on their own, as in the example above.
Are messages decoded from protobuf?
The pipeline delivers the transaction results and their ABCI events, which carry the message type, sender, fees, gas, and module attributes. The raw transaction bytes in the block are base64 protobuf and are passed through as-is.
Where does the Terra Classic 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 Terra Classic in minutes. Set up your first Terra Classic pipeline without running a node.