Celo Data: Index Stablecoin Payments, Fee-Currency Txs, and Onchain Apps

Index Celo's stablecoin transfers, fee-currency transactions, and decoded contract events in one pipeline, delivered to your own database. Real-time and complete historical data across the L1 and L2 eras, no node to run.


Celo bills itself as the leading programmable rails for global finance and the most widely adopted blockchain for stablecoin payments, a mobile-first chain built for fast, sub-cent transactions that real people send from a phone. Its Mento stablecoins (USDm, EURm, BRLm, formerly cUSD, cEUR, cREAL) and gas-in-stablecoin model let users transact in dollars or local currency without ever holding the native CELO token, which is why so much of its volume is everyday payments rather than speculation. You can read how the team frames it at celo.org.

In March 2025 Celo completed a two-year transition from a standalone Layer 1 to an Ethereum Layer 2 built on the OP Stack, with EigenDA for data availability, preserving every historical transaction and balance in the process. That makes Celo a high-throughput payments chain with two distinct eras of history to reconcile. Indexing Co covers Celo in a single pipeline, decodes the raw chain into the shape you want, and delivers it to your own PostgreSQL, warehouse, or webhook. Real-time and full history, with no node to operate.

Source Celo L2 blocks
Ingest blocks, logs, traces
Decode ABIs to events
Transform your JavaScript
Deliver your database

Why Celo data is hard

Stablecoin Payments and Mento Assets Celo's whole point is stablecoin movement: USDm, EURm, and BRLm minted through the Mento protocol, plus bridged USDC and USDT. Tracking real payment flow means following transfers, mints, and redemptions across several stable assets at once, not just one canonical dollar token, and tying each one back to the contract that issued it.
Fee Currencies and Gas in Stablecoins On Celo a transaction can pay gas in a stablecoin instead of CELO, using the fee-currency mechanism. That means fee data does not live in the native-token column you would expect on a normal EVM chain. Attributing cost correctly requires decoding which fee currency paid for each transaction, a quirk a generic EVM scraper ignores.
Mobile-Scale Transaction Volume Celo leads Ethereum L2s on daily active users, with peaks near 840,000 and large MiniPay-driven payment traffic, much of it small-value transfers from phones. Capturing that firehose of high-frequency, low-value activity in real time without falling behind the chain head is a standing engineering problem.
Two Eras: L1 History and L2 Decoding Celo migrated from a standalone L1 to an OP Stack L2 in March 2025, and the full pre-migration history was preserved. A complete dataset has to span both eras and decode them consistently, including the L2's batched settlement and EigenDA-backed data availability, so your history reads as one continuous chain.

What Indexing Co delivers for Celo

The DIY Path

Stand up and maintain the whole stack yourself.

  • Run a Celo archive node or wire up a third-party RPC.
  • Fetch and decode logs, traces, and receipts against the right ABIs.
  • Reconcile L1-era and L2-era history and decode fee-currency transactions by hand.
  • Build backfill, reorg handling, and real-time delivery from scratch.
Indexing Co

One pipeline sources, decodes, and delivers Celo to your store.

  • Celo stablecoin transfers, fee-currency txs, and decoded events in a single pipeline.
  • Decoded data, shaped by your JavaScript transform.
  • Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
  • Real-time delivery plus complete backfilled history across both eras. No node, no RPC babysitting.

What you can index

EVM data type On Celo, for example
Contract events and logs Mento mints and redemptions, Uniswap swaps, Ubeswap pools
Token transfers (ERC-20, ERC-721) USDm, EURm, BRLm, and bridged USDC and USDT payments
Decoded transactions and traces Fee-currency txs, MiniPay transfers, smart-wallet calls
Protocol and account state Mento reserve balances, lending positions, wallet holdings

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

// Indexing Co transform: reshape each block into rows for your database
function transform(block) {
  const results = [];
  const signatures = [
    'event Transfer(address indexed from, address indexed to, uint256 value)'
  ];

  for (const tx of block.transactions || []) {
    for (const log of tx.receipt?.logs || []) {
      const event = utils.evmDecodeLogWithMetadata(log, signatures);
      if (!event) continue;
      results.push({
        chain: block._network,
        block: Number(block.number),
        tx_hash: tx.hash,
        contract_address: log.address?.toLowerCase(),
        from: event.decoded.from,
        to: event.decoded.to,
        value: event.decoded.value,
      });
    }
  }
  return results;
}

Celo with Indexing Co

Run it yourself if

You want full control of node infrastructure and have the team to operate a Celo archive node, decode fee-currency transactions and Mento assets, reconcile L1 and L2 history, and build backfill and reorg handling in-house.

Use Indexing Co if

You want Celo stablecoin transfers, fee-currency transactions, and decoded contract events delivered to your own database, with real-time plus complete history across both eras and no infrastructure to run.

Get a DemoOpen the Console

Related Reading

FAQ

Do I need to run a Celo node?

No. Indexing Co sources Celo blocks, logs, and traces for you, including full historical data, so you never operate an archive node or babysit an RPC endpoint.

Can I index Celo's stablecoins and fee-currency transactions?

Yes. We decode USDm, EURm, BRLm, and bridged stablecoin transfers, and we surface which fee currency paid for each transaction so your payment and cost data is accurate, not just the native-CELO view.

Does the data cover Celo's history from before it became an L2?

Yes. Celo migrated from a standalone L1 to an Ethereum L2 in March 2025 and kept its full pre-migration history. We backfill across both eras and decode them consistently, so your dataset reads as one continuous chain.

Where does the Celo data go?

Into your own destination: PostgreSQL, BigQuery, a warehouse, or a webhook. You define the output schema and own the storage.

Does Indexing Co handle Celo reorgs and proxy upgrades?

Yes. The pipeline accounts for chain reorganizations and tracks proxy implementation changes so your decoded data stays correct as contracts upgrade.

Get Started

Index Celo in minutes. Set up your first Celo stablecoin or contract pipeline without running a node.

Get a DemoOpen the Console