Build dashboards, activity views, and application APIs from indexed blockchain entities. GraphOps Subgraphs serves the open Subgraph standard over GraphQL, so you can query an existing deployment on The Graph Network or a Subgraph you publish yourself, and let GraphOps keep your own Subgraph indexed.
- Best for
- Applications that already use GraphQL schemas and indexed entity data.
- Interface
- GraphQL over HTTPS
- Plan for
- Indexing progress, schema compatibility, deployment selection, and Endpoint Alias updates.
Query an existing Subgraph
Create an API key, choose a Deployment CID, and run your first GraphQL query.
Choose a stable identifier
Decide who controls the version your application queries.
Keep your Subgraph indexed
Let GraphOps run indexing and promote new versions when they are ready.
Each Subgraph defines its own schema of entities and relationships. GraphOps answers your query from
the latest indexed block and reports that block in _meta. Everything after the response belongs to
your application: which fields you request, how you page through results, and how you present
freshness to users.
What you can build
- Views that read entities, not node calls. Show the largest pools, recent swaps, or open positions with one query. See Query a Subgraph.
- Exports and sync jobs over large collections. Walk every entity in bounded pages that a worker can resume. See Paginate results.
- Freshness checks with every answer. Detect indexing lag and errors before stale data reaches users. See Monitor sync health.
- Releases behind a stable URL. Move your application to a new Subgraph version without changing its endpoint. See Manage Endpoint Aliases.
Choose Subgraphs when
Use Subgraphs when your application needs entities and their relationships, such as pools, positions, or votes, and an existing GraphQL schema fits or you can build one with Graph CLI.
Use another GraphOps service when your job is different:
| Need | Use |
|---|---|
| Direct contract reads at an explicit block, or transaction submission | RPC |
| Block-by-block history or an ordered stream into your own storage | Substreams |
Choose how you address a Subgraph
Every query goes to one of three endpoint shapes. The choice decides who moves your application to a new version:
| Identifier | Endpoint shape | Who changes the version |
|---|---|---|
| Deployment CID | /v1/deploymentCID/<DEPLOYMENT_CID> | No one. It always serves the same deployment. |
| Graph Network Subgraph ID | /v1/subgraphId/<SUBGRAPH_ID> | The Subgraph owner, by publishing on The Graph Network. |
| Endpoint Alias | /v1/alias/<ALIAS> | Your organization, through the Endpoint Alias target. |
Compare the options in Identifiers and Endpoint Aliases. Query access covers Subgraphs available through The Graph Network; managed indexing runs on the networks listed in Supported networks.
Plan for production
Before you rely on query results:
- Include
_metaon important reads and design for indexing lag. Recent data can be corrected by a chain reorganization. - Query the current indexed view. GraphOps Subgraphs are pruned, so historical block queries are not supported.
- Treat a GraphQL
errorsarray as a failure even when the HTTP status is200. - Use an Endpoint Alias for production clients so a release does not require an application change.
Queries and managed indexing use the rates on Usage and limits.