squid-sdk is a free, open source data engineering & integration project written in TypeScript and released under Apache-2.0. It has 1,345 GitHub stars, 206 forks and 57 open issues, and was last pushed 26 hours ago. On this registry it ranks #37 of 53 tracked projects in Data Engineering & Integration, with 5 head-to-head comparisons available. It gained 4 stars over the last 30 tracked days.

What is squid-sdk?

Squid SDK is a TypeScript ETL toolkit for indexing Ethereum, Solana, and Substrate data, sourced from SQD Network — built for developers who need to extract and transform blockchain data themselves rather than run someone else's indexing application.

What it is

Squid SDK is an open-source TypeScript framework for extracting, transforming, and loading blockchain data. It lives in the Web3 data engineering ecosystem and spans three families of chains at once: Ethereum and everything Ethereum-like, Substrate-based chains such as those built on the Polkadot SDK, and Solana. The toolkit ships as a set of npm packages under the @subsquid scope, with @subsquid/evm-processor serving as the EVM-side processor, and it is augmented by the SQD CLI for project scaffolding and lifecycle work. The project is licensed under Apache-2.0 and is developed as a Rush-managed monorepo.

The concrete problem it solves is the gap between raw chain access and an indexed data model. Traditional RPC APIs force consumers to pull opaque blocks and decode them by hand, which is slow and expensive against high-volume chains. Squid SDK replaces that workflow with binary data codecs and type-safe access to decoded data, so an indexer author writes typed handlers against known event and call shapes instead of hand-rolling decoders. Its distinguishing move is sourcing: rather than treating an RPC endpoint as the data source, it natively pulls from SQD Network, a decentralized data lake and query engine that lets a client granularly select and stream only the subset of block data it needs to a lightweight process. That is the specific thing it replaces — the block-by-block RPC crawl — while remaining a toolkit rather than a finished indexing app like TheGraph or Ponder.

Key capabilities

  • Multi-chain ETL coverage: Ethereum and Ethereum-like chains, Substrate-based chains, and Solana in one toolkit.
  • Native sourcing from SQD Network, a decentralized data lake and query engine that streams a granular subset of block data to lightweight clients at higher performance than traditional RPC APIs.
  • Fast binary data codecs paired with type-safe access to decoded data.
  • Explicit toolkit design, positioned against indexing applications such as TheGraph or Ponder, so the data model and storage layer stay under the developer's control.
  • SQD CLI project scaffolding through npm install -g @subsquid/cli followed by sqd init my-squid.
  • Published npm packages under the @subsquid scope, for example @subsquid/evm-processor, with per-package versioning badges.
  • Rush-based monorepo change management: run rush change -b origin/master after committing, classify the change as major, minor, patch, or none, and let the generated files in common/changes/@subsquid/[package-name]/ feed the changelogs.

Who uses it and how

  • Indexer and backend teams building custom data pipelines for EVM chains, who need decoded, typed access to logs, calls, and state rather than raw RPC payloads.
  • Multi-chain teams indexing Ethereum-like, Substrate, and Solana networks from a single TypeScript codebase instead of maintaining separate stacks per ecosystem.
  • Developers moving off subgraph-style tooling, as reflected in the project's subgraph, graphql, and ponder topics.
  • Projects that want to source data from a decentralized data lake rather than pay for and operate their own high-throughput RPC fleet.
  • Contributors and community members working in the open repository across its Rush monorepo packages, with day-to-day help available in the SQD developer community on Telegram.

Getting started

Install the SQD CLI globally with npm install -g @subsquid/cli and scaffold a project with sqd init my-squid. The step-by-step path is the "How to start" guide at docs.sqd.dev, with the homepage at sqd.dev/sdk.

How it compares

Against indexing applications named in its own documentation, TheGraph and Ponder, the distinction is architectural: those are indexing apps you deploy into, whereas Squid SDK is a toolkit you build with, leaving the schema, storage, and serving layer to the developer. It also differs in data source, pulling from SQD Network's decentralized data lake and query engine rather than treating an RPC endpoint as the only origin of blocks.

When to use it — and when not to

Choose Squid SDK when the data model is genuinely custom and the team is comfortable writing and operating TypeScript indexers, and especially when multi-chain coverage across EVM, Substrate, and Solana matters. The trade-off is that a toolkit hands back the operational surface an indexing app would otherwise absorb — the README excerpt does not enumerate the runtime dependencies, so a self-hoster should read docs.sqd.dev before committing, and should note that SQD Network is the intended data source rather than an optional extra. Teams that want a hosted, batteries-included indexing product with no pipeline code to maintain are better served by an indexing application; the repository also carries 57 open issues, so expect active but not frictionless development.

project readme (upstream, from github) — read inline

Squid SDK - an ETL framework for Web3 data

npm License: Apache-2.0 Docs

Squid SDK is a TypeScript ETL toolkit for blockchain data, that currently supports

  • Ethereum and everything Ethereum-like
  • Substrate-based chains
  • Solana.

Squid SDK is distinguished by

  • Being a toolkit (rather than an indexing app like TheGraph or Ponder)
  • Fast binary data codecs and type-safe access to decoded data
  • Native support for sourcing the data from SQD Network.

The latter is a key point, as SQD Network is a decentralized data lake and query engine, that allows to granularly select and stream subset of block data to lightweight clients while providing high performance compared to traditional RPC APIs.

Quickstart

Install the SQD CLI and scaffold a new project:

npm install -g @subsquid/cli
sqd init my-squid

For step-by-step instructions, follow the How to start guide.

Documentation

Developer community

Our developers are active in the SQD developer community on Telegram. Feel free to join and ask any question!

Contributing

SQD is an open-source project, contributions are welcomed, encouraged and will be rewarded!

Please consult CONTRIBUTING.md for hacking instructions and make sure to read our code of conduct.

Change Management

This project uses Rush for monorepo management. When making changes to packages, you need to document them using the rush change system:

  1. After making your changes and committing them, run:

    rush change -b origin/master
    
  2. Follow the interactive prompts to:

    • Select the type of change (major, minor, patch, or none)
    • Provide a clear description of what changed
    • The description should explain the feature/fix from a user's perspective
  3. Change types:

    • major: Breaking changes that require users to update their code
    • minor: New features that are backward compatible
    • patch: Bug fixes and small improvements
    • none: Internal changes that don't affect the public API
  4. Best practices:

    • Write clear, concise descriptions
    • Focus on what changed from the user's perspective
    • Include relevant technical details when necessary
    • Use present tense ("Add feature X" not "Added feature X")

The change files are automatically generated in common/changes/@subsquid/[package-name]/ and will be used to generate changelogs during the release process.

Frequently asked questions

Is squid-sdk free to use?

squid-sdk is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does squid-sdk do?

TypeScript ETL toolkit for indexing Ethereum, Solana, and Substrate data, sourced from SQD Network.

What is squid-sdk written in?

squid-sdk is primarily written in TypeScript. Its source is publicly available at https://github.com/subsquid/squid-sdk, and it has 1,345 GitHub stars.