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, 130+ networks
.setPortal()evmPortalStream()
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 + RPC failover sources
EVM, Solana, Substrate, Tron
Status
GA · Production
Runs production indexers for GMX, PancakeSwap, and other DeFi teams. Actively developed. Deployable to SQD Cloud or self-hosted.
Pipes SDK
Composable data pipeline
evmPortalStream({ outputs })
Typed decoders, .pipe() transforms
Named output records
data.transfers, data.swaps…
ClickHouse
Postgres
Parquet / BigQuery
Materialized views
Pre-aggregated, lowest latency
Your analytics / app
Dashboards, AI agents, APIs
Throughput-first
Analytics at scale, data lakes
No schema lock-in
Portal-native from day one
Land anywhere, own your infra
Status
v1.0 Beta
Past the experimental stage: 1.0.0-beta on npm. Streams five chain families into four storage targets. 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)
ClickHouse, Postgres, BigQuery, Parquet, custom
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
Chain Support
EVM, Solana, Substrate, Tron, Fuel
EVM, Solana, Hyperliquid, Bitcoin, Tron
Monitoring
Cloud dashboard
Prometheus + OpenTelemetry + Pipes UI
Maturity
Production-ready
v1.0 beta

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, BigQuery, or a custom storage target?
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 130+ networks via SQD Portal with automatic real-time + historical coverage.

Batch Processing

EvmBatchProcessor and its siblings process blocks in large batches, built for fast historical backfills.

Auto-generated GraphQL

Define your schema, get a production-ready GraphQL API with subscriptions and a Graph-compatible dialect.

TypeORM + Migrations

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

Multi-Chain Support

Dedicated processors and data sources for EVM, Solana, Substrate, and Tron, plus Fuel and Starknet streams.

Portal + RPC Failover

Declare one query over an ordered list of Portal and RPC sources. Health-based switching, exported as Prometheus metrics.

Deploy to SQD Cloud

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

Open-source

Apache-2.0 licensed 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 Portal data source. Consistent, validated data across 130+ networks.

Five Chain Families

Streams, query builders, and decoders for EVM, Solana, Hyperliquid, Bitcoin, and Tron.

Streams + Named Outputs

Compose evmPortalStream() with .pipe() transforms and .pipeTo() targets. Decoded records arrive under the names you choose.

Pluggable Storage Targets

ClickHouse, PostgreSQL via Drizzle, BigQuery, Parquet, or implement your own with createTarget().

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 persistent address stores.

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.

Data Source

Two SDKs, one data layer

Both SDKs consume data from SQD Portal, the fastest way to access validated blockchain data across 130+ networks. No archive nodes, no RPC infrastructure.

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 chain processors (EvmBatchProcessor, SubstrateBatchProcessor, TronBatchProcessor) and Portal streaming data sources for EVM and Solana with PostgreSQL persistence via TypeORM, generated 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: Portal streams with typed decoders and pluggable storage targets (ClickHouse, PostgreSQL via Drizzle, BigQuery, Parquet, or 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 built-in reorg handling. The processor tracks unfinalized blocks and rolls back database writes when the chain reorganizes; the TypeORM store enables it with a single option (supportHotBlocks). When ingesting from an RPC endpoint, setFinalityConfirmation() sets how many confirmations mark a block final. No custom rollback code is required.
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 streams Solana instructions, transactions, balances, and token balances from the Portal through its Solana data source (@subsquid/solana-stream). Substrate parachains and Tron have dedicated batch processors. The Pipes SDK covers EVM, Solana, Hyperliquid, Bitcoin, and Tron (solanaPortalStream(), bitcoinPortalStream(), and so on) 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.