Skip to content

hyperdata-indexer-hyperevm (envio-indexer)

Event firehose indexer for HyperEVM (chain id 999). Uses Envio HyperIndex with wildcard event handlers to index events from ALL contracts on the chain — no per-contract registration — into PostgreSQL.

Events indexed (wildcard)

Event signature Contract scope Table
Transfer(address indexed from, address indexed to, uint256 value) all TransferEvent
Approval(address indexed owner, address indexed spender, uint256 value) all ApprovalEvent

Block range

start_block / end_block are hardcoded in config.yaml for now (skeleton window: 46000000 → 46000100). Every range change requires editing the file — same TODO as the polymarket indexer (see "TODO" below).

Running

docker build -t hyperevm-indexer .

docker run --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e ENVIO_API_TOKEN=<your-token> \
  hyperevm-indexer

envio start spins up its own postgres + hasura containers (hence the docker socket mount). GraphQL API is then served on http://localhost:8080.

Standalone (host node):

pnpm install
pnpm codegen
pnpm start

Environment variables

Variable Description
ENVIO_API_TOKEN HyperSync API token, mandatory since Nov 2025. Free at https://envio.dev/app/api-tokens

TODO

  • [ ] Set real backfill window (N → N+100)
  • [ ] Dynamic block range via env vars (envsubst pre-render, as in polymarket indexer README)
  • [ ] Wire into platform docker-compose.yml

Project structure

hyperdata-indexer-hyperevm/
  config.yaml          # Envio config — chain 999, block window, wildcard events
  schema.graphql       # Database entity definitions (auto-creates tables)
  src/EventHandlers.ts # Wildcard event handler logic
  Dockerfile           # Node 22 + Envio CLI + pnpm
  package.json
  tsconfig.json