Run a ZetaChain SubQuery Indexer with OnFinality
In this guide, we’ll walk you through how to publish and deploy a SubQuery project for the ZetaChain network, so you can start building powerful, data-rich applications right away.

In this guide, we’ll walk you through how to publish and deploy a SubQuery project for the ZetaChain network on OnFinality, so you can start building powerful, data-rich applications right away.
What is a Blockchain Data Indexer?
A data indexer in blockchain is a tool that organizes raw blockchain data into a structured and searchable format. Instead of scanning every block and transaction manually, an indexer lets developers quickly query information such as balances, transfers, and contract events—making it essential for building fast, data-driven dApps.
Why SubQuery + OnFinality for ZetaChain Network?
SubQuery is a powerful open-source framework for building custom blockchain indexers. With SubQuery, you can extract, transform, and serve blockchain data to your dApp using a flexible GraphQL API.
By publishing your SubQuery project on OnFinality, you benefit from:
- One-click deployment — No need to run your own infrastructure
- Auto-scaling resources — Scales with your app's usage
- Global CDN — Fast data delivery anywhere in the world
- Built-in support for ZetaChain Network RPC
🛠 Prerequisites
Before getting started, ensure you have:
- A working SubQuery project for ZetaChain Network
- A GitHub repository or IPFS-hosted version of your project
- An account on OnFinality’s Indexing Service
Step 1: Prepare and Host Your SubQuery Project
OnFinality requires your project to be publicly accessible—either via GitHub or IPFS.
Today, we will be using a demo ZetaChain Network project deployment with IPFS CID:
QmeUwNvKGoaL211UfgEm2kbSztFCTJ2RuCXzbRRUacCaFx
Step 2: Log In to OnFinality’s Indexing Service
To create your first project, head to OnFinality Indexing Service. You'll need to authenticate with your GitHub account to login.
On first login, you will be asked to authorise OnFinality’s Indexing Service. We only need your email address to identify your account, and we don't use any other data from your GitHub account for any other reasons. In this step, you can also request or grant access to your GitHub Organisation account so you can post SubQuery projects under your GitHub Organisation instead of your personal account.

OnFinality Indexing Service is where you manage all your hosted projects uploaded to the OnFinality Indexing Service platform. You can create, delete, and even upgrade projects all from this application.

Step 3: Create Your ZetaChain Network Indexing Project
There are two methods to create a project in the OnFinality Indexing Service: you can use the UI or directly via the subql
cli tool
Using the UI
Start by clicking on "Create Project". You'll be taken to the new project form. Start by selecting what project type you would like to deploy (SubQuery), and then follow the steps and enter the following (you can change this in the future):
- Project Name: Name your project.
- Description: Provide a description of your project.
- Database: Premium customers can access dedicated databases to host production SubQuery projects from. If this interests you, you can contact sales@onfinality.io to have this setting enabled.
- Visible in Explorer: If selected, this will show the project from the public explorer to share with the community.

Create your project and you'll see it on your OnFinality’s Indexing Project's list. Next, we just need to deploy the first version of it.

Using the CLI
You can also use @subql/cli
to create a new deployment of your project to our Indexing Service. Please follow the guide on how to create a new project on the OnFinality’s Indexing Service in the CLI documentation.
Step 4: Deploy your First Version
While creating a project will setup the display details of the project, you must deploy a version of it before it becomes operational. Deploying a version triggers an indexing operation to start, and sets up the required query service to start accepting GraphQL requests. You can also deploy new versions to existing projects here.
With your new project, you'll see a "Deploy your first version" button. Click this, and fill in the required information about the deployment:

- CID: Provide your IPFS deployment CID from Step 1
- Manifest: The details are obtained from the contents of the provided CID, used to confirm that you have the correct deployment

- Query Version: This is the version of SubQuery's query service that you want to run this project on. We suggest using the latest version
- Advanced Settings: There are numerous advanced settings which are explained via the in built help feature.

Network Endpoints: You can use the limited public ZetaChain Network endpoint to get started
OnFinality plans to support ZetaChain Network with private RPCs in the near future
Once submitted, OnFinality will begin indexing your project. Depending on ZetaChain Network's chain state and your query configuration, this may take a few minutes to fully sync.
Step 5: Connect to your Project
Once your deployment has successfully completed and our nodes have indexed your data from the chain, you'll be able to connect to your project via the displayed GraphQL Query endpoint.

Alternatively, you can click on the three dots next to the title of your project, and view it on SubQuery Explorer. There you can use the in browser playground to get started.

Additional Resources
- 📘 SubQuery Documentation – Learn how to build, configure, and query SubQuery projects
- 🔗 ZetaChain Documentation – Learn more about how ZetaChain network functions
Common Questions about ZetaChain Indexers
What is a ZetaChain indexer?
A ZetaChain indexer is a service that processes raw blockchain data from the ZetaChain network and makes it easily searchable. Instead of scanning every block, developers can use an indexer like SubQuery to quickly query balances, token transfers, and smart contract events.
Why do I need a ZetaChain indexer for my dApp?
Indexers are essential for building fast, data-driven applications. They let your dApp display user activity, analytics, or cross-chain events instantly, without relying on slow on-chain lookups.
How do I build a ZetaChain indexer?
To build a ZetaChain indexer, you start by creating a SubQuery project that defines the data sources and mappings you want to extract from the ZetaChain network. Once configured, you can deploy it using OnFinality’s Indexing Service
Can I run my own ZetaChain indexer infrastructure?
Yes, but it requires significant DevOps resources to manage syncing, scaling, and uptime. Using OnFinality’s managed indexing service is the easiest way to get started without running your own servers.
Ready to Build on ZetaChain Network?
You now have everything in place to create fast, scalable, data-rich dApps on ZetaChain Network—powered by OnFinality’s robust infrastructure and SubQuery’s flexible data indexing.
Need help? Contact support@onfinality.io or join our Telegram community.
Let’s build the future of Web3 on ZetaChain Network 🚀
About ZetaChain
ZetaChain is the first Universal Blockchain with native access to Bitcoin, Ethereum, Solana, Sui, and more, offering seamless user experience and unified liquidity to the next billions of users. With its Universal EVM, ZetaChain empowers developers to build Universal Apps that operate natively across any blockchain, creating a fluid crypto ecosystem from a single platform.
Website | Twitter | Discord | Telegram
About OnFinality
OnFinality is a blockchain infrastructure platform that saves web3 builders time and makes their lives easier. OnFinality delivers scalable API endpoints, nodes, and indexers for the biggest blockchain networks and empowers developers to automatically test, deploy, scale and monitor their own blockchain nodes in minutes.
To date, OnFinality has served hundreds of billions of RPC requests, supports over 125 networks including Avalanche, BNB Chain, Cosmos, Polkadot, Ethereum, and Polygon, and is continuously expanding these mission-critical services so developers can build the decentralised future, faster!