Home / Solutions / Analytics
Analytics

Onchain analytics data for your own warehouse

SQD sits at the extract-and-decode end of the analytics pipeline. It streams decoded events, transactions, and traces from one endpoint across 225+ networks, from genesis to head, and you model and serve them as SQL in the warehouse you already run. The Portal is not a SQL endpoint; the SQL is yours.

225+ Networks
Genesis Full history
NDJSON Streaming
SQL In your warehouse
Capabilities

Built for Analytics at scale

*

Single endpoint, 225+ networks

One POST to portal.sqd.dev returns logs, transactions, traces, and state diffs from any supported chain, with no per-chain RPC setup and no reconciliation across providers. Apply the contract ABI to decode, or let the Pipes SDK decode for you.

|

Full archival depth from genesis

Every block, transaction, and event log from block 0 to head, on every chain, through the same query as live data. Backfill a contract's full history in one streamed range request instead of paginating eth_getLogs against per-call block-range caps.

>

Real-time NDJSON streaming

Stream new blocks, events, and state changes as NDJSON over HTTP, the same query shape you use for history. No WebSocket to manage, no polling loop. Figures over unfinalized blocks are provisional until finality, as in any streaming pipeline.

=

Direct warehouse integration

Pipe decoded data into ClickHouse, Postgres, MongoDB, SQLite, or Parquet on S3 with the Pipes SDK, plus a custom-target API for BigQuery, Snowflake, and Databricks. Your BI tool then queries the resulting store with ordinary SQL.

The pipeline

Extract and decode here, model and serve in your warehouse

Every dashboard is the end of a four-stage pipeline: extract the blocks and logs, decode the raw hex into named events, model it into tables shaped around your questions, and serve it from a warehouse a BI tool queries with SQL. SQD owns the first two stages and streams the result into the store you already run. The Portal is not a SQL endpoint; the SQL is yours.

The numbers are real and reproducible. One extract for USDC, USDT, and DAI transfers over a fixed 1,000-block window on Ethereum (18,000,000 to 18,001,000) returns 22,318 transfers worth about $542M. Same window, same totals on every run.

TokenVolume
  • USDC$318.8M
  • USDT$203.4M
  • DAI$19.5M
USDC, USDT, DAI transfer volume, Ethereum blocks 18,000,000-18,001,000

The extract is one filter on the Transfer topic across the three token contracts (multiple addresses in one filter is OR logic):

extract: stablecoin transfers
POST https://portal.sqd.dev/datasets/ethereum-mainnet/stream
{
"type": "evm",
"fromBlock": 18000000,
"toBlock": 18001000,
"logs": [{
"address": [
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"0xdac17f958d2ee523a2206206994597c13d831ec7",
"0x6b175474e89094c44da98b954eedeac495271d0f"
],
"topic0": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]
}],
"fields": { "block": { "number": true, "timestamp": true }, "log": { "address": true, "topics": true, "data": true } }
}

That streams raw logs as NDJSON; the amount is hex in data. Decode against the ERC-20 ABI (or let the Pipes SDK do it), load into ClickHouse, then it is a GROUP BY. The full extract-decode-rollup walkthrough is in the onchain analytics guide.

Two interfaces, one dataset

Reach the same data at the level your stack needs

Portal Stream API

The data layer itself

A streaming HTTP endpoint serving filtered logs, transactions, traces, and state diffs, with full history, in any language. You apply the contract ABI and aggregate the result. Teams run it in production as the data source, in place of RPC for history and bulk reads.

  • - Any language or stack
  • - Full history from genesis
  • - You decode and aggregate
  • - NDJSON over HTTP, no SDK required
Pipes SDK

Decode and load, built in

Sits on top of the same API in TypeScript: decodes logs into typed events and streams them into a target store, with progress tracking and reorg rollback handled for you. Built for a durable analytics pipeline rather than one-off queries.

  • - ClickHouse, Postgres, Parquet/S3 targets
  • - Custom-target API (BigQuery, Snowflake)
  • - Decoding and typed events built in
  • - Progress tracking and reorg rollback
Playground

Try the Portal API

Live queries against real blockchain data. Pick a network, choose a query, hit run.

The public endpoint is free for development. See plans for dedicated portals and higher limits.

Network+200 more
Query
curl --compressed -X POST \
'https://portal.sqd.dev/datasets/base-mainnet/stream' \
-H 'Content-Type: application/json' \
-d '{
"type": "evm",
"fromBlock": 23000000,
"toBlock": 23000010,
"fields": {
"block": {"number":true,"timestamp":true},
"transaction": {
"hash": true,
"from": true,
"to": true,
"value": true,
"sighash": true
}
},
"transactions": [
{
"to": [
"0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43"
]
}
]
}'
Basebase-mainnet/stream
Transactions on Base's largest DEX
Use Cases

What teams build with SQD

Ecosystem health dashboards with cross-chain comparisons
Whale and smart-money tracking across DEXs and lending
Gas and fee-market analytics
Cross-chain activity benchmarking for L2 comparisons
Institutional research on historical onchain datasets
Internal tooling on decoded onchain feeds

Frequently asked questions

How do I query SQD data from a dashboard?
SQD writes decoded data to standard databases and warehouses; your dashboard then queries those the same way it queries any other source. The Squid SDK persists to PostgreSQL via TypeORM with an auto-generated GraphQL API; the Pipes SDK has first-class outputs to PostgreSQL, ClickHouse, MongoDB, SQLite, and Parquet, plus a custom-target API for BigQuery, Snowflake, and Databricks. Connect Grafana, Metabase, Tableau, or Hex to the database, and SQL works as normal. The Portal itself is a streaming data source, not a SQL endpoint.
What's the difference between SQD and Dune?
Dune (and Flipside) is SQL-as-a-service on a curated, hosted dataset, optimized for ad-hoc exploration and public dashboards. SQD is the data layer underneath: raw, decoded, cross-chain data delivered through a streaming API or SDK into your own warehouse. Use Dune or Flipside for fast SQL on someone else's hosted data; use SQD when you need your own data, your own warehouse, chains those services do not cover, or production access without hosted-query rate limits. See SQD vs Dune.
Can I export to BigQuery or Snowflake?
Yes, via the Pipes SDK. Its custom-target API wraps a streaming pipeline into any destination, with BigQuery, Snowflake, and Databricks as documented patterns; first-class built-in targets are PostgreSQL, ClickHouse, MongoDB, SQLite, and Parquet on S3 (which BigQuery and Snowflake can read directly as external tables). See the Pipes SDK docs for the target API.
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.