Skip to main content

EasyLayer vs The Graph, SQD, and Blockchain APIs

EasyLayer is a self-hosted framework for building real-time blockchain state services. You define what on-chain data to track. The framework keeps that state live and consistent on every new block, with automatic reorganization handling built in. For large-scale historical storage, the enterprise Read Model layer projects the same event stream into SQL or S3 and handles unlimited dataset sizes.

The tools below operate differently. Here is where each fits.


Comparison Table

EasyLayerThe GraphSQD (Subsquid)Alchemy / QuickNode
HostingSelf-hosted (your infra)CloudCloud / Self-hostedCloud
Data locationYour serversTheir serversTheir servers / yoursTheir servers
Recurring feesNoneGRT tokensPaid plansPer-request / plans
Bitcoin / UTXO✅ NativeLimited (via API)
EVM chains
Desktop apps (Electron)✅ (IndexedDB, SQLite)
Browser extensions✅ (IndexedDB)
Mempool monitoring✅ (optional)Limited
Historical queries (any block height)✅ (Event Sourcing)PartialPartial
Custom state/schema✅ Full control via Aggregate ModelGraphQL schemaGraphQL schemaFixed response format
Reorg handling✅ Automatic✅ Built-in✅ Built-in
LanguageTypeScript / Node.jsAssemblyScript, RustTypeScriptREST / GraphQL
Setup timeMinutes (npm install)Hours to daysHoursMinutes

What The Graph and SQD Are Good At

The Graph and SQD are cloud indexing platforms built around GraphQL schemas for popular public smart contracts. They work well when:

  • You need data from well-known public protocols (Uniswap, Aave, popular NFT contracts)
  • You want to start quickly without setting up any infrastructure
  • Your data needs are covered by existing subgraphs or squids

If you need Ethereum transfer events from a popular contract and don't care where the data lives, The Graph or SQD will get you there faster.


Where EasyLayer Fits Better

You need real-time state with automatic reorg handling

EasyLayer's core value is maintaining consistent, live state that updates on every block and recovers from reorganizations automatically. Other tools give you data streams or query endpoints. EasyLayer gives you a state service: the data is always current, always consistent, always reflecting the canonical chain.

You need to store full historical data at scale

The open-source Write Model handles real-time state efficiently. When you need to store entire chain history or all wallet addresses across a chain, the enterprise Read Model builds SQL or S3 projections on top of the same event stream with no dataset size limits. This is the path for indexers that need to handle data volumes comparable to The Graph or SQD but on your own infrastructure.

You need Bitcoin or UTXO-based chains

The Graph and SQD do not support Bitcoin, Litecoin, Dogecoin, or other UTXO chains. EasyLayer's bitcoin-crawler is built specifically for UTXO-model chains. You can track wallet balances, UTXOs, mempool activity, and fee rates natively.

You need your data on your own servers

With The Graph, your indexed data lives on The Graph's network. EasyLayer always stores data on your infrastructure: PostgreSQL, SQLite, or IndexedDB. This matters for compliance, data privacy, and avoiding vendor lock-in.

You have custom state logic

The Graph and SQD expose blockchain data through GraphQL schemas. EasyLayer lets you define exactly what state to maintain in TypeScript, with full control over structure and business logic.

You are building a desktop app or browser extension

EasyLayer ships browser-safe bundles with IndexedDB as the storage backend. You can run a full blockchain state service inside an Electron app, a Chrome extension, or a browser SharedWorker. The Graph and SQD are server-only.

You need mempool monitoring

EasyLayer includes optional mempool monitoring for Bitcoin and EVM chains. Cloud indexers do not cover this.


When to Stick With Cloud Platforms

Be honest: if you need to index well-known DeFi protocols quickly and don't want to manage any infrastructure, The Graph or SQD will get you there faster. EasyLayer is not the right choice if:

  • You need data from existing public subgraphs without any customization
  • You can't afford to manage a VPS or your own node/provider
  • Your team has no TypeScript/Node.js experience
  • You need a protocol that EasyLayer doesn't support yet (Solana, TON — coming soon)

Questions?

If you're not sure which tool fits your use case, open a thread in GitHub Discussions. Describe what you're building — we'll give you an honest answer.