An accurate, honest comparison of Envio against alternative indexers. Benchmarks you can run yourself, and every claim linked to its source.
Capability data checked 17 September 2026. Benchmark tables refresh automatically, last run 16 September 2026.






Indexing is not one workload, so one number cannot rank it. Pick a scenario to see what it tests and how each indexer did.
How well does a tool cope with data it has to read back? Every rETH transfer changes a balance, so each one means finding the row, updating it and saving it again.
How fast can a tool write? Every USDC transfer is stored once, with nothing to aggregate and nothing to look up first. This is the ingestion path on its own.
Not everything a tool needs is in the logs. On the eight busiest ERC-20s, every approval with a non-zero value is followed by a read of the allowance at that block. The benchmark answers all 15,703 calls itself at a fixed 200ms, so what this measures is how many a tool keeps in flight at once. The top two are joint fastest in the repository's own table.
What happens when you do not know the contracts up front? The tool watches the Safe proxy factories, and each of the 82,268 proxies they create becomes another contract it has to follow from that moment on.
Every USDC transfer on Solana, through the chain's busiest program. Transfers hide inside swaps and routers, and many never say which token they moved, so the work is in resolving them rather than reading them.
The benchmark is maintained by Envio. Multipliers are worked out from the rates shown, so they can differ from the repository's own column by a rounding step. Every RPC row reads the same endpoint, Envio HyperRPC, and ground truth on the EVM scenarios is rebuilt from HyperSync logs. Envio Subgraph rows run each scenario's unmodified subgraph directory on a pinned subgraph build of envio from npm. External contract calls has no Substreams row, because the call would run on the Substreams server rather than against the endpoint the benchmark provides.
Run the whole suite the way CI does, then compare what you get with the table above.
git clone https://github.com/enviodev/open-indexer-benchmark && cd open-indexer-benchmark && ENVIO_API_TOKEN=your-token SQD_API_KEY=your-key node scripts/run-benchmarks.tsNote: the repository asks for Node 23.6 or newer, Docker, an Envio API token and an SQD API key. Some numbers may differ from the table, since these runs happen on GitHub's standard CI machine and your hardware, your network and the rate limits on whichever endpoints and tokens you use are all your own.
Open the tool you are weighing us against. Every cell links to the page it came from, and the benchmark tables are regenerated from the repository on every deploy. Anything we could not confirm from a public source says so.
A subgraph is deployed once per network, while one HyperIndex indexer can cover several EVM chains. The Envio Indexer on HyperSync leads Graph Node on every EVM scenario in the benchmark. Graph Node is MIT and Apache-2.0 licensed, and Envio's is a custom EULA. A subgraph's schema and manifest carry over to HyperIndex, with mappings ported from AssemblyScript to TypeScript.
On these workloads, yes. In the 16 September 2026 run of the Open Indexer Benchmark, the Envio Indexer reading HyperSync recorded 260.6 times the events per second of a subgraph on Graph Node reading RPC on state aggregation, and 581.2 times on the decoded event stream, the two scenarios Graph Node finished inside the 300 second cap. On external contract calls the Envio Indexer on HyperSync recorded 209.7 times Graph Node's rate, against a Graph Node run that did not finish the range.
Yes. The schema carries over with small changes, the manifest becomes a single config.yaml and AssemblyScript mappings are ported to TypeScript. There is a migration guide, Claude skills that guide an AI assistant through it, and a white-glove service that will do the migration for you.
When you want a decentralised, token-incentivised network rather than a single vendor, when you want to query the ecosystem of public subgraphs that already exist, or when an OSI licence is a requirement. Graph Node is MIT and Apache-2.0 licensed and can be self-hosted.
SQD's public Portal lists 137 datasets, which it counts per dataset rather than per chain, and Envio has first-class HyperSync support for 79+ EVM chains and will index any EVM chain over your own RPC. The Squid SDK is Apache-2.0, and Envio's is a custom EULA. Both index Solana and Hyperliquid's EVM chain. Envio adds Fuel, and SQD adds Substrate, Bitcoin and Hyperliquid HyperCore. On the benchmark the two are joint fastest on external contract calls, and the Envio Indexer on HyperSync leads the other three EVM scenarios.
It depends on the scenario. In the 16 September 2026 benchmark run the two are joint fastest on external contract calls. The Envio Indexer on HyperSync recorded 14.7 times the Squid SDK's rate on state aggregation, 5.4 times on the decoded event stream and 3.7 times on factory contract registration, where both Squid SDK runs did not match ground truth.
SQD's public Portal answers with no key, rate limited to 20 requests per 10 seconds. HyperSync needs an Envio API token, which is free, and indexers deployed to Envio Cloud do not need you to supply one.
When you need non-EVM coverage Envio does not have, such as Substrate, Bitcoin or Hyperliquid HyperCore, when you want a public endpoint that answers with no key, or when you want a decentralised network rather than a single vendor. The Squid SDK is Apache-2.0, can write to any TypeORM-compatible database, and SQD Network pays independent worker operators in its own token.
Goldsky is a managed service listing 151 chains across 272 networks, with cross-chain subgraphs on its paid plans. Envio can be run yourself or on Envio Cloud, and it publishes throughput figures in the Open Indexer Benchmark, which does not currently run a Goldsky configuration, so the two have no measured comparison.
Goldsky is a managed service, though its Turbo engine, Streamling, can run on your own machine without Goldsky's chain data. HyperIndex can be run yourself, reading HyperSync with a free API token or any EVM chain from your own RPC.
Goldsky gives a one-time $100 credit, then charges as you go, with subgraph worker hours at $0.05 after the first 2,250 a month and entities at $4 per 100,000 after the first 100,000. Envio has a free Development plan that is deleted at 30 days or sooner on usage limits, and Production Small hosting at $70 a month.
When you want data delivered into your own systems with no infrastructure to run. Turbo pipelines stream into PostgreSQL, ClickHouse, Kafka, S3 and webhooks, their chain list is longer than Envio's first-class list, and existing subgraphs move over unchanged, deployed with Goldsky's own CLI.
SubQuery lists 304 networks on its own count, the most of any indexer on this page, across Polkadot, Cosmos, Stellar, NEAR, Concordium, Solana, Algorand and Starknet, and it is GPL-3.0, where Envio's is a custom EULA. Envio covers EVM chains, Solana and Fuel, and the Envio Indexer on HyperSync leads SubQuery on every EVM scenario where SubQuery recorded a rate.
SubQuery, on its own count. It lists 304 networks. Envio has first-class HyperSync support for 79+ EVM chains, plus Solana and Fuel, and will index any EVM chain over your own RPC endpoint.
In the 16 September 2026 benchmark run, yes. The Envio Indexer on HyperSync recorded between 323.4 and 2,726.5 times more events per second than SubQuery across the three scenarios where SubQuery recorded a rate, and SubQuery indexed nothing inside the 300 second cap on factory contract registration.
When your chains are outside EVM and Solana. SubQuery lists 304 networks including Polkadot, Cosmos, Stellar, NEAR, Concordium, Algorand and Starknet, and it is GPL-3.0, so you can run and modify it yourself. Envio has first-class HyperSync support for 79+ EVM chains, plus Solana and Fuel.
Ponder is MIT licensed, runs on any EVM chain over your own RPC and is self-hosted with no vendor pricing. Envio's is a custom EULA, and Envio Cloud is a paid managed option. Ponder indexes EVM chains only. Envio also covers Solana and Fuel, and the Envio Indexer on HyperSync leads Ponder on every EVM scenario in the benchmark.
In the 16 September 2026 benchmark run, yes. The Envio Indexer on HyperSync recorded between 32.8 and 1,681.5 times more events per second than Ponder across the four scenarios. Two of Ponder's runs did not finish the verification range inside the 300 second cap.
Ponder is MIT licensed. Envio's code is public under a custom, non-commercial licence, and generated code is free to use, copy and modify. Ponder's licence is the more permissive of the two.
When you want a small MIT-licensed framework you run entirely yourself, with no vendor in the path and no licence restrictions, and your chains are EVM. It also serves SQL over HTTP and Postgres directly alongside GraphQL.
Ormi hosts The Graph-compatible subgraphs and lists 47+ networks on its chain list. Several rows in the table above are marked not verified because Ormi's public docs do not cover them, and Ormi does not appear in the Open Indexer Benchmark.
Ormi publishes a 14 day free trial and $75 per subgraph a month. Envio has a free Development plan that is deleted at 30 days or sooner on usage limits, and Production Small hosting at $70 a month.
Both take existing subgraphs. Ormi runs AssemblyScript mappings as The Graph does. HyperIndex keeps the schema and manifest, with mappings ported to TypeScript, and Envio also offers subgraph hosting with a subgraph-compatible GraphQL endpoint.
When you want existing subgraphs hosted with flat, predictable pricing. Ormi charges per subgraph per month rather than metering queries or entities, and takes existing manifests, mappings and schemas as they are.
A subgraph's schema carries over with small changes, the manifest becomes a single config.yaml and AssemblyScript mappings are ported to TypeScript.
The manifest becomes a config.yaml that can hold several chains, and the handler moves from AssemblyScript to TypeScript, with save replaced by a context set.
- kind: ethereum/contract
name: PositionManager
network: mainnet
source:
abi: PositionManager
address: "0xbD216513d74C8cf14cf4747E6AaA6420FF64ee9e"
startBlock: 21689089
mapping:
language: wasm/assemblyscript
eventHandlers:
- event: Transfer(indexed address,indexed address,indexed uint256)
handler: handleTransfername: uni-v4-indexer
chains:
- id: 1
start_block: 21689089
contracts:
- name: PositionManager
address: "0xbD216513d74C8cf14cf4747E6AaA6420FF64ee9e"
events:
- event: Transfer(address indexed from, address indexed to, uint256 indexed id)export function handleSubscription(event: SubscriptionEvent): void {
const subscription = new Subscribe(event.transaction.hash + event.logIndex);
subscription.tokenId = event.params.tokenId;
subscription.address = event.params.subscriber.toHexString();
subscription.save();
}indexer.onEvent(
{ contract: "PoolManager", event: "Subscription" },
async ({ event, context }) => {
context.Subscription.set({
id: event.transaction.hash + event.logIndex,
tokenId: event.params.tokenId,
address: event.params.subscriber,
});
},
);Both examples are the Uniswap v4 pair from the migration guide, trimmed to the lines that change. Read the full guide
Things written about Envio that are not true today. Each is quoted from its live page, next to the Envio page that disproves it.
"manual account mapping; no automatic IDL/Anchor decoding"
Source: sqd.dev/compare/sqd-vs-envio, facts verified June 2026HyperIndex decodes Solana instructions from an Anchor, Shank or Codama IDL. Discriminators, argument layouts and account names, including nested account groups, all come from the file. A layout is declared by hand only for a program with no IDL, or to override one.
Solana Decoding Docs
Hosting model "Self-hosted", and "requires teams to manage infrastructure, scaling, monitoring, and reliability themselves"
Source: blog.ormilabs.com, Best Blockchain Indexers in 2026, last updated May 2026HyperIndex can be self-hosted, and it can also run on Envio Cloud, a fully managed hosting service that provides the infrastructure, scaling and monitoring for you.
Envio Cloud Docs
HyperSync is not EVM only. HyperIndex indexes Solana through HyperSync for Solana, the same data engine behind its EVM indexing, and Fuel through HyperFuel, its Fuel equivalent.
Solana Docs"HyperIndex doesn't support Solana." and, in their table, "Non-EVM chains: Not supported"
Source: indexing.co/compare/envioHyperIndex indexes Solana, and the Solana API is stable. It reads from HyperSync for Solana rather than an RPC node, and HyperIndex also covers Fuel.
Solana DocsPricing listed as "Not public (contact via Discord)"
Source: indexing.co/compare/envioEnvio publishes its prices. Hosting runs from a free Development plan to Production plans at $70, $300 and $800 a month, with Dedicated priced on request, and HyperSync has its own published plans.
Hosting Pricing
"Reorgs in Envio require handler-level logic in application code."
Source: moralis.com/data-feeds-by-continuumReorg handling is built into HyperIndex and on by default. It rolls back every entity your handlers wrote, and detection is guaranteed when reading from HyperSync. Only side effects outside the database, such as calls to external APIs, are yours to handle.
Reorg Support DocsThe Open Indexer Benchmark started in May 2025 as a fork of Sentio's research. Sentio later made their own repository private, and Envio has maintained the public fork since, so the whole repository is public and anyone can check or rerun it. In the four EVM scenarios shown here, each tool runs in GitHub CI, one job per tool per data source, started the way its own documentation recommends for production. Each tool's output is checked against ground truth rebuilt from HyperSync logs, and every RPC row reads the same endpoint, Envio HyperRPC. The repository notes contributions from the SQD team, and issues or pull requests are the way to correct a row that looks wrong.
It depends on the workload, which is why the benchmark runs several scenarios rather than one. In the 16 September 2026 run, HyperIndex is fastest at state aggregation, at factory contract registration, where the fastest row is HyperIndex running an unmodified subgraph, and on Solana USDC transfers. It is joint fastest with the Squid SDK on external contract calls, and second on the decoded event stream, where Rindexer, which reads Envio's HyperSync, is ahead. Every scenario is in a public repository you can clone and run.
It depends on the workload and on the data source. In the 16 September 2026 run of the Open Indexer Benchmark, the Envio Indexer reading HyperSync processed 260.6 times more events per second than a subgraph on Graph Node reading RPC on state aggregation, and 581.2 times more on the decoded event stream. Those are the two scenarios Graph Node finished inside the 300 second cap. Much of that gap is the data source, so it is worth reading the rows where both read the same RPC endpoint.
In some cases, yes, with no rewrite at all. The pinned Envio Subgraph build runs an existing subgraph directory as it is, which is what the benchmark's own Envio Subgraph rows do. For a full move to native HyperIndex, the schema carries over with small changes, the manifest becomes a single config.yaml and AssemblyScript mappings are ported to TypeScript. There are guides for The Graph and for Alchemy Subgraphs, which Alchemy sunset on 8 December 2025, HyperIndex ships Claude skills that guide an AI assistant through the migration, and Envio's white-glove service will do the migration for you.
Yes, and the Solana API is stable. HyperIndex indexes Solana at the instruction level, reading from HyperSync rather than an RPC node. Point a program at an Anchor, Shank or Codama IDL and the discriminators, arguments and accounts are derived for you. Inner instructions and CPIs decode the same way as top level ones, with their full instruction path, and pre and post SPL Token and Token-2022 balances can be attached to each transaction. It is the same config.yaml, the same TypeScript handlers and the same Envio Cloud deploy as an EVM indexer, though a Solana indexer is its own indexer rather than another chain inside an EVM one.
No. An indexer's config.yaml has a single ecosystem field that selects the chain family it targets, either evm, svm or fuel, so one indexer covers one of them. Ethereum and Monad sit in the same indexer because both are EVM, and Solana runs as its own indexer alongside it, with its own config.yaml and handlers. Both deploy to Envio Cloud the same way.
To read from HyperSync, yes, and the token is free. HyperSync returns 401 without one, so an indexer you run yourself needs it set. Indexers deployed to Envio Cloud do not need you to supply one.
An RPC provider serves raw chain data one request at a time. An indexer reads that data continuously, runs your logic over it, and writes the result into a database you can query. Alchemy, QuickNode, Infura and Helius are mainly RPC providers. The Graph, SQD, Goldsky, SubQuery, Ponder, Ormi and Envio are indexers, and some of them, including Goldsky and Envio, also offer RPC endpoints. Most production teams use both.