Skip to main content
This quickstart scaffolds the current EVM template, indexes ETH burn transactions, stores them in PostgreSQL, and exposes them through GraphQL.

Prerequisites

1

Install the Squid CLI

The version output has the form @subsquid/cli/<version>.
2

Scaffold the current EVM template

The evm alias is maintained by the CLI. It currently retrieves subsquid-labs/squid-evm-template.
3

Configure access to the v2 gateway

Add your data API key to the existing .env file:
.env
EvmBatchProcessor reads this variable automatically when .setGateway() receives a URL. You can instead pass .setGateway({url, apiKey}), but do not commit a real key.
The key is for SQD Network v2 gateway access. It is separate from the optional SQD Cloud deployment key used by sqd auth.
4

Build the project

The template defines build in commands.json. The command generates JavaScript in lib/ and stops on TypeScript errors.
5

Start PostgreSQL

This runs the template’s Docker Compose service with the connection settings from .env.
6

Run the processor and GraphQL server

The CLI starts the processor and GraphQL services declared in squid.yaml. The processor command applies pending database migrations before it starts.The processor in src/processor.ts uses EvmBatchProcessor to request transactions sent to the zero address. The handler in src/main.ts turns each transaction into a Burn entity and inserts the batch through ctx.store.
7

Query indexed data

Open http://localhost:4350/graphql and run:
Stop the CLI with Ctrl+C. Remove the local database container with:

What to change next

  • Edit src/processor.ts to select the transactions, logs, traces, or state diffs your application needs.
  • Edit schema.graphql, then run sqd codegen and sqd migration:generate after model changes.
  • For Portal-native ingestion, use @subsquid/evm-stream or migrate an existing processor with the Portal migration guide.