Cardano Data: Index UTXOs, Native Assets, and Staking Activity

Index Cardano's UTXO movements, native assets, and staking operations in one pipeline, delivered to your own database. Real-time and complete historical data, no node to run.


Cardano describes itself as a public blockchain bringing assurance to critical operations, built on an extended UTXO (eUTXO) model with stake pool delegation and onchain governance and treasury. Value does not sit in account balances the way it does on EVM chains. It lives in unspent transaction outputs, and every output can carry ada plus any number of native assets minted under a policy ID. You can read how the project frames it at cardano.org.

That model is the data problem. Indexing Cardano means following UTXOs as they are spent and created, unpacking the native asset bundles they carry, and tracking stake activity such as reward withdrawals and stake key deregistrations. Indexing Co covers Cardano in a single pipeline, breaks each block into per-operation records, and delivers them to your own PostgreSQL, warehouse, or webhook. Real-time and full history, with no node to operate.

Source Cardano blocks
Ingest txs + UTXO operations
Decode ADA and native assets
Transform your JavaScript
Deliver your database

Why Cardano data is hard

UTXOs, Not Account Balances A Cardano transaction consumes earlier outputs and creates new ones. To know what an address holds or where funds went, you have to link each spent input back to the output that created it, across the whole history of the chain.
Native Assets Ride in Bundles Tokens on Cardano are not separate contracts. They travel inside UTXOs as bundles keyed by policy ID and hex asset name, next to the ada that must accompany them. Flattening those bundles into per-asset rows is work every indexer has to do.
Staking Is Part of the Ledger Reward withdrawals and stake key registrations and deregistrations sit in the same transactions as payments. A dataset that only tracks transfers misses the staking side of an address's history.
Epochs and Slots, Not Just Heights Cardano time runs on slots and epochs, and each block is produced by a stake pool. Analytics that line up with how the chain actually works need epoch, slot, and block producer on every record, not only a block number.

What Indexing Co delivers for Cardano

The DIY Path

Stand up and maintain the Cardano indexing stack yourself.

  • Run a cardano-node and a chain indexer alongside it.
  • Resolve every spent input back to the output that created it.
  • Unpack native asset bundles by policy ID and asset name.
  • Build backfill, rollback handling, and real-time delivery from scratch.
Indexing Co

One pipeline sources, structures, and delivers Cardano to your store.

  • Inputs and outputs with address, amount, and UTXO identifier.
  • Native asset bundles by policy ID, shaped by your JavaScript transform.
  • Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
  • Real-time delivery plus complete backfilled history. No node to run.

What you can index

Cardano data type For example
UTXO inputs and outputs Address, ada amount in lovelace, spent and created UTXO IDs
Native assets Token bundles by policy ID and asset name, per input and output
Staking operations Reward withdrawals, stake key deregistrations
Block and transaction context Epoch, slot, block producer, transaction and script size

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: pick the operations you care about and return rows for your destination.

// Indexing Co transform: one row per UTXO movement, ADA and native assets
function transform(block) {
  const results = [];

  for (const tx of block.transactions || []) {
    for (const op of tx.operations || []) {
      if (op.type !== 'input' && op.type !== 'output') continue;
      const base = {
        chain: block._network,
        block: block.block_identifier.index,
        tx_hash: tx.transaction_identifier.hash,
        direction: op.type,
        address: op.account?.address,
        utxo: op.coin_change?.coin_identifier?.identifier,
      };
      // ADA amount, in lovelace
      results.push({ ...base, policy_id: null, asset: 'ADA', amount: op.amount?.value });
      // native assets ride along in the same UTXO
      for (const bundle of op.metadata?.tokenBundle || []) {
        for (const token of bundle.tokens || []) {
          results.push({ ...base, policy_id: bundle.policyId, asset: token.currency.symbol, amount: token.value });
        }
      }
    }
  }
  return results;
}

Cardano with Indexing Co

Run it yourself if

You want full control of Cardano infrastructure and have the team to operate a cardano-node, a chain indexer, UTXO resolution, and native asset parsing in-house.

Use Indexing Co if

You want Cardano UTXO movements, native assets, and staking operations delivered to your own database, with real-time plus complete history and no infrastructure to run.

Get a DemoOpen the Console

Related Reading

FAQ

Do I need to run a Cardano node?

No. Indexing Co sources Cardano blocks for you, including full historical data, so you never operate a cardano-node or a chain indexer next to it.

Does Indexing Co handle Cardano native assets?

Yes. Each input and output carries its token bundle, grouped by policy ID with the asset name and amount. Your transform can flatten those into one row per asset, as in the example above.

Can I track a Cardano address over time?

Yes. Every input and output carries the address, the amount, and the UTXO identifier, so you can follow funds as outputs are created and later spent.

Are staking operations included?

Yes. Reward withdrawals and stake key deregistrations come through as operations in the same transactions, next to the payment inputs and outputs.

Where does the Cardano 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 Cardano in minutes. Set up your first UTXO or native asset pipeline without running a node.

Get a DemoOpen the Console