Skip to main content
You're viewing v3 documentation

This is the v3 HyperIndex documentation. Still on an older version? Open the v2 documentation and consider migrating to v3.

HyperIndex Quickstart

The Quickstart enables you to instantly autogenerate a powerful blockchain indexer and start querying blockchain data in minutes. This is the fastest and easiest way to begin using HyperIndex.

Example: Autogenerate an indexer for the Eigenlayer contract and index its entire history in less than 5 minutes by simply running pnpx envio@3.0.0-rc.0 init and providing the contract address from Etherscan.


Prerequisites

  • Node.js (v22 or newer recommended)
  • pnpm (recommended but not required)
  • Docker Desktop (required to run the Envio indexer locally)

Note: Docker is only required if you plan to run your indexer locally. You can skip installing Docker if you'll only be using Envio Cloud.

Additionally for Windows Users:

  • WSL Windows Subsystem for Linux

Getting Started

Run the following command to initialize your blockchain indexer:

pnpx envio@3.0.0-rc.0 init

You'll then follow interactive prompts to customize your indexer.


Video Tutorials


Indexer Initialization Options

During initialization, you'll be presented with two options:

  • Contract Import (recommended for existing smart contracts)
  • Template

Choose the Contract Import option to auto-generate indexers directly from smart contracts.

? Choose an initialization option
Template
> Contract Import
[↑↓ to move, enter to select]

Contract Import Methods

There are two convenient methods to import your contract:

  • Block Explorer (verified contracts on supported explorers like Etherscan and Blockscout)
  • Local ABI (custom or unverified contracts)

1. Block Explorer Import

This method uses a verified contract's address from a supported blockchain explorer (Etherscan, Routescan, etc.) to automatically fetch the ABI.

Steps:

a. Select the blockchain

? Which blockchain would you like to import a contract from?
> ethereum-mainnet
goerli
optimism
base
bsc
gnosis
polygon
[↑↓ to move, enter to select]
note

HyperIndex supports all EVM-compatible chains. If your desired chain is not listed, you can import via the local ABI method or manually adjust the config.yaml file after initialization.

b. Enter the contract address

? What is the address of the contract?
[Use proxy address if ABI is for a proxy implementation]
tip

If using a proxy contract, always specify the proxy address, not the implementation address.

c. Select events to index

? Which events would you like to index?
> [x] ClaimRewards(address indexed from, address indexed reward, uint256 amount)
[x] Deposit(address indexed from, uint256 indexed tokenId, uint256 amount)
[x] NotifyReward(address indexed from, address indexed reward, uint256 indexed epoch, uint256 amount)
[x] Withdraw(address indexed from, uint256 indexed tokenId, uint256 amount)
[space to select, → to select all, ← to deselect all]

d. Finish or add more contracts

You'll be prompted to continue adding more contracts or to complete the setup:

? Would you like to add another contract?
> I'm finished
Add a new address for same contract on same network
Add a new network for same contract
Add a new contract (with a different ABI)

2. Local ABI Import

Choose this method if the contract ABI is unavailable from a block explorer or you're using an unverified contract.

Steps:

a. Select Local ABI

? Would you like to import from a block explorer or a local abi?
Block Explorer
> Local ABI
[↑↓ to move, enter to select]

b. Specify ABI JSON file

Provide the path to your local ABI file (JSON format):

? What is the path to your json abi file?

c. Select events to index

? Which events would you like to index?
> [x] ClaimRewards(address indexed from, address indexed reward, uint256 amount)
[x] Deposit(address indexed from, uint256 indexed tokenId, uint256 amount)
[space to select, → to select all, ← to deselect all]

d. Choose blockchain

Specify the blockchain your contract is deployed on:

? Choose network:
> ethereum-mainnet
goerli
optimism
base
bsc
gnosis
[Custom Network ID]
[↑↓ to move, enter to select]

e. Enter contract details

  • Contract name
? What is the name of this contract?
  • Contract address
? What is the address of the contract?
[Use proxy address if ABI is for a proxy implementation]

f. Finish or add more contracts

Complete the import process or continue adding contracts:

? Would you like to add another contract?
> I'm finished
Add a new address for same contract on same network
Add a new network for same contract
Add a new contract (with a different ABI)

Generated Files & Configuration

The Quickstart automatically generates key files:

1. config.yaml

Automatically configured parameters include:

  • Network ID
  • Start Block
  • Contract Name
  • Contract Address
  • Event Signatures

By default, all selected events are included, but you can manually adjust the file if needed. See the detailed guide on config.yaml.

2. GraphQL Schema

  • Entities are automatically generated for each selected event.
  • Fields match the event parameters emitted.

See more details in the schema file guide.

3. Event Handlers

  • Handlers are autogenerated for each event.
  • Handlers create event-specific entities.

Learn more in the event handlers guide.


Congratulations! Your HyperIndex indexer is now ready to run and query data!

Next step: Running your Indexer locally or Deploying to Envio Cloud.


Other Ways to Start

Contract Import is the recommended path, but you can also bootstrap an indexer from: