Software Development Kits

Build indexers your way

Two TypeScript SDKs for blockchain data. One full-stack framework, one composable library, both powered by Portal.

Squid Full-stack framework
Pipes Composable library
Powered by Portal →

Squid SDK vs Pipes SDK

Two paths from the same data source. One optimized for correctness, the other for throughput.

Portal (streaming)
Rust engine, 200+ chains
.setPortal()portalStream()
Squid SDK
Indexer framework
processor.run(db, handler)
Batch-oriented ETL loop
Reorg handling
Unfinalized blocks, rollbacks
Data sinks
Postgres, BigQuery, S3, CSV
GraphQL API
Auto-gen from schema.graphql
SQD Cloud or self-host
Managed hosting, CLI deploy, or your own infra
Correctness-first
dApp backends, real-time APIs
TypeORM, migrations, schema
Portal retrofitted
EVM + Substrate processors
Status
GA · Production
Battle-tested by the biggest DeFi projects. Actively developed. Deployable to SQD Cloud or self-hosted.
Pipes SDK
Composable data pipeline
query().build().pipe()
Chainable outputs, composable
Named output records
swaps, metaplex, pumpfun…
ClickHouse
S3 / Parquet
Any DB
Materialized views
Pre-aggregated, lowest latency
Your analytics / app
Dashboards, AI agents, APIs
Throughput-first
Analytics at scale, data lakes
No ORM, no schema lock-in
Portal-native from day one
Land anywhere, own your infra
Status
GA · v1.0
Production-ready since v1.0. Battle-tested internally and by major DeFi projects. Self-host only.
Same data source · different paradigm · vertical app stack vs horizontal data infrastructure

Compare the SDKs

Both are production-grade TypeScript tools. The right choice depends on your architecture and deployment needs.

Aspect
Squid SDK
Pipes SDK
Philosophy
Full-stack framework
Composable streaming library
Database
PostgreSQL (built-in TypeORM)
Any. PG, ClickHouse, Mongo, SQLite…
API Layer
Auto-generated GraphQL
Manual / flexible
Deployment
SQD Cloud (sqd deploy)
Self-host. Railway, Docker, any infra
Codegen
Required (sqd typegen)
Optional, defineAbi() from JSON
Fork Handling
Automatic rollback
Automatic rollback
VM Support
EVM, Solana, Substrate, Fuel
EVM, Solana (Substrate planned)
Monitoring
Cloud dashboard
Prometheus + OpenTelemetry + Pipes UI
Maturity
Production-ready
Production-ready (v1.0)

Which SDK should you use?

Answer a few questions to get a recommendation.

Do you need an auto-generated GraphQL API?
Will you use ClickHouse, MongoDB, or a custom database?
Do you want managed cloud deployment?
Do you prefer a zero-codegen setup?
Squid SDK

Full-stack indexing framework

Production-grade indexing with auto-generated GraphQL, built-in PostgreSQL, and managed cloud deployment.

Powered by Portal

Stream data from 200+ chains via SQD Portal with automatic real-time + historical coverage.

EvmBatchProcessor

High-performance batch processing engine. Backfill historical data at tens of thousands of blocks per second.

Auto-generated GraphQL

Define your schema, get a production-ready GraphQL API served automatically. No extra setup.

TypeORM + Migrations

Built-in PostgreSQL persistence with TypeORM entities and automatic schema migrations.

Multi-VM Support

Index data from EVM, Solana, Substrate, and Fuel virtual machines with dedicated processors.

Deploy to SQD Cloud

One-command deployment with sqd deploy. Managed infrastructure, scaling, and monitoring.

CLI Tooling

Configure, scaffold, deploy, and manage indexers from the SQD CLI.

Open-source

Fully open-source framework. Modify and extend as needed.

Pipes SDK

Composable streaming library

Lightweight, flexible data pipelines with any database target and zero codegen overhead.

Powered by Portal

Same blazing-fast Portal data source. Consistent, validated data across 225+ networks.

Query Builder + Outputs

Chainable evmQuery().addLog().build().pipe() pattern with named output records. Composable, readable, testable.

Any Database Target

PostgreSQL, ClickHouse, MongoDB, SQLite, Parquet, or build your own custom target.

No Codegen

Use defineAbi() to get typed events directly from JSON ABIs. Zero build steps, instant type safety.

Contract Factory

Track dynamically created contracts (DEX pools, tokens) with contractFactory() and custom address extraction.

Prometheus + OpenTelemetry

Production-grade observability. Export spans to Jaeger or Tempo, metrics to Grafana, Datadog, or any stack.

Time-Based Ranges

Use ISO dates, Date objects, or block numbers for ranges. Automatic resolution via Portal API.

Scaffolding CLI

npx pipes init, scaffold a project with templates, custom contracts, and ready-to-run code.

Data Source

Two SDKs, one data layer

Both SDKs consume data from SQD Portal, the fastest way to access validated blockchain data across 225+ networks. No archive nodes, no rate limits.

Squid SDK Portal Pipes SDK
Learn about Portal →

Frequently asked questions

What is the Squid SDK?
The Squid SDK is a TypeScript framework for building blockchain indexers. It pairs a batch processor (EvmBatchProcessor, SolanaBatchProcessor, and others) with PostgreSQL persistence via TypeORM, automatic schema migrations, and an auto-generated GraphQL API. Squid SDK indexers stream data from SQD Portal, which removes the need to run archive nodes for backfills.
Is Squid SDK open source?
Yes. The Squid SDK is published under Apache-2.0. The companion Portal retrieval layer is released under AGPL-3.0. Source, issues, and contributions are on GitHub.
Squid SDK vs Pipes SDK, which should I use?
Both SDKs read from the same SQD Portal. Squid SDK is a full-stack framework: batch processor, TypeORM persistence, GraphQL API, CLI for deployment to SQD Cloud. Pipes SDK is a composable library: a chainable query builder with pluggable database targets (Postgres, ClickHouse, MongoDB, SQLite, Parquet, custom). Pick Squid SDK when you want a complete dApp backend; pick Pipes SDK when you want a streaming pipeline you wire into your own stack.
What languages does Squid SDK support?
TypeScript. For teams working in other stacks, the Portal exposes a raw HTTP streaming API documented in the SQD documentation; clients in Go, Python, Rust, or any HTTP-capable language can consume Portal directly without the TypeScript SDKs.
Can I run Squid SDK in production?
Yes. Production teams running on Squid SDK include GMX (multi-chain perpetual DEX), Curvance (lending on Monad), PancakeSwap (multi-chain DEX), RAILGUN (privacy across four chains), and UNCX (seven EVM chains unified). Built-in features include automatic retries, transaction-safe writes, and a chain-reorganization handler. The SDK pairs with SQD Cloud for managed deployment, monitoring, and scaling.
How does Squid SDK handle reorgs?
The Squid SDK includes a built-in reorg handler. The processor buffers recent blocks in a hot range and rolls back database writes when the chain reorganizes. The depth of the hot range is configurable per processor. Reorg handling is automatic and does not require custom code.
What's the difference between Squid SDK and subgraphs?
Subgraphs are tied to The Graph's hosted store, GraphQL schema model, and AssemblyScript mapping language. Squid SDK is a standalone TypeScript framework: indexers can span multiple chains in a single project, write to any database (not only the subgraph store), and deploy to SQD Cloud or to your own infrastructure. Teams that migrated from The Graph include Curvance and Chillwhales. See the SQD vs The Graph comparison for a detailed breakdown.
Does Squid SDK work with Solana and other non-EVM chains?
Yes. The Squid SDK includes a SolanaBatchProcessor that indexes Solana instructions, token balances, and account state through the Portal. Substrate parachains and Bitcoin are also supported. The Pipes SDK provides a matching Solana query builder (solanaQuery().addInstruction().build().pipe()) with the same composition model used for EVM. See the supported chains for the full list.
Get started

Your blockchain data infrastructure, handled.

Private Portal. Dedicated. Validated. Managed. Tell us what you're building, we'll show you what it looks like on SQD.