This repository contains the OpenAPI specifications for Nodit's Web3 Data APIs, Node APIs, Webhook APIs, and related blockchain services.
reference/
├── manifest.json # Index of every chain × API surface and the methods supported
├── chains/ # Per-chain specs
│ └── <chain>/
│ ├── node-api/ # JSON-RPC / chain-native node methods
│ ├── web3-data-api/ # Indexed Web3 Data API endpoints
│ ├── webhook-api/ # Webhook subscription endpoints
│ └── flexible-webhook-api/ # Flexible Webhook (stream-based) endpoints
└── services/ # Cross-chain (chain-agnostic) service specs
├── multichain-api/
├── web3-data-api/
├── webhook-api/
└── flexible-webhook-api/
Each *.yaml file is a self-contained OpenAPI 3.1 document describing a single endpoint, method, or resource group.
Specs are grouped by chain, then by API surface. The internal layout of the Node API portion varies by chain family because it mirrors the chain's native namespacing:
| Chain family | Node API sub-structure |
|---|---|
| EVM chains | node-api/{debug,eth,net,web3,websocket}/ — Ethereum additionally has trace/. websocket/ holds Markdown specs for eth_subscribe/eth_unsubscribe. |
| Aptos | node-api/{accounts,blocks,events,general,tables,transactions,view}/ |
| Solana | node-api/{http,websocket}/ — HTTP RPC methods as YAML, subscribe/unsubscribe methods as Markdown under websocket/. |
| Sui | node-api/{sui,suix,unsafe}/ |
| Cosmos-based | cometbft-api/{json-rpc-api,rest-api}/ and cosmos-rest-api/ directories at the chain root (Injective and Sei additionally have an EVM-style node-api/). |
web3-data-api/, webhook-api/, and flexible-webhook-api/ use a flat resource grouping (e.g. blockchain.yaml, native.yaml, nft.yaml, token.yaml, stats.yaml, ens.yaml, asset.yaml, webhook.yaml, flexible-webhook.yaml). The exact set of resource files present depends on what each chain supports.
Cross-cutting service specs whose definitions are shared across many chains:
multichain-api/— cross-chain lookup endpoints (e.g.lookupEntities). Per-chain coverage is reported under each chain'smultichainApientry inmanifest.json.web3-data-api/— shared Web3 Data API resource definitions referenced by chain-specific Web3 Data specs.webhook-api/— shared webhook subscription definitions referenced by chain-specific Webhook specs.flexible-webhook-api/— shared Flexible Webhook (stream-based) definitions referenced by chain-specific Flexible Webhook specs.
A machine-readable index describing, for every chain, which API surfaces are supported and which methods/resources exist under each. The top-level shape is:
Notes:
- Each chain entry has five API axes:
nodeApi,web3DataApi,webhookApi,flexibleWebhookApi, andmultichainApi. Setsupported: falsefor axes the chain does not expose. nodeApiis not flat — it branches into chain-family sub-axes (evmJsonrpc,aptosRest,solanaJsonrpc/solanaWebsocket,suiJsonrpc,cometbftJsonrpc/cometbftRest/cosmosRest). A chain may carry more than one sub-axis (e.g. Injective and Sei have bothevmJsonrpcand the Cometbft/Cosmos REST sub-axes).webhookApiadds atypediscriminator (evmoraptos) that indicates which webhook spec shape applies.- For Cosmos-based chains, the CometBFT and Cosmos REST endpoints are both reported under
nodeApi, even though the underlying YAML files live in separatecometbft-api/andcosmos-rest-api/directories on disk.
The matrix below mirrors the supported flags in manifest.json (31 chains total: 24 Node API, 20 Web3 Data API, 10 Webhook API, 10 Flexible Webhook API, 17 Multichain API).
| Chain | Node API | Web3 Data API | Webhook API | Flexible Webhook API | Multichain API |
|---|---|---|---|---|---|
| Aptos | ✓ | ✓ | ✓ | ✓ | ✓ |
| Arbitrum | ✓ | ✓ | ✓ | ✓ | ✓ |
| Arc | ✓ | ✓ | ✓ | ✓ | |
| Avalanche | ✓ | ||||
| Babylon | ✓ | ||||
| Base | ✓ | ✓ | ✓ | ✓ | ✓ |
| Bitcoin | ✓ | ✓ | |||
| Bitcoin Cash | ✓ | ✓ | |||
| BNB | ✓ | ✓ | ✓ | ✓ | ✓ |
| Celestia | ✓ | ||||
| Chiliz | ✓ | ✓ | |||
| Cosmos | ✓ | ||||
| Cronos PoS | ✓ | ||||
| Dogecoin | ✓ | ✓ | |||
| Ethereum | ✓ | ✓ | ✓ | ✓ | ✓ |
| Ethereum Classic | ✓ | ✓ | |||
| Giwa | ✓ | ✓ | ✓ | ✓ | ✓ |
| Hippo | ✓ | ||||
| Initia | ✓ | ||||
| Injective | ✓ | ||||
| Kaia | ✓ | ✓ | ✓ | ✓ | ✓ |
| Luniverse | ✓ | ✓ | ✓ | ||
| Metal | ✓ | ✓ | |||
| Optimism | ✓ | ✓ | ✓ | ✓ | ✓ |
| Polygon | ✓ | ✓ | ✓ | ✓ | ✓ |
| Sei | ✓ | ||||
| Solana | ✓ | ||||
| Sui | ✓ | ||||
| Tron | ✓ | ✓ | |||
| World Chain | ✓ | ✓ | |||
| XRPL | ✓ | ✓ |
{ "chains": { "<chainName>": { "nodeApi": { "supported": true, // Sub-axis shape depends on the chain family — one or more of: // evmJsonrpc: { apis: [...], websocketApis: [...] } // aptosRest: { apis: [...] } // solanaJsonrpc: { apis: [...] } // solanaWebsocket: { apis: [...] } // suiJsonrpc: { apis: [...] } // cometbftJsonrpc: { apis: [...] } // cometbftRest: { apis: [...] } // cosmosRest: { apis: [...] } }, "web3DataApi": { "supported": true, "apis": [ ... ] }, "webhookApi": { "supported": true, "type": "evm" | "aptos", "apis": [ ... ] }, "flexibleWebhookApi": { "supported": true, "apis": [ ... ] }, "multichainApi": { "supported": true, "apis": [ ... ] } } }, "summary": { "totalChains": 31, "nodeApiChains": 24, "web3DataApiChains": 20, "webhookApiChains": 10, "flexibleWebhookApiChains": 10, "multichainApiChains": 17 } }