Scroll Data: Index Contracts, Tokens, and zkEVM Activity

Index Scroll's contract events, token transfers, and decoded transactions in one pipeline, delivered to your own database. Real-time and complete historical data, no node to run.


Scroll is a zkEVM Layer 2 for Ethereum, a zero-knowledge rollup that reaches bytecode-level equivalence with the EVM. Every opcode runs the way it does on Ethereum mainnet, so contracts written in Solidity or Vyper deploy unchanged and tooling carries over without a translation layer. Scroll batches transactions, generates validity proofs, and posts both to Ethereum L1, which is how it keeps fees low while inheriting L1 security. In September 2026 the Scroll team said it plans to turn Scroll into a private, application-specific network built around its AI product Compass over about nine months; the plan is not yet a DAO-approved proposal. The team's site is scroll.io.

That proof-backed design is also where the data work begins. Scroll settles through a sequencing layer and a proving layer before anything lands on L1, and the decoded chain still spills out contract events, token transfers, and traces from every contract deployed there. Indexing Co covers Scroll 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 Scroll zkEVM blocks
Ingest blocks, logs, traces
Decode ABIs to events
Transform your JavaScript
Deliver your database

Why Scroll data is hard

Rollup Batches and Validity Proofs Scroll's rollup node bundles L2 transactions into batches and submits both the data and a zk validity proof to Ethereum L1, where finality follows once the proof is verified. A naive scraper that watches L2 in isolation misses how blocks are committed, proven, and settled. You want history that reflects how the rollup actually finalizes.
Bytecode-Equivalent EVM Decoding Because Scroll runs native EVM opcodes, the same contracts you know from mainnet deploy here unchanged, but that means every event still needs the right ABI to decode. Logs, traces, and receipts come off the chain raw, and turning them into typed rows is the same hard problem it is on any EVM chain.
A Spread of DeFi Protocols A real Scroll dataset spans many protocols at once: DEX pools, lending vaults, and a long tail of native deployments. Each carries its own ABI and event schema, and proxy patterns make the correct ABI a moving target across upgrades.
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 Scroll means owning the data in your own store, shaped the way your product queries it.

What Indexing Co delivers for Scroll

The DIY Path

Stand up and maintain the whole stack yourself.

  • Run a Scroll archive node or wire up a third-party RPC.
  • Fetch and decode logs, traces, and receipts against the right ABIs.
  • Track proxy upgrades and per-protocol event schemas by hand.
  • Build backfill, reorg handling, and real-time delivery from scratch.
Indexing Co

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

  • Scroll 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 Scroll, for example
Contract events and logs DEX swaps, lending borrows and repays
Token transfers (ERC-20, ERC-721) USDC and ETH transfers, NFT mints
Decoded transactions and traces L1-to-L2 deposits, bridge withdrawals
Protocol and account state Lending positions, vault balances, token 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;
}

Scroll with Indexing Co

Run it yourself if

You want full control of node infrastructure and have the team to operate a Scroll archive node, decode every protocol's ABIs, and build backfill and reorg handling in-house.

Use Indexing Co if

You want Scroll 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 a Scroll node?

No. Indexing Co sources Scroll 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 Scroll?

Yes. Point a pipeline at any Scroll contract or set of contracts, from DEX pools and lending markets to your own deployments, and we decode the events against the right ABI. Because Scroll is bytecode-equivalent with the EVM, the same ABIs you use on Ethereum mainnet apply here.

Does Indexing Co handle Scroll 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.

Where does the Scroll 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 Scroll data?

Yes. We backfill from your chosen start block and merge it with real-time data, so your Scroll dataset is gap-free from the chain's mainnet launch forward if you want it.

Get Started

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

Get a DemoOpen the Console