Indexing Co vs The Graph / Subgraphs
How Indexing Co's pipeline architecture compares to The Graph's subgraph model and decentralized indexing protocol.
The Graph pioneered decentralized blockchain indexing. Its subgraph model gave developers a standard way to index smart contract events and query them via GraphQL. The protocol supports 60+ chains, has a large open-source community, and runs on a token-incentivized network of indexers. That matters.
But the architecture carries trade-offs that show up fast in production: AssemblyScript-only transforms, single-chain subgraphs, full re-indexes on schema changes, and variable GRT token pricing that makes costs unpredictable at scale. Indexing Co was built to solve these without sacrificing flexibility.
Architecture
Subgraphs bundle indexing logic, database schema, and storage into one unit. They're contract-centric: you define which contract events to index, write mappings in AssemblyScript, and query results through a GraphQL endpoint.
This coupling creates friction:
- Change your schema? Re-index from block zero.
- Need data from a new chain? Deploy a separate subgraph.
- Want SQL access? Not available, GraphQL only.
- Need wallet data, block data, or cross-chain data? Out of scope.
Indexing Co separates sourcing, transformation, and delivery into independent layers. Each layer can change without affecting the others.
- Source: Connect to any chain. Add new chains without rewriting transforms.
- Transform: Write TypeScript (not AssemblyScript). Change your logic without re-indexing.
- Deliver: Data goes to your PostgreSQL, BigQuery, webhook, or GraphQL endpoint. Your choice.
Feature Comparison
| Indexing Co | The Graph / Subgraphs | |
|---|---|---|
| Language | TypeScript | AssemblyScript |
| Query interface | SQL, GraphQL, webhooks | GraphQL only |
| Data destination | Your database | Hosted GraphQL endpoint |
| Multi-chain | Single pipeline definition | Separate subgraph per chain |
| Schema changes | Hot-swap transforms | Full re-index required |
| Block-to-database delivery | sub-500ms (dedicated infra) | Seconds when synced, hours to days for initial sync |
| Data scope | Contracts, wallets, blocks, transactions | Contract events only |
| VM support | EVM, Solana, Cosmos, Move | EVM-focused |
| Chains | 100+ | 60+ |
| Pricing | Fixed pipeline subscription | GRT token fees (variable) |
| Reorg handling | Built-in confirmation depth | Varies by host |
| Backfill speed | Hours for full history | Hours to days (re-index) |
| Decentralization | Managed service | Token-incentivized indexer network |
Where Subgraphs Fall Short
When The Graph Is the Right Call
- Decentralization is a hard requirement. If your project needs censorship-resistant data infrastructure with no single point of failure, The Graph's decentralized indexer network delivers that.
- Simple single-chain frontends. A straightforward dApp on one EVM chain that only needs contract event data via GraphQL.
- Open-source ecosystem. Large developer community, extensive documentation, and community-built subgraphs you can fork and deploy.
When to Use What
You're building a simple, single-chain frontend that only needs contract event data and you're comfortable with GraphQL.
You need multi-chain support, sub-500ms latency, SQL access, custom delivery targets, non-EVM chains, or data beyond contract events.
Related Reading
Make the Switch
Migrate from subgraphs to Indexing Co pipelines. Most teams are up and running in a day.