Acala Data: Index EVM+ DeFi on Polkadot

Index Acala's EVM+ contract events, ACA and ERC-20 token transfers, and decoded transactions in one pipeline, delivered to your own database. No node to run.


Acala calls itself the DeFi and liquidity hub of Polkadot, a Substrate-based parachain that runs an Ethereum-compatible environment called Acala EVM+. That pairing is the whole point: Solidity contracts and standard EVM tooling on one side, Substrate pallets, the ACA token, and native protocols like Homa liquid staking and its stablecoin history on the other. Builders get MetaMask and Hardhat, plus on-chain primitives that a plain rollup does not carry. You can read how the team frames it at acala.network.

That dual nature is also what makes the data distinct. Some activity lands as EVM+ logs and decoded calls, and some flows through Substrate-native modules that never touch the EVM. Indexing Co covers the EVM+ side 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 Acala EVM+ blocks
Ingest blocks, logs, traces
Decode ABIs to events
Transform your JavaScript
Deliver your database

Why Acala data is hard

EVM+ on a Substrate Base Acala EVM+ is Ethereum-compatible, but it sits on a Substrate runtime rather than a stock EVM chain. Contract logs and decoded calls look familiar, yet the block and account model underneath is a parachain. A scraper built only for a vanilla EVM misses how the two layers fit together.
DeFi Primitives to Track Acala was built as a DeFi hub: Homa liquid staking, an on-chain DEX, and a stablecoin lineage that shaped much of its early history. Those protocols are native runtime modules, and most of their use arrives as Substrate extrinsics that do not emit EVM logs. An EVM+ dataset covers what contracts do on the EVM side, so knowing where that line sits matters.
Polkadot Cross-Chain Context As a parachain, Acala moves assets in and out over Polkadot's messaging, so DOT, liquid-staked derivatives, and bridged tokens all show up in its state. Reading Acala in isolation loses the origin of those balances. Useful history reflects where the value came from.
Your Own DB, Not a Hosted API Generic RPC endpoints and hosted query APIs leave you rate-limited and renting someone else's schema. Powering an app or analytics workload on Acala means owning the data in your own store, shaped the way your product queries it.

What Indexing Co delivers for Acala

The DIY Path

Stand up and maintain the whole stack yourself.

  • Run an Acala archive node or wire up a third-party RPC.
  • Fetch and decode EVM+ logs, traces, and receipts against the right ABIs.
  • Reconcile Substrate-native state with the EVM+ view by hand.
  • Build backfill, reorg handling, and real-time delivery from scratch.
Indexing Co

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

  • Acala EVM+ contract events, token transfers, and decoded txs 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. No node, no RPC babysitting.

What you can index

EVM data type On Acala, for example
Contract events and logs Events from EVM+ contracts you deploy or track
Token transfers (ERC-20, ERC-721) ACA and LDOT moved through their ERC-20 predeploys, plus EVM-native tokens
Decoded transactions and traces EVM+ contract calls and user operations
Protocol and account state Token balances and contract positions rebuilt from EVM+ events

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;
}

Acala with Indexing Co

Run it yourself if

You want full control of node infrastructure and have the team to operate an Acala archive node, decode every protocol's ABIs, and reconcile the EVM+ and Substrate views in-house.

Use Indexing Co if

You want Acala EVM+ contract events, token transfers, and decoded transactions 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 an Acala node?

No. Indexing Co sources Acala EVM+ 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 any protocol on Acala EVM+?

Yes. Point a pipeline at any Acala EVM+ contract or set of contracts, from the predeployed token contracts to your own deployments, and we decode the events against the right ABI.

Does Indexing Co cover Acala's Substrate layer too?

No. The pipeline reads the Ethereum-compatible EVM+ environment and lands decoded contract data in your store. Substrate-native extrinsics that never touch EVM+, including most direct use of the Homa and DEX modules, are out of scope.

Where does the Acala data go?

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

Can I get complete historical Acala data?

Yes. We backfill from your chosen start block and merge it with real-time data, so your Acala dataset is gap-free from your start point forward.

Get Started

Index Acala in minutes. Set up your first Acala EVM+ contract or token pipeline without running a node.

Get a DemoOpen the Console