Abstract Data: Index Smart Wallets, Consumer Apps, and ZK Stack Activity

Index Abstract's contract events, token transfers, and account-abstraction transactions in one pipeline, delivered to your own database. Smart-wallet-aware, real-time and full history, no node to run.


Abstract calls itself the builder's platform for consumer crypto, an Ethereum Layer 2 from Igloo Inc., the team behind Pudgy Penguins, built on zkSync's ZK Stack and posting its data to Ethereum. It puts account abstraction at the center: the Abstract Global Wallet lets users sign in with passkeys and social logins, paymasters sponsor gas, and a curated Portal of consumer apps, games, social, and creator tools sits on top. The result is a chain where most activity flows through smart accounts rather than plain wallets. You can read how the team frames it at abs.xyz.

That consumer-first, abstraction-first design is also the data problem. On Abstract the signer of a transaction, the address paying for it, and the user your product actually cares about are frequently three different things, and the chain settles through ZK Stack mechanics rather than stock EVM ones. Indexing Co covers Abstract 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 Abstract L2 blocks
Ingest blocks, logs, traces
Decode smart-account ABIs
Transform your JavaScript
Deliver your database

Why Abstract data is hard

Account Abstraction Everywhere Abstract is built so that nearly every user arrives through the Abstract Global Wallet, a smart account that supports passkey login, social recovery, and paymaster-sponsored gas. The transaction signer, the fee payer, and the account behind a session can all differ, and an indexer that assumes a plain EOA sender will mislabel who actually performed an action.
Smart-Wallet and Consumer-App Scale The chain is tuned for consumer volume: games, social feeds, trading apps, and creator tools surfaced through the Portal, often with gasless flows that batch many user actions into one onchain transaction. Untangling individual user intent from those bundled, sponsored calls, in real time and at consumer throughput, is its own engineering problem.
ZK Stack Settlement Abstract runs on zkSync's ZK Stack and posts compressed state diffs to Ethereum as blobs rather than full transaction data. Proof-based settlement and state-diff publishing change how blocks finalize and how state is reconstructed, so a naive scraper that assumes an OP-style rollup misses how Abstract actually settles.
EVM Compatible, Not Bytecode Equivalent Abstract is EVM-compatible at the contract and ABI level, but the ZK Stack compiles to EraVM, a virtual machine tuned for zero-knowledge proving rather than matching EVM bytecode. System contracts, native account abstraction, and low-level call patterns diverge from stock geth, so decoding has to respect EraVM rather than assume a vanilla EVM trace.

What Indexing Co delivers for Abstract

The DIY Path

Stand up and maintain the whole stack yourself.

  • Run an Abstract archive node or wire up a third-party RPC.
  • Decode EraVM output against the right ABIs across consumer apps.
  • Untangle Global Wallet senders, paymasters, and smart-account sessions.
  • Build ZK Stack-aware reconstruction, backfill, reorg handling, and real-time delivery from scratch.
Indexing Co

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

  • Abstract contract events, token transfers, and decoded txs in a single pipeline.
  • Smart-wallet-aware decoding, 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 Abstract, for example
Contract events and logs DEX swaps, game and social-app actions, NFT mints
Token transfers (ERC-20, ERC-721) In-app currency flows, Pudgy and consumer NFT mints
Decoded transactions and traces Global Wallet calls and paymaster-sponsored txs
Protocol and account state Smart-account config, app balances, XP-driven activity

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

Abstract with Indexing Co

Run it yourself if

You want full control of node infrastructure and have the team to operate an Abstract archive node, decode EraVM and Global Wallet account-abstraction semantics, and build ZK Stack-aware reconstruction, backfill, and reorg handling in-house.

Use Indexing Co if

You want Abstract contract events, token transfers, and decoded transactions delivered to your own database, smart-wallet-aware, 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 Abstract node?

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

How does Indexing Co handle the Abstract Global Wallet and account abstraction?

Abstract routes most activity through smart accounts, with paymasters that can sponsor gas, so the signer, the fee payer, and the account your product cares about can all differ. Your transform receives the full transaction data, so you decide how to model who acted and who paid rather than assuming a plain EOA sender.

Abstract is EVM-compatible but not bytecode-equivalent. Does that matter for indexing?

Yes, and we account for it. Abstract runs on zkSync's ZK Stack, which compiles to EraVM and ships native account abstraction. Contracts and ABIs work as you expect, while system contracts, gas, and low-level call patterns differ, so we decode against EraVM rather than assuming stock EVM output.

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

Yes. We backfill from your chosen start block, including Abstract's mainnet history, and merge it with real-time data, so your dataset is gap-free from genesis forward if you want it.

Get Started

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

Get a DemoOpen the Console