Overview
The SQD ecosystem is built around SQD Network - a decentralized query engine and a horizontally-scalable data lake for batch queries. Currently, SQD Network serves raw historical on-chain data from various blockchains using custom REST-like APIs. In the future, it will additionally support general-purpose SQL queries and an ever-growing collection of structured data sets derived from on- and off- chain data.
SQD Network
SQD Network API currently provides:
- raw event logs
- transaction data (with receipts)
- execution traces (for selected networks)
- state diffs (for selected networks)
It supports all major EVM and Substrate networks, with more in the works. Let us know if you'd like us to support some other network.
Currently there are two deployments of SQD Network:
- Production-ready private cluster running on SQD infrastructure (formerly known as Subsquid Archives). Access to the cluster is free and public.
- A decentralized permissionless network, currently a testnet.
User-facing API between these two is identical. Use it directly whenever you need historical blockchain data older than about 6-24 hours in either (1) high volume or (2) filtered form.
Example use cases for the SQD Network direct API
- boost the performance of existing pipelines by replacing per-block RPC requests with batch-requests to SQD Network
- non-Typescript indexers, mobile SDKs
- high-performance data pipelines for raw historical data
- a high-performance data source for tools like ApeWorkX, Cryo
- ad-hoc queries over historical on-chain data, such as
- "all transactions from a given address in a range of blocks"
- "all events with a given topic in a range of blocks"
For real-time use cases such as app-specific APIs use Squid SDK: it'll use SQD Network to sync quickly, then seamlessly switch to real-time data. If you already have a subgraph indexer, you also have an option to run it against the network.
Squid SDK
Squid SDK is a powerful Typescript toolkit for building indexers on top of SQD Network, featuring
- High-level libraries for extracting and filtering the SQD Network data in what can be though of as Extract-Transform-Load (ETL) pipelines
- Ergonomic tools for decoding and normalizing raw data and efficiently accessing network state
- Pluggable data sinks to save data into Postgres, files (local or s3) or BigQuery
- An expressive GraphQL server with a schema-based config
- Seamless handling of unfinalized blocks and chain reorganizations for real-time data ingestion
- rapid data extraction and decoding for local analytics
The SDK is a go-to choice for production solutions and prototypes of
- custom APIs based on data from sets of smart contracts, and
- low-cost, highly performant in-house data pipelines
that can work in real time setting (<1s chain latency). Take a look at the list of concrete, real-world applications for which Squid SDK was a good fit.
SQD Cloud
A Platform-as-a-Service for deploying Squid SDK indexers, featuring
- provisioning of Postgres and other compute resources for indexers
- zero downtime migrations between indexer versions
- provisioning of high-performance RPC endpoints for real-time applications
- intuitive deployment management through a Web application or CLI
- Google Cloud-level SLA
What's next?
- SDK
- SQD Network
- SQD Cloud
- Other
- Learn about squid components, combining them or follow the end-to-end development guide
- Explore tutorials or examples
- Learn how to migrate from The Graph
- Explore the GraphQL server options
- See the list of supported networks
- Learn how to use APIs of the open private network
- Check out the public network FAQ
- Learn how to deploy your squid
- Learn about organizations and how they are billed
- Use your free playground to develop a prototype of your indexer
- View our pricing schedule
- Run subgraphs using SQD Network data
- Learn about third party tools for using with SDK or for building standalone indexers