Quickstart
This 5-minute tutorial shows you how to grab a Starknet Squid SDK indexer template. At the end you’ll have a complete blockchain indexer that fetches, stores and serves Starknet USDC transfers.What you’ll get
Your Starknet indexer (squid) will:- Fetch all historical USDC transfers from the SQD Network
- Save the data to a local PostgreSQL database
- Start a GraphQL server with an API to query the historical USDC data
This tutorial focuses on Starknet. For other chains, see the EVM Quickstart or Solana Quickstart.
Prerequisites
Before you begin, ensure you have:- Node.js v20+ - Download here
- Git - Download here
- Docker - Download here (for running PostgreSQL)
- WSL (Windows only) - Install WSL
1
(Optional) Install Squid CLI
Install the Squid CLI globally:
Verify installation by running
sqd --version2
Scaffold the indexer project
Create a new squid project from the Starknet example:or, if you skipped the installation of Squid CLI
3
Inspect the project structure
Explore the project structure:First, the Next,
Key files explained: -
src/model/ - TypeORM
model classes used in database operations - main.ts - Main
executable containing data retrieval settings and processing logicmain.ts file defines the data source object and configures data retrieval:main.ts
main.ts defines the data processing and storage logic. Data processing is defined in the batch handler, the callback that the run() function receives as its final argument:main.ts
4
Install dependencies and build
Install dependencies and build the project:
Verify the build completed successfully by checking for the
lib/ directory.5
Start the database and processor
The processor continuously fetches data, decodes it, and stores it in PostgreSQL. All logic is defined in Apply database migrations:Then start the processor:
main.ts and is fully customizable.First, start a local PostgreSQL database (the template includes a Docker Compose file):The indexer is now running and will begin processing blocks.
6
Start the GraphQL API
Start the GraphQL API to serve the transfer data:
7
Query the data
You can now query your indexed data! Check it out at the GraphiQL playground at localhost:4350/graphql.

