The Graph is the canonical web3 indexing protocol. MeterCall is the canonical web3 serving protocol. For most dApps they are complementary, not competitive.
The Graph indexes blockchain history into queryable subgraphs. You write a GraphQL schema + mappings; Indexers run graph-node and serve your subgraph. Useful for "give me all NFTs this address owned between 2022 and now."
MeterCall serves live RPC + real-world API calls in real time. No pre-indexing. Useful for "call this contract, get a price quote, hit Stripe." It can also serve cached indices — but it's not trying to replace subgraphs.
| Dimension | MeterCall L4 | The Graph |
|---|---|---|
| Primary workload | Live RPC + real-world API + bridge | Blockchain indexing |
| Query language | JSON-RPC, REST, any API surface | GraphQL (subgraphs) |
| Latency target | < 100ms p50 | Seconds (query builds traverse indexed graphs) |
| Pre-deployment work | None — point your app at the endpoint | Deploy a subgraph, wait for sync |
| Operator hardware | 512 MB RAM, proxies upstream | Heavy — full archive nodes, lots of disk |
| Token | PCP (single token) | GRT (well-established) |
| Launch | 2026 genesis | Mainnet 2020, mature |
Use The Graph when…
Use MeterCall when…
Use both when… your app needs live state (MeterCall) and historical queries (Graph). We even cache subgraph responses at the MeterCall edge to cut query cost.