Docs
Search⌘ K
  • Home
  • About The Graph
  • Supported Networks
  • Protocol Contracts
  • AI Tooling
  • Subgraphs
    • Substreams
      • Indexer Software
        • Gateway Software
          • Data Services
            • Resources

              zkSync Mainnet

              Subgraphs
              Payments: Subgraph Studio⁠Indexing: The Graph Network
              Type
              mainnet
              Protocol
              ethereum
              Identifier
              zksync-era
              Chain ID
              eip155:324
              Native Currency
              ETH
              Chain Docs
              zkSync Docs⁠

              Indexing Data on zkSync Era

              zkSync Era is an Ethereum Layer 2 zkEVM rollup built by Matter Labs, using zero-knowledge proofs for scalable, low-cost execution with full EVM compatibility. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs.

              zkSync Era is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in Subgraph Studio.


              Indexing zkSync Era with Subgraphs

              Get API Key

              Getting smart contract data is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. Subgraphs remove that work, giving you an open API that you query with GraphQL.

              zkSync Era is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your zkSync Era contract, define the entities you want, deploy and publish it through Subgraph Studio, and Indexers on The Graph Network keep those entities current and queryable.

              Search Graph Explorer for Existing Subgraphs

              Before you build, check whether the data you need is already live. Graph Explorer lists every Subgraph published to The Graph Network:

              • Filter by network: on the Subgraphs page, filter by zkSync Era to see the Subgraphs indexing it, then sort by most queried, most curated, or recently updated.
              • Search by contract: enter a contract address in the search bar to find the Subgraphs that index it.
              • Try it first: open any Subgraph to test queries in its playground and copy its query URL.

              If an existing Subgraph covers your use case, skip to querying it with your API key. For a full tour, see Using Graph Explorer.

              Quick Start: Build Your Own Subgraph

              Building a Subgraph for zkSync Era takes five steps:

              1. Create your Subgraph in Subgraph Studio.
              2. Build a Subgraph project from your smart contract.
              3. Deploy it to Subgraph Studio.
              4. Publish it to The Graph Network from Subgraph Studio.
              5. Query Subgraph with your API key.

              See the Subgraph pricing page for current query rates and free-tier limits.

              Step 1: Create your Subgraph in Subgraph Studio

              Open Subgraph Studio and connect your wallet. Create a Subgraph, copy its slug and your deploy key from the Subgraph details page to use in the CLI. For a full walkthrough, see Using Subgraph Studio.

              Step 2: Initialize and build your Subgraph project

              Install the Graph CLI, verify the install, and initialize a project from your zkSync Era contract:

              1# Install the Graph CLI (or with yarn: yarn global add @graphprotocol/graph-cli)2npm install -g @graphprotocol/graph-cli@latest34# Verify the install5graph --version67# Initialize from your zkSync Era contract8graph init

              The CLI walks you through a set of prompts:

              • Protocol: choose ethereum. zkSync Era is EVM-compatible.
              • Subgraph slug: use the slug of the Subgraph you created in Subgraph Studio, for example my-zksync-subgraph.
              • Directory: where the project is scaffolded.
              • Ethereum network: select zksync-era from the list of supported networks.
              • Contract address: the address of the contract you want to index. Find it on explorer.zksync.io.
              • ABI: if the CLI cannot fetch the ABI, export it from your build artifacts or the zkSync Era Explorer contract page. Supply it as a JSON file.
              • Start block: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block.
              • Contract name: the name of your contract.
              • Index contract events as entities: set this to true. The CLI then scaffolds entities and mappings for every emitted event.

              To customize your Subgraph, you work with three files:

              • Manifest: subgraph.yaml defines which data sources your Subgraph indexes.
              • Schema: schema.graphql defines the entities you want to query.
              • Mappings: src/mapping.ts uses AssemblyScript that translates on-chain events into your entities.

              Point the manifest at zkSync Era:

              1dataSources:2- kind: ethereum3  name: MyContract4  network: zksync-era5  source:6    address: '0xYourZksyncContractAddress'7    abi: MyContract8    startBlock: 123456 # your contract's deployment block

              For a full walkthrough of schema and mapping authoring, see Creating a Subgraph. Then generate types and build:

              1graph codegen && graph build

              Step 3: Deploy to Subgraph Studio

              Authenticate the CLI and deploy your Subgraph to Subgraph Studio:

              1# Authenticate with the deploy key from your Subgraph details page2graph auth <DEPLOY_KEY>34# Deploy to Subgraph Studio (the CLI asks for a version label such as 0.0.1)5graph deploy <SUBGRAPH_SLUG>

              Deploying pushes your Subgraph to Subgraph Studio, where you can test it in the playground, query the development endpoint, and check indexing logs. It does not publish it to the decentralized network yet.

              Optional: Verify locally with Graph Node Dev Mode

              Run your Subgraph on your machine with Graph Node Dev Mode (GND), pointed at an RPC endpoint for zkSync Era. From your Subgraph project directory:

              1# Install gnd with the Graph CLI2graph node install34# Build, deploy, and index your Subgraph locally, redeploying on changes5gnd --ethereum-rpc zksync-era:https://zksyncera.rpc.service.pinax.network --watch

              Query your Subgraph at http://localhost:8000/subgraphs/name/subgraph-0/ until your entities look right, then publish. On Windows, gnd also needs a --postgres-url. See Graph Node Dev Mode for setup.

              Step 4: Publish & Curate on The Graph Network

              Publishing a Subgraph is an on-chain action that:

              • makes it available for Curators to add signal that attracts Indexers,
              • makes your Subgraph available for decentralized Indexers to index,
              • and makes it publicly searchable and queryable in Graph Explorer.

              To publish, open your Subgraph in the Subgraph Studio dashboard and click Publish. Connect your wallet, add metadata (name, description, image), and confirm the transaction. Publishing happens on Arbitrum One, where The Graph’s protocol contracts live, not on zkSync Era. For details, see Publishing a Subgraph, which also covers publishing from the CLI with graph publish.

              During the publish transaction, you can add GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 1,000 GRT or more signal will be likely to be indexed quickly; without signal, no Indexer is incentivized to pick up your Subgraph.

              Step 5: Query your Subgraph

              After you publish, open your Subgraph in Graph Explorer and copy its query URL from the Query button.

              1. Create an API key from the API Keys dashboard at thegraph.com/studio. This dashboard handles API keys and billing for The Graph Network.
              2. Send GraphQL queries to the query URL with your API key.

              See the Subgraph pricing page for query rates, and Querying The Graph for the full query API.


              Guides

              10 min

              Subgraph quick start

              Kickstart your journey into subgraph development.

              12 min

              Graph Explorer

              Find and query existing blockchain data.

              5 min

              Billing

              Optimize costs and manage billing efficiently.

              5 min

              Timeseries & Aggregations

              Learn to track metrics like daily volumes or user growth.

              7 min

              Advanced subgraph features

              Leverage features like custom data sources, event handlers, and topic filters.

              The GraphStatusTestnetBrand AssetsForumSecurityPrivacy PolicyTerms of Service