Indexing / Data·EVM · Multi-chain
Ormi
Real-time blockchain indexing engine. 0xGraph is a Graph-protocol-compatible subgraph indexer with sub-second query latency and 4,000+ RPS, plus REST and SQL APIs across 70+ chains for DeFi, RWA, gaming, and AI agent backends.
- 01real-time subgraphs (chain head, sub-second latency)
- 02high-RPS production GraphQL
- 03no-code subgraph deployments
- 04migrating from The Graph hosted service
- 05AI agents needing live onchain state
- pnpm add -D @graphprotocol/graph-cli
- pnpm add graphql graphql-request
| Variable | Scope | Description |
|---|---|---|
| ORMI_API_KEY | Server | Ormi API key from the Ormi dashboard. Required for authenticated 0xGraph and REST endpoints. |
Ormi 0xGraph reuses The Graph's subgraph manifest format. Deploy via the Ormi CLI or dashboard: `graph deploy --node https://api.0xgraph.xyz/api/deploy --ipfs https://api.0xgraph.xyz/api/ipfs <slug>`. Query the GraphQL endpoint with `graphql-request`: `POST https://api.0xgraph.xyz/api/public/<deployment-id>/graphql` with header `x-api-key: ${ORMI_API_KEY}` and body `{ query: '{ transfers(first: 10, orderBy: blockTimestamp, orderDirection: desc) { id from to value } }' }`. For pre-built data use the REST APIs (`GET /v1/wallets/{address}/balances?chain=ethereum`). Always include `_meta { block { number, hash } hasIndexingErrors }` in queries to detect lag and surface a fallback when indexing is behind.
- ⚑0xGraph claims sub-second latency at the chain tip, but during reorgs the same query can return different results across consecutive calls — gate critical UI on a confirmation depth or use `_meta` to require a minimum block.
- ⚑Free tier on the hosted service is rate-limited (RPS and monthly query caps); production apps targeting 1k+ RPS need an Enterprise plan.
- ⚑Chain coverage is 70+ chains but skews EVM — Solana, Bitcoin, Cosmos, Sui, Aptos are not supported; verify chain availability in the Ormi dashboard before committing.
- ⚑Subgraphs migrated from The Graph deploy 1:1 but the query URL and deploy node are different — don't reuse Graph gateway URLs or Studio deploy keys.
- ⚑Schema changes redeploy as a new subgraph version with a fresh sync — pin clients to a specific deployment ID and roll forward, don't depend on the `latest` alias for production reads.