{"owner":"subquery","repo":"subql","hasSkills":true,"totalSkillsCount":5,"totalTokensCount":10191,"categories":["claude-rule","plugin-manifest"],"hasMcp":false,"mcpConfig":null,"found":["CLAUDE.md","packages/cli/README.md","packages/node/README.md","packages/query/README.md","packages/utils/README.md"],"skills":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n\n## Plan and Reivew\n\n### Before Starting work\n- Always in planning mode, to make a plan\n- After the plan is made, make sure to write the plan to ./.claude/tasks/TASK_NAME.md\n- The plan should be a detailed implementation and the reasoning behind them as well as the tasks broken down\n- If the task requires external knowledge or certain dependencies, also research to get the latest knowledge. (Use the Task tool for research)\n- Don't over plan it, always design an MVP\n- Once you make the plan, firstly ask me to review it . Do not continue until I approve the plan\n\n### While implementing\n- The plan should be updated as you work\n- After completing tasks in the plan you should append a detailed description of the channges you made, so the following tasks can be handed over to other engineers\n\n## Development Commands\n\n### Building\n- `yarn build` - Build all packages in the workspace using TypeScript\n- Individual package builds use `tsc -b` and copy necessary files (e.g., CLI templates)\n\n### Testing\n- `yarn test` - Run Jest tests with coverage in UTC timezone\n- `yarn test:ci` - Run tests in CI mode with specific patterns\n- `yarn test:docker` - Run tests in Docker containers\n\n### Linting and Code Quality\n- `yarn lint` - Run ESLint across all TypeScript files in packages\n- Uses ESLint with TypeScript support, Prettier, and various plugins\n- Configured with husky pre-commit hooks and lint-staged\n\n### CLI-Specific Commands (packages/cli)\n- `yarn build` - Builds CLI and copies templates to lib/\n- `yarn format` - Format code using Prettier\n- `yarn codegen` - Generate GraphQL and API client code\n- `yarn codegen:graphql` - Generate GraphQL types\n- `yarn codegen:chs` - Generate consumer host service API client\n\n## Project Architecture\n\n### Monorepo Structure\nThis is a Yarn workspace monorepo containing multiple packages:\n\n- **`@subql/cli`** - Command-line interface for SubQuery projects (OCLIF-based)\n- **`@subql/node`** - Substrate-specific SubQuery indexer implementation\n- **`@subql/node-core`** - Core chain-agnostic indexing functionality\n- **`@subql/query`** - GraphQL query service\n- **`@subql/common`** - Shared utilities and types\n- **`@subql/common-substrate`** - Substrate-specific common utilities\n- **`@subql/types-core`** - Core type definitions\n- **`@subql/utils`** - General utility functions\n\n### CLI Commands Architecture\nThe CLI uses OCLIF framework with commands organized by functionality:\n\n- **Core project lifecycle**: `init`, `build`, `publish`\n- **Code generation**: `codegen` (GraphQL types, ABI imports)\n- **Multi-chain support**: `multi-chain add`\n- **Network operations**: Commands for SubQuery Network (deployments, projects, API keys, boosts)\n- **OnFinality hosting**: Project and deployment management\n- **Migration tools**: Project upgrade utilities\n- **MCP integration**: Model Context Protocol support for AI tools\n\n### Key Technologies\n- **TypeScript** throughout with strict configuration\n- **OCLIF** for CLI framework\n- **Jest** for testing with custom module mapping for workspace packages\n- **ESBuild** and **Webpack** for bundling\n- **GraphQL** code generation\n- **Zod** for schema validation\n- **Ethers.js** for Ethereum integration\n- **WalletConnect** for wallet interactions\n\n### Development Patterns\n\n#### Package Dependencies\nUses Yarn workspace protocol (`workspace:~`) for internal package dependencies to ensure proper linking during development.\n\n#### Testing Setup\n- Custom Jest configuration with module name mapping for workspace packages\n- UTC timezone enforcement for consistent test behavior\n- Coverage collection across multiple packages\n- Special handling for Polkadot packages in transform ignore patterns\n\n#### CLI Command Structure\nCommands follow a consistent pattern:\n- Input validation using Zod schemas\n- Adapter functions for shared logic between CLI and MCP modes\n- Structured logging and error handling\n- Progress indication using ora spinner\n\n#### MCP Integration\nThe CLI supports Model Context Protocol for AI tool integration, allowing commands to be executed through AI interfaces like Cursor.\n\n### Build System\n- TypeScript compilation with project references\n- Template copying for CLI (EJS templates in src/template → lib/template)\n- OCLIF manifest generation for command discovery\n- Automatic README generation from command help\n\n### Network Support\nSubQuery supports multiple blockchain networks:\n- Polkadot/Substrate (primary)\n- Ethereum and EVM-compatible chains\n- Cosmos/CosmWasm\n- Algorand, NEAR, Stellar, Solana, Starknet, Concordium\n\nEach network has its own implementation repository, with this repo containing the core Substrate implementation and shared components.\n","packages/cli/README.md":"# @subql/cli\n\nCLI for SubQuery\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/@subql/cli.svg)](https://npmjs.org/package/@subql/cli)\n[![Downloads/week](https://img.shields.io/npm/dw/@subql/cli.svg)](https://npmjs.org/package/@subql/cli)\n[![License](https://img.shields.io/npm/l/@subql/cli.svg)](https://github.com/subquery/subql/blob/main/packages/cli/LICENSE)\n\n<!-- toc -->\n\n- [@subql/cli](#subqlcli)\n- [Usage](#usage)\n- [Commands](#commands)\n<!-- tocstop -->\n\n# Usage\n\n<!-- usage -->\n\n```sh-session\n$ npm install -g @subql/cli\n$ subql COMMAND\nrunning command...\n$ subql (--version)\n@subql/cli/6.6.3-0 linux-x64 node-v24.11.1\n$ subql --help [COMMAND]\nUSAGE\n  $ subql COMMAND\n...\n```\n\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n\n- [`subql build [LOCATION]`](#subql-build-location)\n- [`subql build-manifest [LOCATION]`](#subql-build-manifest-location)\n- [`subql codegen [LOCATION]`](#subql-codegen-location)\n- [`subql codegen:import-abi LOCATION`](#subql-codegenimport-abi-location)\n- [`subql import-abi LOCATION`](#subql-import-abi-location)\n- [`subql init NAME`](#subql-init-name)\n- [`subql mcp`](#subql-mcp)\n- [`subql migrate`](#subql-migrate)\n- [`subql multi-chain:add [LOCATION]`](#subql-multi-chainadd-location)\n- [`subql network:add-deployment-boost`](#subql-networkadd-deployment-boost)\n- [`subql network:connect-wallet`](#subql-networkconnect-wallet)\n- [`subql network:create-api-key NAME`](#subql-networkcreate-api-key-name)\n- [`subql network:create-deployment`](#subql-networkcreate-deployment)\n- [`subql network:create-flex-plan`](#subql-networkcreate-flex-plan)\n- [`subql network:create-project`](#subql-networkcreate-project)\n- [`subql network:disconnect-wallet`](#subql-networkdisconnect-wallet)\n- [`subql network:list-account-boosts`](#subql-networklist-account-boosts)\n- [`subql network:list-api-keys`](#subql-networklist-api-keys)\n- [`subql network:list-deployment-boosts`](#subql-networklist-deployment-boosts)\n- [`subql network:list-deployment-indexers`](#subql-networklist-deployment-indexers)\n- [`subql network:list-deployments`](#subql-networklist-deployments)\n- [`subql network:list-flex-plans`](#subql-networklist-flex-plans)\n- [`subql network:list-projects`](#subql-networklist-projects)\n- [`subql network:remove-api-key NAME`](#subql-networkremove-api-key-name)\n- [`subql network:remove-deployment-boost`](#subql-networkremove-deployment-boost)\n- [`subql network:stop-flex-plan`](#subql-networkstop-flex-plan)\n- [`subql network:swap-deployment-boost`](#subql-networkswap-deployment-boost)\n- [`subql onfinality:create-deployment`](#subql-onfinalitycreate-deployment)\n- [`subql onfinality:create-multichain-deployment [LOCATION]`](#subql-onfinalitycreate-multichain-deployment-location)\n- [`subql onfinality:create-project`](#subql-onfinalitycreate-project)\n- [`subql onfinality:delete-deployment`](#subql-onfinalitydelete-deployment)\n- [`subql onfinality:delete-project`](#subql-onfinalitydelete-project)\n- [`subql onfinality:promote-deployment`](#subql-onfinalitypromote-deployment)\n- [`subql publish [LOCATION]`](#subql-publish-location)\n\n## `subql build [LOCATION]`\n\nBuild this SubQuery project code into a bundle\n\n```\nUSAGE\n  $ subql build [LOCATION] [--output <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --output=<value>  [default: dist] The output location relative to the location\n\nDESCRIPTION\n  Build this SubQuery project code into a bundle\n```\n\n_See code: [src/commands/build.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/build.ts)_\n\n## `subql build-manifest [LOCATION]`\n\nBuild TypeScript manifest file to YAML (generates project.yaml from project.ts)\n\n```\nUSAGE\n  $ subql build-manifest [LOCATION]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nDESCRIPTION\n  Build TypeScript manifest file to YAML (generates project.yaml from project.ts)\n```\n\n_See code: [src/commands/build-manifest.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/build-manifest.ts)_\n\n## `subql codegen [LOCATION]`\n\nGenerate entity types from the GraphQL schema and contract interfaces\n\n```\nUSAGE\n  $ subql codegen [LOCATION]\n\nARGUMENTS\n  LOCATION  The project directory or path to project manifest.\n\nDESCRIPTION\n  Generate entity types from the GraphQL schema and contract interfaces\n```\n\n_See code: [src/commands/codegen/index.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/codegen/index.ts)_\n\n## `subql codegen:import-abi LOCATION`\n\nImport and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it will attempt to fetch the ABI and start block from the Etherscan.\n\n```\nUSAGE\n  $ subql codegen:import-abi LOCATION [--address <value>] [--abiName <value>] [--startBlock <value>] [--abiPath <value>]\n    [--events <value>] [--functions <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --abiName=<value>     The contracts name, if not provided, the contract address will be used if the ABI is fetched\n                        from Etherscan\n  --abiPath=<value>     The path to the ABI file\n  --address=<value>     The contracts address\n  --events=<value>      ABI events to generate handlers for. Use '*' for all. e.g. --events=\"approval, transfer\"\n  --functions=<value>   ABI functions to generate handlers for. Use '*' for all. e.g. --functions=\"approval, transfer\"\n  --startBlock=<value>  The start block of the handler, generally the block the contract is deployed.\n\nDESCRIPTION\n  Import and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it\n  will attempt to fetch the ABI and start block from the Etherscan.\n\nALIASES\n  $ subql import-abi\n```\n\n_See code: [src/commands/codegen/import-abi.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/codegen/import-abi.ts)_\n\n## `subql import-abi LOCATION`\n\nImport and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it will attempt to fetch the ABI and start block from the Etherscan.\n\n```\nUSAGE\n  $ subql import-abi LOCATION [--address <value>] [--abiName <value>] [--startBlock <value>] [--abiPath <value>]\n    [--events <value>] [--functions <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --abiName=<value>     The contracts name, if not provided, the contract address will be used if the ABI is fetched\n                        from Etherscan\n  --abiPath=<value>     The path to the ABI file\n  --address=<value>     The contracts address\n  --events=<value>      ABI events to generate handlers for. Use '*' for all. e.g. --events=\"approval, transfer\"\n  --functions=<value>   ABI functions to generate handlers for. Use '*' for all. e.g. --functions=\"approval, transfer\"\n  --startBlock=<value>  The start block of the handler, generally the block the contract is deployed.\n\nDESCRIPTION\n  Import and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it\n  will attempt to fetch the ABI and start block from the Etherscan.\n\nALIASES\n  $ subql import-abi\n```\n\n## `subql init NAME`\n\nInitialize a SubQuery project from a template\n\n```\nUSAGE\n  $ subql init NAME [--location <value>] [--network <value>] [--networkFamily <value>] [--endpoint\n    <value>] [--installDependencies] [--packageManager npm|yarn|pnpm] [--author <value>]\n\nARGUMENTS\n  NAME  The name of the project to create\n\nFLAGS\n  --author=<value>           The project author that will be set in package.json. Defaults to the current system user\n  --endpoint=<value>         The RPC endpoint that the project will use\n  --installDependencies      Install the dependencies of the project\n  --location=<value>         The path to the project, this can be a directory or a project manifest file.\n  --network=<value>          The name of the network the project will index data for\n  --networkFamily=<value>    The network family the project will index data for, e.g. EVM, Substrate\n  --packageManager=<option>  [default: npm]\n                             <options: npm|yarn|pnpm>\n\nDESCRIPTION\n  Initialize a SubQuery project from a template\n```\n\n_See code: [src/commands/init.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/init.ts)_\n\n## `subql mcp`\n\nRuns an MCP (Model Context Protocol) server over stdio\n\n```\nUSAGE\n  $ subql mcp\n\nDESCRIPTION\n  Runs an MCP (Model Context Protocol) server over stdio\n```\n\n_See code: [src/commands/mcp.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/mcp.ts)_\n\n## `subql migrate`\n\nMigrate a Subgraph project to a SubQuery project, including the manifest and schema.\n\n```\nUSAGE\n  $ subql migrate --input <value> --output <value> [--gitSubDirectory <value>]\n\nFLAGS\n  --gitSubDirectory=<value>  A subdirectory in the git repo if the input is a git repo\n  --input=<value>            (required) A directory or git repo to a subgraph project\n  --output=<value>           (required) The location of the SubQuery project\n\nDESCRIPTION\n  Migrate a Subgraph project to a SubQuery project, including the manifest and schema.\n```\n\n_See code: [src/commands/migrate.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/migrate.ts)_\n\n## `subql multi-chain:add [LOCATION]`\n\nAdd new chain manifest to multi-chain project\n\n```\nUSAGE\n  $ subql multi-chain:add [LOCATION] --chainManifestFile <value>\n\nARGUMENTS\n  LOCATION  The path to the multichain project, this can be a directory or a multichain manifest file.\n\nFLAGS\n  --chainManifestFile=<value>  (required) The path to the new chain manifest\n\nDESCRIPTION\n  Add new chain manifest to multi-chain project\n```\n\n_See code: [src/commands/multi-chain/add.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/multi-chain/add.ts)_\n\n## `subql network:add-deployment-boost`\n\nIncrease the boost for a deployment\n\n```\nUSAGE\n  $ subql network:add-deployment-boost --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount to boost the deployment with, in SQT\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Increase the boost for a deployment\n```\n\n_See code: [src/commands/network/add-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/add-deployment-boost.ts)_\n\n## `subql network:connect-wallet`\n\nConnect a wallet via Wallet Connect for interacting with the network\n\n```\nUSAGE\n  $ subql network:connect-wallet\n\nDESCRIPTION\n  Connect a wallet via Wallet Connect for interacting with the network\n```\n\n_See code: [src/commands/network/connect-wallet.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/connect-wallet.ts)_\n\n## `subql network:create-api-key NAME`\n\nCreate an API key for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:create-api-key NAME --network mainnet|testnet-mumbai|testnet|local\n\nARGUMENTS\n  NAME  The name of the api key, used to identify it\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Create an API key for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/create-api-key.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-api-key.ts)_\n\n## `subql network:create-deployment`\n\nCreate a new deployment for a SubQuery project\n\n```\nUSAGE\n  $ subql network:create-deployment --network mainnet|testnet-mumbai|testnet|local --projectId <value> --deploymentId <value>\n    --deploymentVersion <value> [--deploymentDescription <value>]\n\nFLAGS\n  --deploymentDescription=<value>  A description of the deployment, release notes\n  --deploymentId=<value>           (required) The IPFS CID of the published project\n  --deploymentVersion=<value>      (required) The version of the deployment\n  --network=<option>               (required) [default: mainnet] The network to check.\n                                   <options: mainnet|testnet-mumbai|testnet|local>\n  --projectId=<value>              (required) The project id, this should be a 0x prefixed hex number\n\nDESCRIPTION\n  Create a new deployment for a SubQuery project\n```\n\n_See code: [src/commands/network/create-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-deployment.ts)_\n\n## `subql network:create-flex-plan`\n\nCreate a new Flex Plan for querying a SubQuery deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:create-flex-plan --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount to deposit into the plan, in SQT\n  --deploymentId=<value>  (required) The deploymentId to create a flex plan for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Create a new Flex Plan for querying a SubQuery deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/create-flex-plan.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-flex-plan.ts)_\n\n## `subql network:create-project`\n\nCreate a new SubQuery project on the SubQuery network\n\n```\nUSAGE\n  $ subql network:create-project --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --projectType\n    0|1|2|3|SUBQUERY|RPC|SQ_DICT|SUBGRAPH --name <value> [--description <value>] [--image <value>] [--tags <value>...]\n    [--website <value>] [--codeRepository <value>] [--deploymentVersion <value>] [--deploymentDescription <value>]\n\nFLAGS\n  --codeRepository=<value>         A URL to the project code repository\n  --deploymentDescription=<value>  A description of the deployment, release notes\n  --deploymentId=<value>           (required) The IPFS CID of the published project\n  --deploymentVersion=<value>      [default: 1.0.0] The version of the deployment\n  --description=<value>            A short description of the project\n  --image=<value>                  A URL to an image for the project\n  --name=<value>                   (required) The name of the project\n  --network=<option>               (required) [default: mainnet] The network to check.\n                                   <options: mainnet|testnet-mumbai|testnet|local>\n  --projectType=<option>           (required)\n                                   <options: 0|1|2|3|SUBQUERY|RPC|SQ_DICT|SUBGRAPH>\n  --tags=<value>...                A list of tags for the project\n  --website=<value>                A URL to the project website\n\nDESCRIPTION\n  Create a new SubQuery project on the SubQuery network\n```\n\n_See code: [src/commands/network/create-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-project.ts)_\n\n## `subql network:disconnect-wallet`\n\nDisconnect a wallet connected via WalletConnect\n\n```\nUSAGE\n  $ subql network:disconnect-wallet\n\nDESCRIPTION\n  Disconnect a wallet connected via WalletConnect\n```\n\n_See code: [src/commands/network/disconnect-wallet.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/disconnect-wallet.ts)_\n\n## `subql network:list-account-boosts`\n\nGet a list of the deployments an account boosts\n\n```\nUSAGE\n  $ subql network:list-account-boosts --network mainnet|testnet-mumbai|testnet|local [--address <value>]\n\nFLAGS\n  --address=<value>   The account address to list boosts for\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Get a list of the deployments an account boosts\n```\n\n_See code: [src/commands/network/list-account-boosts.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-account-boosts.ts)_\n\n## `subql network:list-api-keys`\n\nList API keys for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-api-keys --network mainnet|testnet-mumbai|testnet|local\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List API keys for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/list-api-keys.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-api-keys.ts)_\n\n## `subql network:list-deployment-boosts`\n\nGet a list of boosts made to a project deployment\n\n```\nUSAGE\n  $ subql network:list-deployment-boosts --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Get a list of boosts made to a project deployment\n```\n\n_See code: [src/commands/network/list-deployment-boosts.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployment-boosts.ts)_\n\n## `subql network:list-deployment-indexers`\n\nList the indexers for a deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-deployment-indexers --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The DeploymentID of the project to list deployments for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List the indexers for a deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/list-deployment-indexers.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployment-indexers.ts)_\n\n## `subql network:list-deployments`\n\nList deployments for a SubQuery project\n\n```\nUSAGE\n  $ subql network:list-deployments --network mainnet|testnet-mumbai|testnet|local --projectId <value>\n\nFLAGS\n  --network=<option>   (required) [default: mainnet] The network to check.\n                       <options: mainnet|testnet-mumbai|testnet|local>\n  --projectId=<value>  (required) The ID of the project to list deployments for\n\nDESCRIPTION\n  List deployments for a SubQuery project\n```\n\n_See code: [src/commands/network/list-deployments.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployments.ts)_\n\n## `subql network:list-flex-plans`\n\nList your Flex Plans for querying projects on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-flex-plans --network mainnet|testnet-mumbai|testnet|local [--address <value>]\n\nFLAGS\n  --address=<value>   The account address to list boosts for\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List your Flex Plans for querying projects on the SubQuery Network\n```\n\n_See code: [src/commands/network/list-flex-plans.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-flex-plans.ts)_\n\n## `subql network:list-projects`\n\nList projects for a given account on then SubQuery network\n\n```\nUSAGE\n  $ subql network:list-projects --network mainnet|testnet-mumbai|testnet|local [--address <value>] [--networkRpc\n  <value>]\n\nFLAGS\n  --address=<value>     The address of the account that owns the projects\n  --network=<option>    (required) [default: mainnet] The network to check.\n                        <options: mainnet|testnet-mumbai|testnet|local>\n  --networkRpc=<value>  Override the network rpc url\n\nDESCRIPTION\n  List projects for a given account on then SubQuery network\n```\n\n_See code: [src/commands/network/list-projects.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-projects.ts)_\n\n## `subql network:remove-api-key NAME`\n\nRemove an API key used for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:remove-api-key NAME --network mainnet|testnet-mumbai|testnet|local\n\nARGUMENTS\n  NAME  The name of the api key, used to identify it\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Remove an API key used for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/remove-api-key.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/remove-api-key.ts)_\n\n## `subql network:remove-deployment-boost`\n\nDecrease the boost amount for a project deployment on the SubQuery network\n\n```\nUSAGE\n  $ subql network:remove-deployment-boost --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount of boost to remove from the deployment, in SQT\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Decrease the boost amount for a project deployment on the SubQuery network\n```\n\n_See code: [src/commands/network/remove-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/remove-deployment-boost.ts)_\n\n## `subql network:stop-flex-plan`\n\nStop a Flex Plan for a deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:stop-flex-plan --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The deploymentId to create a flex plan for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Stop a Flex Plan for a deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/stop-flex-plan.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/stop-flex-plan.ts)_\n\n## `subql network:swap-deployment-boost`\n\nSwap the boost from one deployment to another deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:swap-deployment-boost --network mainnet|testnet-mumbai|testnet|local --fromDeploymentId <value> --toDeploymentId\n    <value> --amount <value>\n\nFLAGS\n  --amount=<value>            (required) The amount to boost the deployment with, in SQT\n  --fromDeploymentId=<value>  (required) The deployment id for the project that is already boosted\n  --network=<option>          (required) [default: mainnet] The network to check.\n                              <options: mainnet|testnet-mumbai|testnet|local>\n  --toDeploymentId=<value>    (required) The deployment id for the project to move the boost to\n\nDESCRIPTION\n  Swap the boost from one deployment to another deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/swap-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/swap-deployment-boost.ts)_\n\n## `subql onfinality:create-deployment`\n\nCreate a project deployment on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-deployment --org <value> --projectName <value> --type primary|stage --ipfsCID <value>\n    [--indexerVersion <value>] [--queryVersion <value>] [--dict <value>] [--endpoint <value>] [--indexerUnsafe]\n    [--indexerBatchSize <value>] [--indexerSubscription] [--disableHistorical] [--indexerUnfinalized]\n    [--indexerStoreCacheThreshold <value>] [--disableIndexerStoreCacheAsync] [--indexerWorkers <value>] [--queryUnsafe]\n    [--querySubscription] [--queryTimeout <value>] [--queryMaxConnection <value>] [--queryAggregate] [--queryLimit\n    <value>] [--useDefaults]\n\nFLAGS\n  --dict=<value>                        A dictionary endpoint for this projects network\n  --disableHistorical                   Disable historical data indexing\n  --disableIndexerStoreCacheAsync       Disable async store cache\n  --endpoint=<value>                    The RPC endpoint to be used by the project\n  --indexerBatchSize=<value>            [default: 30] The batch size for the indexer\n  --indexerStoreCacheThreshold=<value>  The number of items kept in the cache before flushing\n  --indexerSubscription                 Enable subscription for the indexer\n  --indexerUnfinalized                  Enable unfinalized blocks indexing\n  --indexerUnsafe                       Run the indexer in unsafe mode, this will disable some checks\n  --indexerVersion=<value>              Indexer image version\n  --indexerWorkers=<value>              The number of workers for the indexer\n  --ipfsCID=<value>                     (required) The IPFC CID of the published project\n  --org=<value>                         (required) The Github organization name\n  --projectName=<value>                 (required) Project name\n  --queryAggregate                      Enable aggregate queries\n  --queryLimit=<value>                  The maximum number of results for the query\n  --queryMaxConnection=<value>          The maximum number of connections for the query\n  --querySubscription                   Enable subscription queries\n  --queryTimeout=<value>                The timeout for the query\n  --queryUnsafe                         Run the query in unsafe mode, this will disable some checks\n  --queryVersion=<value>                Query image version\n  --type=<option>                       (required) [default: primary]\n                                        <options: primary|stage>\n  --useDefaults                         Use default values for indexerVersion, queryVersion, dictionary, endpoint\n\nDESCRIPTION\n  Create a project deployment on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-deployment.ts)_\n\n## `subql onfinality:create-multichain-deployment [LOCATION]`\n\nCreate a multi-chain project deployment no the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-multichain-deployment [LOCATION] --org <value> --projectName <value> --type primary|stage [--indexerVersion\n    <value>] [--queryVersion <value>] [--dict <value>] [--endpoint <value>] [--indexerUnsafe] [--indexerBatchSize\n    <value>] [--indexerSubscription] [--disableHistorical] [--indexerUnfinalized] [--indexerStoreCacheThreshold <value>]\n    [--disableIndexerStoreCacheAsync] [--indexerWorkers <value>] [--queryUnsafe] [--querySubscription] [--queryTimeout\n    <value>] [--queryMaxConnection <value>] [--queryAggregate] [--queryLimit <value>] [--useDefaults] [--ipfs <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --dict=<value>                        A dictionary endpoint for this projects network\n  --disableHistorical                   Disable historical data indexing\n  --disableIndexerStoreCacheAsync       Disable async store cache\n  --endpoint=<value>                    The RPC endpoint to be used by the project\n  --indexerBatchSize=<value>            [default: 30] The batch size for the indexer\n  --indexerStoreCacheThreshold=<value>  The number of items kept in the cache before flushing\n  --indexerSubscription                 Enable subscription for the indexer\n  --indexerUnfinalized                  Enable unfinalized blocks indexing\n  --indexerUnsafe                       Run the indexer in unsafe mode, this will disable some checks\n  --indexerVersion=<value>              Indexer image version\n  --indexerWorkers=<value>              The number of workers for the indexer\n  --ipfs=<value>                        An additional IPFS endpoint to upload to\n  --org=<value>                         (required) The Github organization name\n  --projectName=<value>                 (required) Project name\n  --queryAggregate                      Enable aggregate queries\n  --queryLimit=<value>                  The maximum number of results for the query\n  --queryMaxConnection=<value>          The maximum number of connections for the query\n  --querySubscription                   Enable subscription queries\n  --queryTimeout=<value>                The timeout for the query\n  --queryUnsafe                         Run the query in unsafe mode, this will disable some checks\n  --queryVersion=<value>                Query image version\n  --type=<option>                       (required) [default: primary]\n                                        <options: primary|stage>\n  --useDefaults                         Use default values for indexerVersion, queryVersion, dictionary, endpoint\n\nDESCRIPTION\n  Create a multi-chain project deployment no the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-multichain-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-multichain-deployment.ts)_\n\n## `subql onfinality:create-project`\n\nCreate a project on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-project --org <value> --projectName <value> [--logoURL <value>] [--subtitle <value>] [--description\n    <value>] [--dedicatedDB <value>] [--projectType subquery|subgraph]\n\nFLAGS\n  --dedicatedDB=<value>   Dedicated DataBase\n  --description=<value>   Description\n  --logoURL=<value>       Logo URL\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n  --projectType=<option>  [default: subquery] Project type [subquery|subgraph]\n                          <options: subquery|subgraph>\n  --subtitle=<value>      Subtitle\n\nDESCRIPTION\n  Create a project on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-project.ts)_\n\n## `subql onfinality:delete-deployment`\n\nDelete a deployment from the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:delete-deployment --org <value> --projectName <value> --deploymentID <value>\n\nFLAGS\n  --deploymentID=<value>  (required) Deployment ID\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n\nDESCRIPTION\n  Delete a deployment from the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/delete-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/delete-deployment.ts)_\n\n## `subql onfinality:delete-project`\n\nDelete a project on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:delete-project --org <value> --projectName <value>\n\nFLAGS\n  --org=<value>          (required) The Github organization name\n  --projectName=<value>  (required) The project name\n\nDESCRIPTION\n  Delete a project on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/delete-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/delete-project.ts)_\n\n## `subql onfinality:promote-deployment`\n\nPromote a deployment on the OnFinality managed services from a Stage environment to Production\n\n```\nUSAGE\n  $ subql onfinality:promote-deployment --org <value> --projectName <value> --deploymentID <value>\n\nFLAGS\n  --deploymentID=<value>  (required) Deployment ID\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n\nDESCRIPTION\n  Promote a deployment on the OnFinality managed services from a Stage environment to Production\n```\n\n_See code: [src/commands/onfinality/promote-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/promote-deployment.ts)_\n\n## `subql publish [LOCATION]`\n\nUpload this SubQuery project to IPFS for distribution\n\n```\nUSAGE\n  $ subql publish [LOCATION] [--ipfs <value>] [--silent]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --ipfs=<value>  An additional IPFS endpoint to upload to\n  --silent        Run the command without logging, only outputs the CIDs\n\nDESCRIPTION\n  Upload this SubQuery project to IPFS for distribution\n```\n\n_See code: [src/commands/publish.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/publish.ts)_\n\n<!-- commandsstop -->\n","packages/node/README.md":"# @subql-node\n\n## Description\n\nIndexer service in our @subql toolkit, can load user's subquery then fetch, process and persist to db accordingly.\n\n## Installation\n\n```bash\n$ npm i -g @subql/node\n```\n\n## Running the app\n\n```\n$> subql-node\n\nCommands:\n  run force-clean  Force cleans the database, dropping project schemas and\n                   tables (Once the command is executed, the application would\n                   exit upon completion)\n\n  run reindex      Reindex to specified block height (Once the command is\n                   executed, the application would exit upon completion).\n\nOptions:\n      --help                Show help                                  [boolean]\n      --version             Show version number                        [boolean]\n  -f, --subquery            Local path or IPFS cid of the subquery project\n       [string] [required] [default: process.cwd()]\n      --subquery-name       Name of the subquery project   [deprecated] [string]\n  -c, --config              Specify configuration file                  [string]\n      --local               Use local mode                [deprecated] [boolean]                              [boolean]\n      --db-schema           Db schema name of the project               [string]\n      --unsafe              Allows usage of any built-in module within the\n                            sandbox                                    [boolean]\n      --subscription        Enable subscription by create notification triggers\n                                                      [boolean] [default: false]\n      --batch-size          Batch size of blocks to fetch in one round  [number]\n      --scale-batch-size    scale batch size based on memory usage\n                                                      [boolean] [default: false]\n      --timeout             Timeout for indexer sandbox to execute the mapping\n                            functions                                   [number]\n      --debug               Show debug information to console output. will\n                            forcefully set log level to debug\n                                                      [boolean] [default: false]\n      --profiler            Show profiler information to console output\n                                                      [boolean] [default: false]\n      --network-endpoint    Blockchain network endpoint to connect      [string]\n      --output-fmt          Print log as json or plain text\n                                           [string] [choices: \"json\", \"colored\"]\n      --log-level           Specify log level to print. Ignored when --debug is\n                            used\n          [string] [choices: \"fatal\", \"error\", \"warn\", \"info\", \"debug\", \"trace\",\n                                                                       \"silent\"]\n      --timestamp-field     Enable/disable created_at and updated_at in schema\n                                                      [boolean] [default: false]\n  -d, --network-dictionary  Specify the dictionary api for this network [string]\n      --dictionary-timeout  Max timeout for dictionary query            [number]\n      --sponsored-dictionary  Use subquery network sponsored dictionary [string]\n      --proof-of-index      Enable/disable proof of index\n                                                      [boolean] [default: false]\n      --ipfs                IPFS gateway endpoint                       [string]\n  -p, --port                The port the service will bind to           [number]\n      --disable-historical  Disable storing historical state entities\n                                                       [boolean] [default: true]\n  -w, --workers             Number of worker threads to use for fetching and\n                            processing blocks. Disabled by default.     [number]\n      --multi-chain         Enables indexing multiple subquery projects into the\n                            same database schema      [boolean] [default: false]\n```\n\n## License\n\nApache-2.0\n","packages/query/README.md":"# @subql/query\n\n## Run this package\n\nTo quickly setup the project, add a `.env` file in the `subql/packages/query` folder with the following content:\n\n```env\nDB_HOST=localhost\nDB_PORT=5432\nDB_USER=postgres\nDB_PASS=postgres\nDB_DATABASE=postgres\n```\n\nthen run the following command\n\n```sh\nNODE_OPTIONS=\"-r dotenv/config\" yarn start:dev -- --name <subquery_name> --playground\n```\n","packages/utils/README.md":"# manifest-spec\n"},"files":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n\n## Plan and Reivew\n\n### Before Starting work\n- Always in planning mode, to make a plan\n- After the plan is made, make sure to write the plan to ./.claude/tasks/TASK_NAME.md\n- The plan should be a detailed implementation and the reasoning behind them as well as the tasks broken down\n- If the task requires external knowledge or certain dependencies, also research to get the latest knowledge. (Use the Task tool for research)\n- Don't over plan it, always design an MVP\n- Once you make the plan, firstly ask me to review it . Do not continue until I approve the plan\n\n### While implementing\n- The plan should be updated as you work\n- After completing tasks in the plan you should append a detailed description of the channges you made, so the following tasks can be handed over to other engineers\n\n## Development Commands\n\n### Building\n- `yarn build` - Build all packages in the workspace using TypeScript\n- Individual package builds use `tsc -b` and copy necessary files (e.g., CLI templates)\n\n### Testing\n- `yarn test` - Run Jest tests with coverage in UTC timezone\n- `yarn test:ci` - Run tests in CI mode with specific patterns\n- `yarn test:docker` - Run tests in Docker containers\n\n### Linting and Code Quality\n- `yarn lint` - Run ESLint across all TypeScript files in packages\n- Uses ESLint with TypeScript support, Prettier, and various plugins\n- Configured with husky pre-commit hooks and lint-staged\n\n### CLI-Specific Commands (packages/cli)\n- `yarn build` - Builds CLI and copies templates to lib/\n- `yarn format` - Format code using Prettier\n- `yarn codegen` - Generate GraphQL and API client code\n- `yarn codegen:graphql` - Generate GraphQL types\n- `yarn codegen:chs` - Generate consumer host service API client\n\n## Project Architecture\n\n### Monorepo Structure\nThis is a Yarn workspace monorepo containing multiple packages:\n\n- **`@subql/cli`** - Command-line interface for SubQuery projects (OCLIF-based)\n- **`@subql/node`** - Substrate-specific SubQuery indexer implementation\n- **`@subql/node-core`** - Core chain-agnostic indexing functionality\n- **`@subql/query`** - GraphQL query service\n- **`@subql/common`** - Shared utilities and types\n- **`@subql/common-substrate`** - Substrate-specific common utilities\n- **`@subql/types-core`** - Core type definitions\n- **`@subql/utils`** - General utility functions\n\n### CLI Commands Architecture\nThe CLI uses OCLIF framework with commands organized by functionality:\n\n- **Core project lifecycle**: `init`, `build`, `publish`\n- **Code generation**: `codegen` (GraphQL types, ABI imports)\n- **Multi-chain support**: `multi-chain add`\n- **Network operations**: Commands for SubQuery Network (deployments, projects, API keys, boosts)\n- **OnFinality hosting**: Project and deployment management\n- **Migration tools**: Project upgrade utilities\n- **MCP integration**: Model Context Protocol support for AI tools\n\n### Key Technologies\n- **TypeScript** throughout with strict configuration\n- **OCLIF** for CLI framework\n- **Jest** for testing with custom module mapping for workspace packages\n- **ESBuild** and **Webpack** for bundling\n- **GraphQL** code generation\n- **Zod** for schema validation\n- **Ethers.js** for Ethereum integration\n- **WalletConnect** for wallet interactions\n\n### Development Patterns\n\n#### Package Dependencies\nUses Yarn workspace protocol (`workspace:~`) for internal package dependencies to ensure proper linking during development.\n\n#### Testing Setup\n- Custom Jest configuration with module name mapping for workspace packages\n- UTC timezone enforcement for consistent test behavior\n- Coverage collection across multiple packages\n- Special handling for Polkadot packages in transform ignore patterns\n\n#### CLI Command Structure\nCommands follow a consistent pattern:\n- Input validation using Zod schemas\n- Adapter functions for shared logic between CLI and MCP modes\n- Structured logging and error handling\n- Progress indication using ora spinner\n\n#### MCP Integration\nThe CLI supports Model Context Protocol for AI tool integration, allowing commands to be executed through AI interfaces like Cursor.\n\n### Build System\n- TypeScript compilation with project references\n- Template copying for CLI (EJS templates in src/template → lib/template)\n- OCLIF manifest generation for command discovery\n- Automatic README generation from command help\n\n### Network Support\nSubQuery supports multiple blockchain networks:\n- Polkadot/Substrate (primary)\n- Ethereum and EVM-compatible chains\n- Cosmos/CosmWasm\n- Algorand, NEAR, Stellar, Solana, Starknet, Concordium\n\nEach network has its own implementation repository, with this repo containing the core Substrate implementation and shared components.\n","packages/cli/README.md":"# @subql/cli\n\nCLI for SubQuery\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/@subql/cli.svg)](https://npmjs.org/package/@subql/cli)\n[![Downloads/week](https://img.shields.io/npm/dw/@subql/cli.svg)](https://npmjs.org/package/@subql/cli)\n[![License](https://img.shields.io/npm/l/@subql/cli.svg)](https://github.com/subquery/subql/blob/main/packages/cli/LICENSE)\n\n<!-- toc -->\n\n- [@subql/cli](#subqlcli)\n- [Usage](#usage)\n- [Commands](#commands)\n<!-- tocstop -->\n\n# Usage\n\n<!-- usage -->\n\n```sh-session\n$ npm install -g @subql/cli\n$ subql COMMAND\nrunning command...\n$ subql (--version)\n@subql/cli/6.6.3-0 linux-x64 node-v24.11.1\n$ subql --help [COMMAND]\nUSAGE\n  $ subql COMMAND\n...\n```\n\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n\n- [`subql build [LOCATION]`](#subql-build-location)\n- [`subql build-manifest [LOCATION]`](#subql-build-manifest-location)\n- [`subql codegen [LOCATION]`](#subql-codegen-location)\n- [`subql codegen:import-abi LOCATION`](#subql-codegenimport-abi-location)\n- [`subql import-abi LOCATION`](#subql-import-abi-location)\n- [`subql init NAME`](#subql-init-name)\n- [`subql mcp`](#subql-mcp)\n- [`subql migrate`](#subql-migrate)\n- [`subql multi-chain:add [LOCATION]`](#subql-multi-chainadd-location)\n- [`subql network:add-deployment-boost`](#subql-networkadd-deployment-boost)\n- [`subql network:connect-wallet`](#subql-networkconnect-wallet)\n- [`subql network:create-api-key NAME`](#subql-networkcreate-api-key-name)\n- [`subql network:create-deployment`](#subql-networkcreate-deployment)\n- [`subql network:create-flex-plan`](#subql-networkcreate-flex-plan)\n- [`subql network:create-project`](#subql-networkcreate-project)\n- [`subql network:disconnect-wallet`](#subql-networkdisconnect-wallet)\n- [`subql network:list-account-boosts`](#subql-networklist-account-boosts)\n- [`subql network:list-api-keys`](#subql-networklist-api-keys)\n- [`subql network:list-deployment-boosts`](#subql-networklist-deployment-boosts)\n- [`subql network:list-deployment-indexers`](#subql-networklist-deployment-indexers)\n- [`subql network:list-deployments`](#subql-networklist-deployments)\n- [`subql network:list-flex-plans`](#subql-networklist-flex-plans)\n- [`subql network:list-projects`](#subql-networklist-projects)\n- [`subql network:remove-api-key NAME`](#subql-networkremove-api-key-name)\n- [`subql network:remove-deployment-boost`](#subql-networkremove-deployment-boost)\n- [`subql network:stop-flex-plan`](#subql-networkstop-flex-plan)\n- [`subql network:swap-deployment-boost`](#subql-networkswap-deployment-boost)\n- [`subql onfinality:create-deployment`](#subql-onfinalitycreate-deployment)\n- [`subql onfinality:create-multichain-deployment [LOCATION]`](#subql-onfinalitycreate-multichain-deployment-location)\n- [`subql onfinality:create-project`](#subql-onfinalitycreate-project)\n- [`subql onfinality:delete-deployment`](#subql-onfinalitydelete-deployment)\n- [`subql onfinality:delete-project`](#subql-onfinalitydelete-project)\n- [`subql onfinality:promote-deployment`](#subql-onfinalitypromote-deployment)\n- [`subql publish [LOCATION]`](#subql-publish-location)\n\n## `subql build [LOCATION]`\n\nBuild this SubQuery project code into a bundle\n\n```\nUSAGE\n  $ subql build [LOCATION] [--output <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --output=<value>  [default: dist] The output location relative to the location\n\nDESCRIPTION\n  Build this SubQuery project code into a bundle\n```\n\n_See code: [src/commands/build.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/build.ts)_\n\n## `subql build-manifest [LOCATION]`\n\nBuild TypeScript manifest file to YAML (generates project.yaml from project.ts)\n\n```\nUSAGE\n  $ subql build-manifest [LOCATION]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nDESCRIPTION\n  Build TypeScript manifest file to YAML (generates project.yaml from project.ts)\n```\n\n_See code: [src/commands/build-manifest.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/build-manifest.ts)_\n\n## `subql codegen [LOCATION]`\n\nGenerate entity types from the GraphQL schema and contract interfaces\n\n```\nUSAGE\n  $ subql codegen [LOCATION]\n\nARGUMENTS\n  LOCATION  The project directory or path to project manifest.\n\nDESCRIPTION\n  Generate entity types from the GraphQL schema and contract interfaces\n```\n\n_See code: [src/commands/codegen/index.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/codegen/index.ts)_\n\n## `subql codegen:import-abi LOCATION`\n\nImport and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it will attempt to fetch the ABI and start block from the Etherscan.\n\n```\nUSAGE\n  $ subql codegen:import-abi LOCATION [--address <value>] [--abiName <value>] [--startBlock <value>] [--abiPath <value>]\n    [--events <value>] [--functions <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --abiName=<value>     The contracts name, if not provided, the contract address will be used if the ABI is fetched\n                        from Etherscan\n  --abiPath=<value>     The path to the ABI file\n  --address=<value>     The contracts address\n  --events=<value>      ABI events to generate handlers for. Use '*' for all. e.g. --events=\"approval, transfer\"\n  --functions=<value>   ABI functions to generate handlers for. Use '*' for all. e.g. --functions=\"approval, transfer\"\n  --startBlock=<value>  The start block of the handler, generally the block the contract is deployed.\n\nDESCRIPTION\n  Import and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it\n  will attempt to fetch the ABI and start block from the Etherscan.\n\nALIASES\n  $ subql import-abi\n```\n\n_See code: [src/commands/codegen/import-abi.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/codegen/import-abi.ts)_\n\n## `subql import-abi LOCATION`\n\nImport and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it will attempt to fetch the ABI and start block from the Etherscan.\n\n```\nUSAGE\n  $ subql import-abi LOCATION [--address <value>] [--abiName <value>] [--startBlock <value>] [--abiPath <value>]\n    [--events <value>] [--functions <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --abiName=<value>     The contracts name, if not provided, the contract address will be used if the ABI is fetched\n                        from Etherscan\n  --abiPath=<value>     The path to the ABI file\n  --address=<value>     The contracts address\n  --events=<value>      ABI events to generate handlers for. Use '*' for all. e.g. --events=\"approval, transfer\"\n  --functions=<value>   ABI functions to generate handlers for. Use '*' for all. e.g. --functions=\"approval, transfer\"\n  --startBlock=<value>  The start block of the handler, generally the block the contract is deployed.\n\nDESCRIPTION\n  Import and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it\n  will attempt to fetch the ABI and start block from the Etherscan.\n\nALIASES\n  $ subql import-abi\n```\n\n## `subql init NAME`\n\nInitialize a SubQuery project from a template\n\n```\nUSAGE\n  $ subql init NAME [--location <value>] [--network <value>] [--networkFamily <value>] [--endpoint\n    <value>] [--installDependencies] [--packageManager npm|yarn|pnpm] [--author <value>]\n\nARGUMENTS\n  NAME  The name of the project to create\n\nFLAGS\n  --author=<value>           The project author that will be set in package.json. Defaults to the current system user\n  --endpoint=<value>         The RPC endpoint that the project will use\n  --installDependencies      Install the dependencies of the project\n  --location=<value>         The path to the project, this can be a directory or a project manifest file.\n  --network=<value>          The name of the network the project will index data for\n  --networkFamily=<value>    The network family the project will index data for, e.g. EVM, Substrate\n  --packageManager=<option>  [default: npm]\n                             <options: npm|yarn|pnpm>\n\nDESCRIPTION\n  Initialize a SubQuery project from a template\n```\n\n_See code: [src/commands/init.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/init.ts)_\n\n## `subql mcp`\n\nRuns an MCP (Model Context Protocol) server over stdio\n\n```\nUSAGE\n  $ subql mcp\n\nDESCRIPTION\n  Runs an MCP (Model Context Protocol) server over stdio\n```\n\n_See code: [src/commands/mcp.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/mcp.ts)_\n\n## `subql migrate`\n\nMigrate a Subgraph project to a SubQuery project, including the manifest and schema.\n\n```\nUSAGE\n  $ subql migrate --input <value> --output <value> [--gitSubDirectory <value>]\n\nFLAGS\n  --gitSubDirectory=<value>  A subdirectory in the git repo if the input is a git repo\n  --input=<value>            (required) A directory or git repo to a subgraph project\n  --output=<value>           (required) The location of the SubQuery project\n\nDESCRIPTION\n  Migrate a Subgraph project to a SubQuery project, including the manifest and schema.\n```\n\n_See code: [src/commands/migrate.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/migrate.ts)_\n\n## `subql multi-chain:add [LOCATION]`\n\nAdd new chain manifest to multi-chain project\n\n```\nUSAGE\n  $ subql multi-chain:add [LOCATION] --chainManifestFile <value>\n\nARGUMENTS\n  LOCATION  The path to the multichain project, this can be a directory or a multichain manifest file.\n\nFLAGS\n  --chainManifestFile=<value>  (required) The path to the new chain manifest\n\nDESCRIPTION\n  Add new chain manifest to multi-chain project\n```\n\n_See code: [src/commands/multi-chain/add.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/multi-chain/add.ts)_\n\n## `subql network:add-deployment-boost`\n\nIncrease the boost for a deployment\n\n```\nUSAGE\n  $ subql network:add-deployment-boost --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount to boost the deployment with, in SQT\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Increase the boost for a deployment\n```\n\n_See code: [src/commands/network/add-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/add-deployment-boost.ts)_\n\n## `subql network:connect-wallet`\n\nConnect a wallet via Wallet Connect for interacting with the network\n\n```\nUSAGE\n  $ subql network:connect-wallet\n\nDESCRIPTION\n  Connect a wallet via Wallet Connect for interacting with the network\n```\n\n_See code: [src/commands/network/connect-wallet.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/connect-wallet.ts)_\n\n## `subql network:create-api-key NAME`\n\nCreate an API key for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:create-api-key NAME --network mainnet|testnet-mumbai|testnet|local\n\nARGUMENTS\n  NAME  The name of the api key, used to identify it\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Create an API key for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/create-api-key.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-api-key.ts)_\n\n## `subql network:create-deployment`\n\nCreate a new deployment for a SubQuery project\n\n```\nUSAGE\n  $ subql network:create-deployment --network mainnet|testnet-mumbai|testnet|local --projectId <value> --deploymentId <value>\n    --deploymentVersion <value> [--deploymentDescription <value>]\n\nFLAGS\n  --deploymentDescription=<value>  A description of the deployment, release notes\n  --deploymentId=<value>           (required) The IPFS CID of the published project\n  --deploymentVersion=<value>      (required) The version of the deployment\n  --network=<option>               (required) [default: mainnet] The network to check.\n                                   <options: mainnet|testnet-mumbai|testnet|local>\n  --projectId=<value>              (required) The project id, this should be a 0x prefixed hex number\n\nDESCRIPTION\n  Create a new deployment for a SubQuery project\n```\n\n_See code: [src/commands/network/create-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-deployment.ts)_\n\n## `subql network:create-flex-plan`\n\nCreate a new Flex Plan for querying a SubQuery deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:create-flex-plan --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount to deposit into the plan, in SQT\n  --deploymentId=<value>  (required) The deploymentId to create a flex plan for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Create a new Flex Plan for querying a SubQuery deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/create-flex-plan.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-flex-plan.ts)_\n\n## `subql network:create-project`\n\nCreate a new SubQuery project on the SubQuery network\n\n```\nUSAGE\n  $ subql network:create-project --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --projectType\n    0|1|2|3|SUBQUERY|RPC|SQ_DICT|SUBGRAPH --name <value> [--description <value>] [--image <value>] [--tags <value>...]\n    [--website <value>] [--codeRepository <value>] [--deploymentVersion <value>] [--deploymentDescription <value>]\n\nFLAGS\n  --codeRepository=<value>         A URL to the project code repository\n  --deploymentDescription=<value>  A description of the deployment, release notes\n  --deploymentId=<value>           (required) The IPFS CID of the published project\n  --deploymentVersion=<value>      [default: 1.0.0] The version of the deployment\n  --description=<value>            A short description of the project\n  --image=<value>                  A URL to an image for the project\n  --name=<value>                   (required) The name of the project\n  --network=<option>               (required) [default: mainnet] The network to check.\n                                   <options: mainnet|testnet-mumbai|testnet|local>\n  --projectType=<option>           (required)\n                                   <options: 0|1|2|3|SUBQUERY|RPC|SQ_DICT|SUBGRAPH>\n  --tags=<value>...                A list of tags for the project\n  --website=<value>                A URL to the project website\n\nDESCRIPTION\n  Create a new SubQuery project on the SubQuery network\n```\n\n_See code: [src/commands/network/create-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-project.ts)_\n\n## `subql network:disconnect-wallet`\n\nDisconnect a wallet connected via WalletConnect\n\n```\nUSAGE\n  $ subql network:disconnect-wallet\n\nDESCRIPTION\n  Disconnect a wallet connected via WalletConnect\n```\n\n_See code: [src/commands/network/disconnect-wallet.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/disconnect-wallet.ts)_\n\n## `subql network:list-account-boosts`\n\nGet a list of the deployments an account boosts\n\n```\nUSAGE\n  $ subql network:list-account-boosts --network mainnet|testnet-mumbai|testnet|local [--address <value>]\n\nFLAGS\n  --address=<value>   The account address to list boosts for\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Get a list of the deployments an account boosts\n```\n\n_See code: [src/commands/network/list-account-boosts.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-account-boosts.ts)_\n\n## `subql network:list-api-keys`\n\nList API keys for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-api-keys --network mainnet|testnet-mumbai|testnet|local\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List API keys for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/list-api-keys.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-api-keys.ts)_\n\n## `subql network:list-deployment-boosts`\n\nGet a list of boosts made to a project deployment\n\n```\nUSAGE\n  $ subql network:list-deployment-boosts --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Get a list of boosts made to a project deployment\n```\n\n_See code: [src/commands/network/list-deployment-boosts.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployment-boosts.ts)_\n\n## `subql network:list-deployment-indexers`\n\nList the indexers for a deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-deployment-indexers --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The DeploymentID of the project to list deployments for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List the indexers for a deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/list-deployment-indexers.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployment-indexers.ts)_\n\n## `subql network:list-deployments`\n\nList deployments for a SubQuery project\n\n```\nUSAGE\n  $ subql network:list-deployments --network mainnet|testnet-mumbai|testnet|local --projectId <value>\n\nFLAGS\n  --network=<option>   (required) [default: mainnet] The network to check.\n                       <options: mainnet|testnet-mumbai|testnet|local>\n  --projectId=<value>  (required) The ID of the project to list deployments for\n\nDESCRIPTION\n  List deployments for a SubQuery project\n```\n\n_See code: [src/commands/network/list-deployments.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployments.ts)_\n\n## `subql network:list-flex-plans`\n\nList your Flex Plans for querying projects on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-flex-plans --network mainnet|testnet-mumbai|testnet|local [--address <value>]\n\nFLAGS\n  --address=<value>   The account address to list boosts for\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List your Flex Plans for querying projects on the SubQuery Network\n```\n\n_See code: [src/commands/network/list-flex-plans.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-flex-plans.ts)_\n\n## `subql network:list-projects`\n\nList projects for a given account on then SubQuery network\n\n```\nUSAGE\n  $ subql network:list-projects --network mainnet|testnet-mumbai|testnet|local [--address <value>] [--networkRpc\n  <value>]\n\nFLAGS\n  --address=<value>     The address of the account that owns the projects\n  --network=<option>    (required) [default: mainnet] The network to check.\n                        <options: mainnet|testnet-mumbai|testnet|local>\n  --networkRpc=<value>  Override the network rpc url\n\nDESCRIPTION\n  List projects for a given account on then SubQuery network\n```\n\n_See code: [src/commands/network/list-projects.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-projects.ts)_\n\n## `subql network:remove-api-key NAME`\n\nRemove an API key used for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:remove-api-key NAME --network mainnet|testnet-mumbai|testnet|local\n\nARGUMENTS\n  NAME  The name of the api key, used to identify it\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Remove an API key used for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/remove-api-key.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/remove-api-key.ts)_\n\n## `subql network:remove-deployment-boost`\n\nDecrease the boost amount for a project deployment on the SubQuery network\n\n```\nUSAGE\n  $ subql network:remove-deployment-boost --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount of boost to remove from the deployment, in SQT\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Decrease the boost amount for a project deployment on the SubQuery network\n```\n\n_See code: [src/commands/network/remove-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/remove-deployment-boost.ts)_\n\n## `subql network:stop-flex-plan`\n\nStop a Flex Plan for a deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:stop-flex-plan --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The deploymentId to create a flex plan for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Stop a Flex Plan for a deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/stop-flex-plan.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/stop-flex-plan.ts)_\n\n## `subql network:swap-deployment-boost`\n\nSwap the boost from one deployment to another deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:swap-deployment-boost --network mainnet|testnet-mumbai|testnet|local --fromDeploymentId <value> --toDeploymentId\n    <value> --amount <value>\n\nFLAGS\n  --amount=<value>            (required) The amount to boost the deployment with, in SQT\n  --fromDeploymentId=<value>  (required) The deployment id for the project that is already boosted\n  --network=<option>          (required) [default: mainnet] The network to check.\n                              <options: mainnet|testnet-mumbai|testnet|local>\n  --toDeploymentId=<value>    (required) The deployment id for the project to move the boost to\n\nDESCRIPTION\n  Swap the boost from one deployment to another deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/swap-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/swap-deployment-boost.ts)_\n\n## `subql onfinality:create-deployment`\n\nCreate a project deployment on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-deployment --org <value> --projectName <value> --type primary|stage --ipfsCID <value>\n    [--indexerVersion <value>] [--queryVersion <value>] [--dict <value>] [--endpoint <value>] [--indexerUnsafe]\n    [--indexerBatchSize <value>] [--indexerSubscription] [--disableHistorical] [--indexerUnfinalized]\n    [--indexerStoreCacheThreshold <value>] [--disableIndexerStoreCacheAsync] [--indexerWorkers <value>] [--queryUnsafe]\n    [--querySubscription] [--queryTimeout <value>] [--queryMaxConnection <value>] [--queryAggregate] [--queryLimit\n    <value>] [--useDefaults]\n\nFLAGS\n  --dict=<value>                        A dictionary endpoint for this projects network\n  --disableHistorical                   Disable historical data indexing\n  --disableIndexerStoreCacheAsync       Disable async store cache\n  --endpoint=<value>                    The RPC endpoint to be used by the project\n  --indexerBatchSize=<value>            [default: 30] The batch size for the indexer\n  --indexerStoreCacheThreshold=<value>  The number of items kept in the cache before flushing\n  --indexerSubscription                 Enable subscription for the indexer\n  --indexerUnfinalized                  Enable unfinalized blocks indexing\n  --indexerUnsafe                       Run the indexer in unsafe mode, this will disable some checks\n  --indexerVersion=<value>              Indexer image version\n  --indexerWorkers=<value>              The number of workers for the indexer\n  --ipfsCID=<value>                     (required) The IPFC CID of the published project\n  --org=<value>                         (required) The Github organization name\n  --projectName=<value>                 (required) Project name\n  --queryAggregate                      Enable aggregate queries\n  --queryLimit=<value>                  The maximum number of results for the query\n  --queryMaxConnection=<value>          The maximum number of connections for the query\n  --querySubscription                   Enable subscription queries\n  --queryTimeout=<value>                The timeout for the query\n  --queryUnsafe                         Run the query in unsafe mode, this will disable some checks\n  --queryVersion=<value>                Query image version\n  --type=<option>                       (required) [default: primary]\n                                        <options: primary|stage>\n  --useDefaults                         Use default values for indexerVersion, queryVersion, dictionary, endpoint\n\nDESCRIPTION\n  Create a project deployment on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-deployment.ts)_\n\n## `subql onfinality:create-multichain-deployment [LOCATION]`\n\nCreate a multi-chain project deployment no the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-multichain-deployment [LOCATION] --org <value> --projectName <value> --type primary|stage [--indexerVersion\n    <value>] [--queryVersion <value>] [--dict <value>] [--endpoint <value>] [--indexerUnsafe] [--indexerBatchSize\n    <value>] [--indexerSubscription] [--disableHistorical] [--indexerUnfinalized] [--indexerStoreCacheThreshold <value>]\n    [--disableIndexerStoreCacheAsync] [--indexerWorkers <value>] [--queryUnsafe] [--querySubscription] [--queryTimeout\n    <value>] [--queryMaxConnection <value>] [--queryAggregate] [--queryLimit <value>] [--useDefaults] [--ipfs <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --dict=<value>                        A dictionary endpoint for this projects network\n  --disableHistorical                   Disable historical data indexing\n  --disableIndexerStoreCacheAsync       Disable async store cache\n  --endpoint=<value>                    The RPC endpoint to be used by the project\n  --indexerBatchSize=<value>            [default: 30] The batch size for the indexer\n  --indexerStoreCacheThreshold=<value>  The number of items kept in the cache before flushing\n  --indexerSubscription                 Enable subscription for the indexer\n  --indexerUnfinalized                  Enable unfinalized blocks indexing\n  --indexerUnsafe                       Run the indexer in unsafe mode, this will disable some checks\n  --indexerVersion=<value>              Indexer image version\n  --indexerWorkers=<value>              The number of workers for the indexer\n  --ipfs=<value>                        An additional IPFS endpoint to upload to\n  --org=<value>                         (required) The Github organization name\n  --projectName=<value>                 (required) Project name\n  --queryAggregate                      Enable aggregate queries\n  --queryLimit=<value>                  The maximum number of results for the query\n  --queryMaxConnection=<value>          The maximum number of connections for the query\n  --querySubscription                   Enable subscription queries\n  --queryTimeout=<value>                The timeout for the query\n  --queryUnsafe                         Run the query in unsafe mode, this will disable some checks\n  --queryVersion=<value>                Query image version\n  --type=<option>                       (required) [default: primary]\n                                        <options: primary|stage>\n  --useDefaults                         Use default values for indexerVersion, queryVersion, dictionary, endpoint\n\nDESCRIPTION\n  Create a multi-chain project deployment no the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-multichain-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-multichain-deployment.ts)_\n\n## `subql onfinality:create-project`\n\nCreate a project on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-project --org <value> --projectName <value> [--logoURL <value>] [--subtitle <value>] [--description\n    <value>] [--dedicatedDB <value>] [--projectType subquery|subgraph]\n\nFLAGS\n  --dedicatedDB=<value>   Dedicated DataBase\n  --description=<value>   Description\n  --logoURL=<value>       Logo URL\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n  --projectType=<option>  [default: subquery] Project type [subquery|subgraph]\n                          <options: subquery|subgraph>\n  --subtitle=<value>      Subtitle\n\nDESCRIPTION\n  Create a project on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-project.ts)_\n\n## `subql onfinality:delete-deployment`\n\nDelete a deployment from the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:delete-deployment --org <value> --projectName <value> --deploymentID <value>\n\nFLAGS\n  --deploymentID=<value>  (required) Deployment ID\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n\nDESCRIPTION\n  Delete a deployment from the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/delete-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/delete-deployment.ts)_\n\n## `subql onfinality:delete-project`\n\nDelete a project on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:delete-project --org <value> --projectName <value>\n\nFLAGS\n  --org=<value>          (required) The Github organization name\n  --projectName=<value>  (required) The project name\n\nDESCRIPTION\n  Delete a project on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/delete-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/delete-project.ts)_\n\n## `subql onfinality:promote-deployment`\n\nPromote a deployment on the OnFinality managed services from a Stage environment to Production\n\n```\nUSAGE\n  $ subql onfinality:promote-deployment --org <value> --projectName <value> --deploymentID <value>\n\nFLAGS\n  --deploymentID=<value>  (required) Deployment ID\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n\nDESCRIPTION\n  Promote a deployment on the OnFinality managed services from a Stage environment to Production\n```\n\n_See code: [src/commands/onfinality/promote-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/promote-deployment.ts)_\n\n## `subql publish [LOCATION]`\n\nUpload this SubQuery project to IPFS for distribution\n\n```\nUSAGE\n  $ subql publish [LOCATION] [--ipfs <value>] [--silent]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --ipfs=<value>  An additional IPFS endpoint to upload to\n  --silent        Run the command without logging, only outputs the CIDs\n\nDESCRIPTION\n  Upload this SubQuery project to IPFS for distribution\n```\n\n_See code: [src/commands/publish.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/publish.ts)_\n\n<!-- commandsstop -->\n","packages/node/README.md":"# @subql-node\n\n## Description\n\nIndexer service in our @subql toolkit, can load user's subquery then fetch, process and persist to db accordingly.\n\n## Installation\n\n```bash\n$ npm i -g @subql/node\n```\n\n## Running the app\n\n```\n$> subql-node\n\nCommands:\n  run force-clean  Force cleans the database, dropping project schemas and\n                   tables (Once the command is executed, the application would\n                   exit upon completion)\n\n  run reindex      Reindex to specified block height (Once the command is\n                   executed, the application would exit upon completion).\n\nOptions:\n      --help                Show help                                  [boolean]\n      --version             Show version number                        [boolean]\n  -f, --subquery            Local path or IPFS cid of the subquery project\n       [string] [required] [default: process.cwd()]\n      --subquery-name       Name of the subquery project   [deprecated] [string]\n  -c, --config              Specify configuration file                  [string]\n      --local               Use local mode                [deprecated] [boolean]                              [boolean]\n      --db-schema           Db schema name of the project               [string]\n      --unsafe              Allows usage of any built-in module within the\n                            sandbox                                    [boolean]\n      --subscription        Enable subscription by create notification triggers\n                                                      [boolean] [default: false]\n      --batch-size          Batch size of blocks to fetch in one round  [number]\n      --scale-batch-size    scale batch size based on memory usage\n                                                      [boolean] [default: false]\n      --timeout             Timeout for indexer sandbox to execute the mapping\n                            functions                                   [number]\n      --debug               Show debug information to console output. will\n                            forcefully set log level to debug\n                                                      [boolean] [default: false]\n      --profiler            Show profiler information to console output\n                                                      [boolean] [default: false]\n      --network-endpoint    Blockchain network endpoint to connect      [string]\n      --output-fmt          Print log as json or plain text\n                                           [string] [choices: \"json\", \"colored\"]\n      --log-level           Specify log level to print. Ignored when --debug is\n                            used\n          [string] [choices: \"fatal\", \"error\", \"warn\", \"info\", \"debug\", \"trace\",\n                                                                       \"silent\"]\n      --timestamp-field     Enable/disable created_at and updated_at in schema\n                                                      [boolean] [default: false]\n  -d, --network-dictionary  Specify the dictionary api for this network [string]\n      --dictionary-timeout  Max timeout for dictionary query            [number]\n      --sponsored-dictionary  Use subquery network sponsored dictionary [string]\n      --proof-of-index      Enable/disable proof of index\n                                                      [boolean] [default: false]\n      --ipfs                IPFS gateway endpoint                       [string]\n  -p, --port                The port the service will bind to           [number]\n      --disable-historical  Disable storing historical state entities\n                                                       [boolean] [default: true]\n  -w, --workers             Number of worker threads to use for fetching and\n                            processing blocks. Disabled by default.     [number]\n      --multi-chain         Enables indexing multiple subquery projects into the\n                            same database schema      [boolean] [default: false]\n```\n\n## License\n\nApache-2.0\n","packages/query/README.md":"# @subql/query\n\n## Run this package\n\nTo quickly setup the project, add a `.env` file in the `subql/packages/query` folder with the following content:\n\n```env\nDB_HOST=localhost\nDB_PORT=5432\nDB_USER=postgres\nDB_PASS=postgres\nDB_DATABASE=postgres\n```\n\nthen run the following command\n\n```sh\nNODE_OPTIONS=\"-r dotenv/config\" yarn start:dev -- --name <subquery_name> --playground\n```\n","packages/utils/README.md":"# manifest-spec\n"},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/subquery/subql/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n\n## Plan and Reivew\n\n### Before Starting work\n- Always in planning mode, to make a plan\n- After the plan is made, make sure to write the plan to ./.claude/tasks/TASK_NAME.md\n- The plan should be a detailed implementation and the reasoning behind them as well as the tasks broken down\n- If the task requires external knowledge or certain dependencies, also research to get the latest knowledge. (Use the Task tool for research)\n- Don't over plan it, always design an MVP\n- Once you make the plan, firstly ask me to review it . Do not continue until I approve the plan\n\n### While implementing\n- The plan should be updated as you work\n- After completing tasks in the plan you should append a detailed description of the channges you made, so the following tasks can be handed over to other engineers\n\n## Development Commands\n\n### Building\n- `yarn build` - Build all packages in the workspace using TypeScript\n- Individual package builds use `tsc -b` and copy necessary files (e.g., CLI templates)\n\n### Testing\n- `yarn test` - Run Jest tests with coverage in UTC timezone\n- `yarn test:ci` - Run tests in CI mode with specific patterns\n- `yarn test:docker` - Run tests in Docker containers\n\n### Linting and Code Quality\n- `yarn lint` - Run ESLint across all TypeScript files in packages\n- Uses ESLint with TypeScript support, Prettier, and various plugins\n- Configured with husky pre-commit hooks and lint-staged\n\n### CLI-Specific Commands (packages/cli)\n- `yarn build` - Builds CLI and copies templates to lib/\n- `yarn format` - Format code using Prettier\n- `yarn codegen` - Generate GraphQL and API client code\n- `yarn codegen:graphql` - Generate GraphQL types\n- `yarn codegen:chs` - Generate consumer host service API client\n\n## Project Architecture\n\n### Monorepo Structure\nThis is a Yarn workspace monorepo containing multiple packages:\n\n- **`@subql/cli`** - Command-line interface for SubQuery projects (OCLIF-based)\n- **`@subql/node`** - Substrate-specific SubQuery indexer implementation\n- **`@subql/node-core`** - Core chain-agnostic indexing functionality\n- **`@subql/query`** - GraphQL query service\n- **`@subql/common`** - Shared utilities and types\n- **`@subql/common-substrate`** - Substrate-specific common utilities\n- **`@subql/types-core`** - Core type definitions\n- **`@subql/utils`** - General utility functions\n\n### CLI Commands Architecture\nThe CLI uses OCLIF framework with commands organized by functionality:\n\n- **Core project lifecycle**: `init`, `build`, `publish`\n- **Code generation**: `codegen` (GraphQL types, ABI imports)\n- **Multi-chain support**: `multi-chain add`\n- **Network operations**: Commands for SubQuery Network (deployments, projects, API keys, boosts)\n- **OnFinality hosting**: Project and deployment management\n- **Migration tools**: Project upgrade utilities\n- **MCP integration**: Model Context Protocol support for AI tools\n\n### Key Technologies\n- **TypeScript** throughout with strict configuration\n- **OCLIF** for CLI framework\n- **Jest** for testing with custom module mapping for workspace packages\n- **ESBuild** and **Webpack** for bundling\n- **GraphQL** code generation\n- **Zod** for schema validation\n- **Ethers.js** for Ethereum integration\n- **WalletConnect** for wallet interactions\n\n### Development Patterns\n\n#### Package Dependencies\nUses Yarn workspace protocol (`workspace:~`) for internal package dependencies to ensure proper linking during development.\n\n#### Testing Setup\n- Custom Jest configuration with module name mapping for workspace packages\n- UTC timezone enforcement for consistent test behavior\n- Coverage collection across multiple packages\n- Special handling for Polkadot packages in transform ignore patterns\n\n#### CLI Command Structure\nCommands follow a consistent pattern:\n- Input validation using Zod schemas\n- Adapter functions for shared logic between CLI and MCP modes\n- Structured logging and error handling\n- Progress indication using ora spinner\n\n#### MCP Integration\nThe CLI supports Model Context Protocol for AI tool integration, allowing commands to be executed through AI interfaces like Cursor.\n\n### Build System\n- TypeScript compilation with project references\n- Template copying for CLI (EJS templates in src/template → lib/template)\n- OCLIF manifest generation for command discovery\n- Automatic README generation from command help\n\n### Network Support\nSubQuery supports multiple blockchain networks:\n- Polkadot/Substrate (primary)\n- Ethereum and EVM-compatible chains\n- Cosmos/CosmWasm\n- Algorand, NEAR, Stellar, Solana, Starknet, Concordium\n\nEach network has its own implementation repository, with this repo containing the core Substrate implementation and shared components.\n","isInternal":false,"tokens":1067,"sizeBytes":4787},{"name":"README.md","path":"packages/cli/README.md","rawUrl":"https://raw.githubusercontent.com/subquery/subql/HEAD/packages/cli/README.md","title":"cli Documentation","category":"plugin-manifest","format":"markdown","content":"# @subql/cli\n\nCLI for SubQuery\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/@subql/cli.svg)](https://npmjs.org/package/@subql/cli)\n[![Downloads/week](https://img.shields.io/npm/dw/@subql/cli.svg)](https://npmjs.org/package/@subql/cli)\n[![License](https://img.shields.io/npm/l/@subql/cli.svg)](https://github.com/subquery/subql/blob/main/packages/cli/LICENSE)\n\n<!-- toc -->\n\n- [@subql/cli](#subqlcli)\n- [Usage](#usage)\n- [Commands](#commands)\n<!-- tocstop -->\n\n# Usage\n\n<!-- usage -->\n\n```sh-session\n$ npm install -g @subql/cli\n$ subql COMMAND\nrunning command...\n$ subql (--version)\n@subql/cli/6.6.3-0 linux-x64 node-v24.11.1\n$ subql --help [COMMAND]\nUSAGE\n  $ subql COMMAND\n...\n```\n\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n\n- [`subql build [LOCATION]`](#subql-build-location)\n- [`subql build-manifest [LOCATION]`](#subql-build-manifest-location)\n- [`subql codegen [LOCATION]`](#subql-codegen-location)\n- [`subql codegen:import-abi LOCATION`](#subql-codegenimport-abi-location)\n- [`subql import-abi LOCATION`](#subql-import-abi-location)\n- [`subql init NAME`](#subql-init-name)\n- [`subql mcp`](#subql-mcp)\n- [`subql migrate`](#subql-migrate)\n- [`subql multi-chain:add [LOCATION]`](#subql-multi-chainadd-location)\n- [`subql network:add-deployment-boost`](#subql-networkadd-deployment-boost)\n- [`subql network:connect-wallet`](#subql-networkconnect-wallet)\n- [`subql network:create-api-key NAME`](#subql-networkcreate-api-key-name)\n- [`subql network:create-deployment`](#subql-networkcreate-deployment)\n- [`subql network:create-flex-plan`](#subql-networkcreate-flex-plan)\n- [`subql network:create-project`](#subql-networkcreate-project)\n- [`subql network:disconnect-wallet`](#subql-networkdisconnect-wallet)\n- [`subql network:list-account-boosts`](#subql-networklist-account-boosts)\n- [`subql network:list-api-keys`](#subql-networklist-api-keys)\n- [`subql network:list-deployment-boosts`](#subql-networklist-deployment-boosts)\n- [`subql network:list-deployment-indexers`](#subql-networklist-deployment-indexers)\n- [`subql network:list-deployments`](#subql-networklist-deployments)\n- [`subql network:list-flex-plans`](#subql-networklist-flex-plans)\n- [`subql network:list-projects`](#subql-networklist-projects)\n- [`subql network:remove-api-key NAME`](#subql-networkremove-api-key-name)\n- [`subql network:remove-deployment-boost`](#subql-networkremove-deployment-boost)\n- [`subql network:stop-flex-plan`](#subql-networkstop-flex-plan)\n- [`subql network:swap-deployment-boost`](#subql-networkswap-deployment-boost)\n- [`subql onfinality:create-deployment`](#subql-onfinalitycreate-deployment)\n- [`subql onfinality:create-multichain-deployment [LOCATION]`](#subql-onfinalitycreate-multichain-deployment-location)\n- [`subql onfinality:create-project`](#subql-onfinalitycreate-project)\n- [`subql onfinality:delete-deployment`](#subql-onfinalitydelete-deployment)\n- [`subql onfinality:delete-project`](#subql-onfinalitydelete-project)\n- [`subql onfinality:promote-deployment`](#subql-onfinalitypromote-deployment)\n- [`subql publish [LOCATION]`](#subql-publish-location)\n\n## `subql build [LOCATION]`\n\nBuild this SubQuery project code into a bundle\n\n```\nUSAGE\n  $ subql build [LOCATION] [--output <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --output=<value>  [default: dist] The output location relative to the location\n\nDESCRIPTION\n  Build this SubQuery project code into a bundle\n```\n\n_See code: [src/commands/build.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/build.ts)_\n\n## `subql build-manifest [LOCATION]`\n\nBuild TypeScript manifest file to YAML (generates project.yaml from project.ts)\n\n```\nUSAGE\n  $ subql build-manifest [LOCATION]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nDESCRIPTION\n  Build TypeScript manifest file to YAML (generates project.yaml from project.ts)\n```\n\n_See code: [src/commands/build-manifest.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/build-manifest.ts)_\n\n## `subql codegen [LOCATION]`\n\nGenerate entity types from the GraphQL schema and contract interfaces\n\n```\nUSAGE\n  $ subql codegen [LOCATION]\n\nARGUMENTS\n  LOCATION  The project directory or path to project manifest.\n\nDESCRIPTION\n  Generate entity types from the GraphQL schema and contract interfaces\n```\n\n_See code: [src/commands/codegen/index.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/codegen/index.ts)_\n\n## `subql codegen:import-abi LOCATION`\n\nImport and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it will attempt to fetch the ABI and start block from the Etherscan.\n\n```\nUSAGE\n  $ subql codegen:import-abi LOCATION [--address <value>] [--abiName <value>] [--startBlock <value>] [--abiPath <value>]\n    [--events <value>] [--functions <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --abiName=<value>     The contracts name, if not provided, the contract address will be used if the ABI is fetched\n                        from Etherscan\n  --abiPath=<value>     The path to the ABI file\n  --address=<value>     The contracts address\n  --events=<value>      ABI events to generate handlers for. Use '*' for all. e.g. --events=\"approval, transfer\"\n  --functions=<value>   ABI functions to generate handlers for. Use '*' for all. e.g. --functions=\"approval, transfer\"\n  --startBlock=<value>  The start block of the handler, generally the block the contract is deployed.\n\nDESCRIPTION\n  Import and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it\n  will attempt to fetch the ABI and start block from the Etherscan.\n\nALIASES\n  $ subql import-abi\n```\n\n_See code: [src/commands/codegen/import-abi.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/codegen/import-abi.ts)_\n\n## `subql import-abi LOCATION`\n\nImport and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it will attempt to fetch the ABI and start block from the Etherscan.\n\n```\nUSAGE\n  $ subql import-abi LOCATION [--address <value>] [--abiName <value>] [--startBlock <value>] [--abiPath <value>]\n    [--events <value>] [--functions <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --abiName=<value>     The contracts name, if not provided, the contract address will be used if the ABI is fetched\n                        from Etherscan\n  --abiPath=<value>     The path to the ABI file\n  --address=<value>     The contracts address\n  --events=<value>      ABI events to generate handlers for. Use '*' for all. e.g. --events=\"approval, transfer\"\n  --functions=<value>   ABI functions to generate handlers for. Use '*' for all. e.g. --functions=\"approval, transfer\"\n  --startBlock=<value>  The start block of the handler, generally the block the contract is deployed.\n\nDESCRIPTION\n  Import and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it\n  will attempt to fetch the ABI and start block from the Etherscan.\n\nALIASES\n  $ subql import-abi\n```\n\n## `subql init NAME`\n\nInitialize a SubQuery project from a template\n\n```\nUSAGE\n  $ subql init NAME [--location <value>] [--network <value>] [--networkFamily <value>] [--endpoint\n    <value>] [--installDependencies] [--packageManager npm|yarn|pnpm] [--author <value>]\n\nARGUMENTS\n  NAME  The name of the project to create\n\nFLAGS\n  --author=<value>           The project author that will be set in package.json. Defaults to the current system user\n  --endpoint=<value>         The RPC endpoint that the project will use\n  --installDependencies      Install the dependencies of the project\n  --location=<value>         The path to the project, this can be a directory or a project manifest file.\n  --network=<value>          The name of the network the project will index data for\n  --networkFamily=<value>    The network family the project will index data for, e.g. EVM, Substrate\n  --packageManager=<option>  [default: npm]\n                             <options: npm|yarn|pnpm>\n\nDESCRIPTION\n  Initialize a SubQuery project from a template\n```\n\n_See code: [src/commands/init.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/init.ts)_\n\n## `subql mcp`\n\nRuns an MCP (Model Context Protocol) server over stdio\n\n```\nUSAGE\n  $ subql mcp\n\nDESCRIPTION\n  Runs an MCP (Model Context Protocol) server over stdio\n```\n\n_See code: [src/commands/mcp.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/mcp.ts)_\n\n## `subql migrate`\n\nMigrate a Subgraph project to a SubQuery project, including the manifest and schema.\n\n```\nUSAGE\n  $ subql migrate --input <value> --output <value> [--gitSubDirectory <value>]\n\nFLAGS\n  --gitSubDirectory=<value>  A subdirectory in the git repo if the input is a git repo\n  --input=<value>            (required) A directory or git repo to a subgraph project\n  --output=<value>           (required) The location of the SubQuery project\n\nDESCRIPTION\n  Migrate a Subgraph project to a SubQuery project, including the manifest and schema.\n```\n\n_See code: [src/commands/migrate.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/migrate.ts)_\n\n## `subql multi-chain:add [LOCATION]`\n\nAdd new chain manifest to multi-chain project\n\n```\nUSAGE\n  $ subql multi-chain:add [LOCATION] --chainManifestFile <value>\n\nARGUMENTS\n  LOCATION  The path to the multichain project, this can be a directory or a multichain manifest file.\n\nFLAGS\n  --chainManifestFile=<value>  (required) The path to the new chain manifest\n\nDESCRIPTION\n  Add new chain manifest to multi-chain project\n```\n\n_See code: [src/commands/multi-chain/add.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/multi-chain/add.ts)_\n\n## `subql network:add-deployment-boost`\n\nIncrease the boost for a deployment\n\n```\nUSAGE\n  $ subql network:add-deployment-boost --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount to boost the deployment with, in SQT\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Increase the boost for a deployment\n```\n\n_See code: [src/commands/network/add-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/add-deployment-boost.ts)_\n\n## `subql network:connect-wallet`\n\nConnect a wallet via Wallet Connect for interacting with the network\n\n```\nUSAGE\n  $ subql network:connect-wallet\n\nDESCRIPTION\n  Connect a wallet via Wallet Connect for interacting with the network\n```\n\n_See code: [src/commands/network/connect-wallet.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/connect-wallet.ts)_\n\n## `subql network:create-api-key NAME`\n\nCreate an API key for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:create-api-key NAME --network mainnet|testnet-mumbai|testnet|local\n\nARGUMENTS\n  NAME  The name of the api key, used to identify it\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Create an API key for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/create-api-key.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-api-key.ts)_\n\n## `subql network:create-deployment`\n\nCreate a new deployment for a SubQuery project\n\n```\nUSAGE\n  $ subql network:create-deployment --network mainnet|testnet-mumbai|testnet|local --projectId <value> --deploymentId <value>\n    --deploymentVersion <value> [--deploymentDescription <value>]\n\nFLAGS\n  --deploymentDescription=<value>  A description of the deployment, release notes\n  --deploymentId=<value>           (required) The IPFS CID of the published project\n  --deploymentVersion=<value>      (required) The version of the deployment\n  --network=<option>               (required) [default: mainnet] The network to check.\n                                   <options: mainnet|testnet-mumbai|testnet|local>\n  --projectId=<value>              (required) The project id, this should be a 0x prefixed hex number\n\nDESCRIPTION\n  Create a new deployment for a SubQuery project\n```\n\n_See code: [src/commands/network/create-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-deployment.ts)_\n\n## `subql network:create-flex-plan`\n\nCreate a new Flex Plan for querying a SubQuery deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:create-flex-plan --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount to deposit into the plan, in SQT\n  --deploymentId=<value>  (required) The deploymentId to create a flex plan for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Create a new Flex Plan for querying a SubQuery deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/create-flex-plan.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-flex-plan.ts)_\n\n## `subql network:create-project`\n\nCreate a new SubQuery project on the SubQuery network\n\n```\nUSAGE\n  $ subql network:create-project --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --projectType\n    0|1|2|3|SUBQUERY|RPC|SQ_DICT|SUBGRAPH --name <value> [--description <value>] [--image <value>] [--tags <value>...]\n    [--website <value>] [--codeRepository <value>] [--deploymentVersion <value>] [--deploymentDescription <value>]\n\nFLAGS\n  --codeRepository=<value>         A URL to the project code repository\n  --deploymentDescription=<value>  A description of the deployment, release notes\n  --deploymentId=<value>           (required) The IPFS CID of the published project\n  --deploymentVersion=<value>      [default: 1.0.0] The version of the deployment\n  --description=<value>            A short description of the project\n  --image=<value>                  A URL to an image for the project\n  --name=<value>                   (required) The name of the project\n  --network=<option>               (required) [default: mainnet] The network to check.\n                                   <options: mainnet|testnet-mumbai|testnet|local>\n  --projectType=<option>           (required)\n                                   <options: 0|1|2|3|SUBQUERY|RPC|SQ_DICT|SUBGRAPH>\n  --tags=<value>...                A list of tags for the project\n  --website=<value>                A URL to the project website\n\nDESCRIPTION\n  Create a new SubQuery project on the SubQuery network\n```\n\n_See code: [src/commands/network/create-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-project.ts)_\n\n## `subql network:disconnect-wallet`\n\nDisconnect a wallet connected via WalletConnect\n\n```\nUSAGE\n  $ subql network:disconnect-wallet\n\nDESCRIPTION\n  Disconnect a wallet connected via WalletConnect\n```\n\n_See code: [src/commands/network/disconnect-wallet.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/disconnect-wallet.ts)_\n\n## `subql network:list-account-boosts`\n\nGet a list of the deployments an account boosts\n\n```\nUSAGE\n  $ subql network:list-account-boosts --network mainnet|testnet-mumbai|testnet|local [--address <value>]\n\nFLAGS\n  --address=<value>   The account address to list boosts for\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Get a list of the deployments an account boosts\n```\n\n_See code: [src/commands/network/list-account-boosts.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-account-boosts.ts)_\n\n## `subql network:list-api-keys`\n\nList API keys for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-api-keys --network mainnet|testnet-mumbai|testnet|local\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List API keys for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/list-api-keys.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-api-keys.ts)_\n\n## `subql network:list-deployment-boosts`\n\nGet a list of boosts made to a project deployment\n\n```\nUSAGE\n  $ subql network:list-deployment-boosts --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Get a list of boosts made to a project deployment\n```\n\n_See code: [src/commands/network/list-deployment-boosts.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployment-boosts.ts)_\n\n## `subql network:list-deployment-indexers`\n\nList the indexers for a deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-deployment-indexers --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The DeploymentID of the project to list deployments for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List the indexers for a deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/list-deployment-indexers.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployment-indexers.ts)_\n\n## `subql network:list-deployments`\n\nList deployments for a SubQuery project\n\n```\nUSAGE\n  $ subql network:list-deployments --network mainnet|testnet-mumbai|testnet|local --projectId <value>\n\nFLAGS\n  --network=<option>   (required) [default: mainnet] The network to check.\n                       <options: mainnet|testnet-mumbai|testnet|local>\n  --projectId=<value>  (required) The ID of the project to list deployments for\n\nDESCRIPTION\n  List deployments for a SubQuery project\n```\n\n_See code: [src/commands/network/list-deployments.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployments.ts)_\n\n## `subql network:list-flex-plans`\n\nList your Flex Plans for querying projects on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-flex-plans --network mainnet|testnet-mumbai|testnet|local [--address <value>]\n\nFLAGS\n  --address=<value>   The account address to list boosts for\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List your Flex Plans for querying projects on the SubQuery Network\n```\n\n_See code: [src/commands/network/list-flex-plans.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-flex-plans.ts)_\n\n## `subql network:list-projects`\n\nList projects for a given account on then SubQuery network\n\n```\nUSAGE\n  $ subql network:list-projects --network mainnet|testnet-mumbai|testnet|local [--address <value>] [--networkRpc\n  <value>]\n\nFLAGS\n  --address=<value>     The address of the account that owns the projects\n  --network=<option>    (required) [default: mainnet] The network to check.\n                        <options: mainnet|testnet-mumbai|testnet|local>\n  --networkRpc=<value>  Override the network rpc url\n\nDESCRIPTION\n  List projects for a given account on then SubQuery network\n```\n\n_See code: [src/commands/network/list-projects.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-projects.ts)_\n\n## `subql network:remove-api-key NAME`\n\nRemove an API key used for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:remove-api-key NAME --network mainnet|testnet-mumbai|testnet|local\n\nARGUMENTS\n  NAME  The name of the api key, used to identify it\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Remove an API key used for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/remove-api-key.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/remove-api-key.ts)_\n\n## `subql network:remove-deployment-boost`\n\nDecrease the boost amount for a project deployment on the SubQuery network\n\n```\nUSAGE\n  $ subql network:remove-deployment-boost --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount of boost to remove from the deployment, in SQT\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Decrease the boost amount for a project deployment on the SubQuery network\n```\n\n_See code: [src/commands/network/remove-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/remove-deployment-boost.ts)_\n\n## `subql network:stop-flex-plan`\n\nStop a Flex Plan for a deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:stop-flex-plan --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The deploymentId to create a flex plan for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Stop a Flex Plan for a deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/stop-flex-plan.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/stop-flex-plan.ts)_\n\n## `subql network:swap-deployment-boost`\n\nSwap the boost from one deployment to another deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:swap-deployment-boost --network mainnet|testnet-mumbai|testnet|local --fromDeploymentId <value> --toDeploymentId\n    <value> --amount <value>\n\nFLAGS\n  --amount=<value>            (required) The amount to boost the deployment with, in SQT\n  --fromDeploymentId=<value>  (required) The deployment id for the project that is already boosted\n  --network=<option>          (required) [default: mainnet] The network to check.\n                              <options: mainnet|testnet-mumbai|testnet|local>\n  --toDeploymentId=<value>    (required) The deployment id for the project to move the boost to\n\nDESCRIPTION\n  Swap the boost from one deployment to another deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/swap-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/swap-deployment-boost.ts)_\n\n## `subql onfinality:create-deployment`\n\nCreate a project deployment on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-deployment --org <value> --projectName <value> --type primary|stage --ipfsCID <value>\n    [--indexerVersion <value>] [--queryVersion <value>] [--dict <value>] [--endpoint <value>] [--indexerUnsafe]\n    [--indexerBatchSize <value>] [--indexerSubscription] [--disableHistorical] [--indexerUnfinalized]\n    [--indexerStoreCacheThreshold <value>] [--disableIndexerStoreCacheAsync] [--indexerWorkers <value>] [--queryUnsafe]\n    [--querySubscription] [--queryTimeout <value>] [--queryMaxConnection <value>] [--queryAggregate] [--queryLimit\n    <value>] [--useDefaults]\n\nFLAGS\n  --dict=<value>                        A dictionary endpoint for this projects network\n  --disableHistorical                   Disable historical data indexing\n  --disableIndexerStoreCacheAsync       Disable async store cache\n  --endpoint=<value>                    The RPC endpoint to be used by the project\n  --indexerBatchSize=<value>            [default: 30] The batch size for the indexer\n  --indexerStoreCacheThreshold=<value>  The number of items kept in the cache before flushing\n  --indexerSubscription                 Enable subscription for the indexer\n  --indexerUnfinalized                  Enable unfinalized blocks indexing\n  --indexerUnsafe                       Run the indexer in unsafe mode, this will disable some checks\n  --indexerVersion=<value>              Indexer image version\n  --indexerWorkers=<value>              The number of workers for the indexer\n  --ipfsCID=<value>                     (required) The IPFC CID of the published project\n  --org=<value>                         (required) The Github organization name\n  --projectName=<value>                 (required) Project name\n  --queryAggregate                      Enable aggregate queries\n  --queryLimit=<value>                  The maximum number of results for the query\n  --queryMaxConnection=<value>          The maximum number of connections for the query\n  --querySubscription                   Enable subscription queries\n  --queryTimeout=<value>                The timeout for the query\n  --queryUnsafe                         Run the query in unsafe mode, this will disable some checks\n  --queryVersion=<value>                Query image version\n  --type=<option>                       (required) [default: primary]\n                                        <options: primary|stage>\n  --useDefaults                         Use default values for indexerVersion, queryVersion, dictionary, endpoint\n\nDESCRIPTION\n  Create a project deployment on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-deployment.ts)_\n\n## `subql onfinality:create-multichain-deployment [LOCATION]`\n\nCreate a multi-chain project deployment no the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-multichain-deployment [LOCATION] --org <value> --projectName <value> --type primary|stage [--indexerVersion\n    <value>] [--queryVersion <value>] [--dict <value>] [--endpoint <value>] [--indexerUnsafe] [--indexerBatchSize\n    <value>] [--indexerSubscription] [--disableHistorical] [--indexerUnfinalized] [--indexerStoreCacheThreshold <value>]\n    [--disableIndexerStoreCacheAsync] [--indexerWorkers <value>] [--queryUnsafe] [--querySubscription] [--queryTimeout\n    <value>] [--queryMaxConnection <value>] [--queryAggregate] [--queryLimit <value>] [--useDefaults] [--ipfs <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --dict=<value>                        A dictionary endpoint for this projects network\n  --disableHistorical                   Disable historical data indexing\n  --disableIndexerStoreCacheAsync       Disable async store cache\n  --endpoint=<value>                    The RPC endpoint to be used by the project\n  --indexerBatchSize=<value>            [default: 30] The batch size for the indexer\n  --indexerStoreCacheThreshold=<value>  The number of items kept in the cache before flushing\n  --indexerSubscription                 Enable subscription for the indexer\n  --indexerUnfinalized                  Enable unfinalized blocks indexing\n  --indexerUnsafe                       Run the indexer in unsafe mode, this will disable some checks\n  --indexerVersion=<value>              Indexer image version\n  --indexerWorkers=<value>              The number of workers for the indexer\n  --ipfs=<value>                        An additional IPFS endpoint to upload to\n  --org=<value>                         (required) The Github organization name\n  --projectName=<value>                 (required) Project name\n  --queryAggregate                      Enable aggregate queries\n  --queryLimit=<value>                  The maximum number of results for the query\n  --queryMaxConnection=<value>          The maximum number of connections for the query\n  --querySubscription                   Enable subscription queries\n  --queryTimeout=<value>                The timeout for the query\n  --queryUnsafe                         Run the query in unsafe mode, this will disable some checks\n  --queryVersion=<value>                Query image version\n  --type=<option>                       (required) [default: primary]\n                                        <options: primary|stage>\n  --useDefaults                         Use default values for indexerVersion, queryVersion, dictionary, endpoint\n\nDESCRIPTION\n  Create a multi-chain project deployment no the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-multichain-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-multichain-deployment.ts)_\n\n## `subql onfinality:create-project`\n\nCreate a project on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-project --org <value> --projectName <value> [--logoURL <value>] [--subtitle <value>] [--description\n    <value>] [--dedicatedDB <value>] [--projectType subquery|subgraph]\n\nFLAGS\n  --dedicatedDB=<value>   Dedicated DataBase\n  --description=<value>   Description\n  --logoURL=<value>       Logo URL\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n  --projectType=<option>  [default: subquery] Project type [subquery|subgraph]\n                          <options: subquery|subgraph>\n  --subtitle=<value>      Subtitle\n\nDESCRIPTION\n  Create a project on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-project.ts)_\n\n## `subql onfinality:delete-deployment`\n\nDelete a deployment from the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:delete-deployment --org <value> --projectName <value> --deploymentID <value>\n\nFLAGS\n  --deploymentID=<value>  (required) Deployment ID\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n\nDESCRIPTION\n  Delete a deployment from the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/delete-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/delete-deployment.ts)_\n\n## `subql onfinality:delete-project`\n\nDelete a project on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:delete-project --org <value> --projectName <value>\n\nFLAGS\n  --org=<value>          (required) The Github organization name\n  --projectName=<value>  (required) The project name\n\nDESCRIPTION\n  Delete a project on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/delete-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/delete-project.ts)_\n\n## `subql onfinality:promote-deployment`\n\nPromote a deployment on the OnFinality managed services from a Stage environment to Production\n\n```\nUSAGE\n  $ subql onfinality:promote-deployment --org <value> --projectName <value> --deploymentID <value>\n\nFLAGS\n  --deploymentID=<value>  (required) Deployment ID\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n\nDESCRIPTION\n  Promote a deployment on the OnFinality managed services from a Stage environment to Production\n```\n\n_See code: [src/commands/onfinality/promote-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/promote-deployment.ts)_\n\n## `subql publish [LOCATION]`\n\nUpload this SubQuery project to IPFS for distribution\n\n```\nUSAGE\n  $ subql publish [LOCATION] [--ipfs <value>] [--silent]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --ipfs=<value>  An additional IPFS endpoint to upload to\n  --silent        Run the command without logging, only outputs the CIDs\n\nDESCRIPTION\n  Upload this SubQuery project to IPFS for distribution\n```\n\n_See code: [src/commands/publish.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/publish.ts)_\n\n<!-- commandsstop -->\n","isInternal":false,"tokens":8310,"sizeBytes":33069},{"name":"README.md","path":"packages/node/README.md","rawUrl":"https://raw.githubusercontent.com/subquery/subql/HEAD/packages/node/README.md","title":"node Documentation","category":"plugin-manifest","format":"markdown","content":"# @subql-node\n\n## Description\n\nIndexer service in our @subql toolkit, can load user's subquery then fetch, process and persist to db accordingly.\n\n## Installation\n\n```bash\n$ npm i -g @subql/node\n```\n\n## Running the app\n\n```\n$> subql-node\n\nCommands:\n  run force-clean  Force cleans the database, dropping project schemas and\n                   tables (Once the command is executed, the application would\n                   exit upon completion)\n\n  run reindex      Reindex to specified block height (Once the command is\n                   executed, the application would exit upon completion).\n\nOptions:\n      --help                Show help                                  [boolean]\n      --version             Show version number                        [boolean]\n  -f, --subquery            Local path or IPFS cid of the subquery project\n       [string] [required] [default: process.cwd()]\n      --subquery-name       Name of the subquery project   [deprecated] [string]\n  -c, --config              Specify configuration file                  [string]\n      --local               Use local mode                [deprecated] [boolean]                              [boolean]\n      --db-schema           Db schema name of the project               [string]\n      --unsafe              Allows usage of any built-in module within the\n                            sandbox                                    [boolean]\n      --subscription        Enable subscription by create notification triggers\n                                                      [boolean] [default: false]\n      --batch-size          Batch size of blocks to fetch in one round  [number]\n      --scale-batch-size    scale batch size based on memory usage\n                                                      [boolean] [default: false]\n      --timeout             Timeout for indexer sandbox to execute the mapping\n                            functions                                   [number]\n      --debug               Show debug information to console output. will\n                            forcefully set log level to debug\n                                                      [boolean] [default: false]\n      --profiler            Show profiler information to console output\n                                                      [boolean] [default: false]\n      --network-endpoint    Blockchain network endpoint to connect      [string]\n      --output-fmt          Print log as json or plain text\n                                           [string] [choices: \"json\", \"colored\"]\n      --log-level           Specify log level to print. Ignored when --debug is\n                            used\n          [string] [choices: \"fatal\", \"error\", \"warn\", \"info\", \"debug\", \"trace\",\n                                                                       \"silent\"]\n      --timestamp-field     Enable/disable created_at and updated_at in schema\n                                                      [boolean] [default: false]\n  -d, --network-dictionary  Specify the dictionary api for this network [string]\n      --dictionary-timeout  Max timeout for dictionary query            [number]\n      --sponsored-dictionary  Use subquery network sponsored dictionary [string]\n      --proof-of-index      Enable/disable proof of index\n                                                      [boolean] [default: false]\n      --ipfs                IPFS gateway endpoint                       [string]\n  -p, --port                The port the service will bind to           [number]\n      --disable-historical  Disable storing historical state entities\n                                                       [boolean] [default: true]\n  -w, --workers             Number of worker threads to use for fetching and\n                            processing blocks. Disabled by default.     [number]\n      --multi-chain         Enables indexing multiple subquery projects into the\n                            same database schema      [boolean] [default: false]\n```\n\n## License\n\nApache-2.0\n","isInternal":false,"tokens":709,"sizeBytes":4032},{"name":"README.md","path":"packages/query/README.md","rawUrl":"https://raw.githubusercontent.com/subquery/subql/HEAD/packages/query/README.md","title":"query Documentation","category":"plugin-manifest","format":"markdown","content":"# @subql/query\n\n## Run this package\n\nTo quickly setup the project, add a `.env` file in the `subql/packages/query` folder with the following content:\n\n```env\nDB_HOST=localhost\nDB_PORT=5432\nDB_USER=postgres\nDB_PASS=postgres\nDB_DATABASE=postgres\n```\n\nthen run the following command\n\n```sh\nNODE_OPTIONS=\"-r dotenv/config\" yarn start:dev -- --name <subquery_name> --playground\n```\n","isInternal":false,"tokens":101,"sizeBytes":377},{"name":"README.md","path":"packages/utils/README.md","rawUrl":"https://raw.githubusercontent.com/subquery/subql/HEAD/packages/utils/README.md","title":"utils Documentation","category":"plugin-manifest","format":"markdown","content":"# manifest-spec\n","isInternal":false,"tokens":4,"sizeBytes":16}],"systemPromptSnippet":"<yakaai_skills repo=\"subquery/subql\">\n<!-- File: CLAUDE.md (Tokens: ~1067 | Category: claude-rule) -->\n# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n\n## Plan and Reivew\n\n### Before Starting work\n- Always in planning mode, to make a plan\n- After the plan is made, make sure to write the plan to ./.claude/tasks/TASK_NAME.md\n- The plan should be a detailed implementation and the reasoning behind them as well as the tasks broken down\n- If the task requires external knowledge or certain dependencies, also research to get the latest knowledge. (Use the Task tool for research)\n- Don't over plan it, always design an MVP\n- Once you make the plan, firstly ask me to review it . Do not continue until I approve the plan\n\n### While implementing\n- The plan should be updated as you work\n- After completing tasks in the plan you should append a detailed description of the channges you made, so the following tasks can be handed over to other engineers\n\n## Development Commands\n\n### Building\n- `yarn build` - Build all packages in the workspace using TypeScript\n- Individual package builds use `tsc -b` and copy necessary files (e.g., CLI templates)\n\n### Testing\n- `yarn test` - Run Jest tests with coverage in UTC timezone\n- `yarn test:ci` - Run tests in CI mode with specific patterns\n- `yarn test:docker` - Run tests in Docker containers\n\n### Linting and Code Quality\n- `yarn lint` - Run ESLint across all TypeScript files in packages\n- Uses ESLint with TypeScript support, Prettier, and various plugins\n- Configured with husky pre-commit hooks and lint-staged\n\n### CLI-Specific Commands (packages/cli)\n- `yarn build` - Builds CLI and copies templates to lib/\n- `yarn format` - Format code using Prettier\n- `yarn codegen` - Generate GraphQL and API client code\n- `yarn codegen:graphql` - Generate GraphQL types\n- `yarn codegen:chs` - Generate consumer host service API client\n\n## Project Architecture\n\n### Monorepo Structure\nThis is a Yarn workspace monorepo containing multiple packages:\n\n- **`@subql/cli`** - Command-line interface for SubQuery projects (OCLIF-based)\n- **`@subql/node`** - Substrate-specific SubQuery indexer implementation\n- **`@subql/node-core`** - Core chain-agnostic indexing functionality\n- **`@subql/query`** - GraphQL query service\n- **`@subql/common`** - Shared utilities and types\n- **`@subql/common-substrate`** - Substrate-specific common utilities\n- **`@subql/types-core`** - Core type definitions\n- **`@subql/utils`** - General utility functions\n\n### CLI Commands Architecture\nThe CLI uses OCLIF framework with commands organized by functionality:\n\n- **Core project lifecycle**: `init`, `build`, `publish`\n- **Code generation**: `codegen` (GraphQL types, ABI imports)\n- **Multi-chain support**: `multi-chain add`\n- **Network operations**: Commands for SubQuery Network (deployments, projects, API keys, boosts)\n- **OnFinality hosting**: Project and deployment management\n- **Migration tools**: Project upgrade utilities\n- **MCP integration**: Model Context Protocol support for AI tools\n\n### Key Technologies\n- **TypeScript** throughout with strict configuration\n- **OCLIF** for CLI framework\n- **Jest** for testing with custom module mapping for workspace packages\n- **ESBuild** and **Webpack** for bundling\n- **GraphQL** code generation\n- **Zod** for schema validation\n- **Ethers.js** for Ethereum integration\n- **WalletConnect** for wallet interactions\n\n### Development Patterns\n\n#### Package Dependencies\nUses Yarn workspace protocol (`workspace:~`) for internal package dependencies to ensure proper linking during development.\n\n#### Testing Setup\n- Custom Jest configuration with module name mapping for workspace packages\n- UTC timezone enforcement for consistent test behavior\n- Coverage collection across multiple packages\n- Special handling for Polkadot packages in transform ignore patterns\n\n#### CLI Command Structure\nCommands follow a consistent pattern:\n- Input validation using Zod schemas\n- Adapter functions for shared logic between CLI and MCP modes\n- Structured logging and error handling\n- Progress indication using ora spinner\n\n#### MCP Integration\nThe CLI supports Model Context Protocol for AI tool integration, allowing commands to be executed through AI interfaces like Cursor.\n\n### Build System\n- TypeScript compilation with project references\n- Template copying for CLI (EJS templates in src/template → lib/template)\n- OCLIF manifest generation for command discovery\n- Automatic README generation from command help\n\n### Network Support\nSubQuery supports multiple blockchain networks:\n- Polkadot/Substrate (primary)\n- Ethereum and EVM-compatible chains\n- Cosmos/CosmWasm\n- Algorand, NEAR, Stellar, Solana, Starknet, Concordium\n\nEach network has its own implementation repository, with this repo containing the core Substrate implementation and shared components.\n\n<!-- File: packages/cli/README.md (Tokens: ~8310 | Category: plugin-manifest) -->\n# @subql/cli\n\nCLI for SubQuery\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/@subql/cli.svg)](https://npmjs.org/package/@subql/cli)\n[![Downloads/week](https://img.shields.io/npm/dw/@subql/cli.svg)](https://npmjs.org/package/@subql/cli)\n[![License](https://img.shields.io/npm/l/@subql/cli.svg)](https://github.com/subquery/subql/blob/main/packages/cli/LICENSE)\n\n<!-- toc -->\n\n- [@subql/cli](#subqlcli)\n- [Usage](#usage)\n- [Commands](#commands)\n<!-- tocstop -->\n\n# Usage\n\n<!-- usage -->\n\n```sh-session\n$ npm install -g @subql/cli\n$ subql COMMAND\nrunning command...\n$ subql (--version)\n@subql/cli/6.6.3-0 linux-x64 node-v24.11.1\n$ subql --help [COMMAND]\nUSAGE\n  $ subql COMMAND\n...\n```\n\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n\n- [`subql build [LOCATION]`](#subql-build-location)\n- [`subql build-manifest [LOCATION]`](#subql-build-manifest-location)\n- [`subql codegen [LOCATION]`](#subql-codegen-location)\n- [`subql codegen:import-abi LOCATION`](#subql-codegenimport-abi-location)\n- [`subql import-abi LOCATION`](#subql-import-abi-location)\n- [`subql init NAME`](#subql-init-name)\n- [`subql mcp`](#subql-mcp)\n- [`subql migrate`](#subql-migrate)\n- [`subql multi-chain:add [LOCATION]`](#subql-multi-chainadd-location)\n- [`subql network:add-deployment-boost`](#subql-networkadd-deployment-boost)\n- [`subql network:connect-wallet`](#subql-networkconnect-wallet)\n- [`subql network:create-api-key NAME`](#subql-networkcreate-api-key-name)\n- [`subql network:create-deployment`](#subql-networkcreate-deployment)\n- [`subql network:create-flex-plan`](#subql-networkcreate-flex-plan)\n- [`subql network:create-project`](#subql-networkcreate-project)\n- [`subql network:disconnect-wallet`](#subql-networkdisconnect-wallet)\n- [`subql network:list-account-boosts`](#subql-networklist-account-boosts)\n- [`subql network:list-api-keys`](#subql-networklist-api-keys)\n- [`subql network:list-deployment-boosts`](#subql-networklist-deployment-boosts)\n- [`subql network:list-deployment-indexers`](#subql-networklist-deployment-indexers)\n- [`subql network:list-deployments`](#subql-networklist-deployments)\n- [`subql network:list-flex-plans`](#subql-networklist-flex-plans)\n- [`subql network:list-projects`](#subql-networklist-projects)\n- [`subql network:remove-api-key NAME`](#subql-networkremove-api-key-name)\n- [`subql network:remove-deployment-boost`](#subql-networkremove-deployment-boost)\n- [`subql network:stop-flex-plan`](#subql-networkstop-flex-plan)\n- [`subql network:swap-deployment-boost`](#subql-networkswap-deployment-boost)\n- [`subql onfinality:create-deployment`](#subql-onfinalitycreate-deployment)\n- [`subql onfinality:create-multichain-deployment [LOCATION]`](#subql-onfinalitycreate-multichain-deployment-location)\n- [`subql onfinality:create-project`](#subql-onfinalitycreate-project)\n- [`subql onfinality:delete-deployment`](#subql-onfinalitydelete-deployment)\n- [`subql onfinality:delete-project`](#subql-onfinalitydelete-project)\n- [`subql onfinality:promote-deployment`](#subql-onfinalitypromote-deployment)\n- [`subql publish [LOCATION]`](#subql-publish-location)\n\n## `subql build [LOCATION]`\n\nBuild this SubQuery project code into a bundle\n\n```\nUSAGE\n  $ subql build [LOCATION] [--output <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --output=<value>  [default: dist] The output location relative to the location\n\nDESCRIPTION\n  Build this SubQuery project code into a bundle\n```\n\n_See code: [src/commands/build.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/build.ts)_\n\n## `subql build-manifest [LOCATION]`\n\nBuild TypeScript manifest file to YAML (generates project.yaml from project.ts)\n\n```\nUSAGE\n  $ subql build-manifest [LOCATION]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nDESCRIPTION\n  Build TypeScript manifest file to YAML (generates project.yaml from project.ts)\n```\n\n_See code: [src/commands/build-manifest.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/build-manifest.ts)_\n\n## `subql codegen [LOCATION]`\n\nGenerate entity types from the GraphQL schema and contract interfaces\n\n```\nUSAGE\n  $ subql codegen [LOCATION]\n\nARGUMENTS\n  LOCATION  The project directory or path to project manifest.\n\nDESCRIPTION\n  Generate entity types from the GraphQL schema and contract interfaces\n```\n\n_See code: [src/commands/codegen/index.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/codegen/index.ts)_\n\n## `subql codegen:import-abi LOCATION`\n\nImport and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it will attempt to fetch the ABI and start block from the Etherscan.\n\n```\nUSAGE\n  $ subql codegen:import-abi LOCATION [--address <value>] [--abiName <value>] [--startBlock <value>] [--abiPath <value>]\n    [--events <value>] [--functions <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --abiName=<value>     The contracts name, if not provided, the contract address will be used if the ABI is fetched\n                        from Etherscan\n  --abiPath=<value>     The path to the ABI file\n  --address=<value>     The contracts address\n  --events=<value>      ABI events to generate handlers for. Use '*' for all. e.g. --events=\"approval, transfer\"\n  --functions=<value>   ABI functions to generate handlers for. Use '*' for all. e.g. --functions=\"approval, transfer\"\n  --startBlock=<value>  The start block of the handler, generally the block the contract is deployed.\n\nDESCRIPTION\n  Import and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it\n  will attempt to fetch the ABI and start block from the Etherscan.\n\nALIASES\n  $ subql import-abi\n```\n\n_See code: [src/commands/codegen/import-abi.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/codegen/import-abi.ts)_\n\n## `subql import-abi LOCATION`\n\nImport and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it will attempt to fetch the ABI and start block from the Etherscan.\n\n```\nUSAGE\n  $ subql import-abi LOCATION [--address <value>] [--abiName <value>] [--startBlock <value>] [--abiPath <value>]\n    [--events <value>] [--functions <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --abiName=<value>     The contracts name, if not provided, the contract address will be used if the ABI is fetched\n                        from Etherscan\n  --abiPath=<value>     The path to the ABI file\n  --address=<value>     The contracts address\n  --events=<value>      ABI events to generate handlers for. Use '*' for all. e.g. --events=\"approval, transfer\"\n  --functions=<value>   ABI functions to generate handlers for. Use '*' for all. e.g. --functions=\"approval, transfer\"\n  --startBlock=<value>  The start block of the handler, generally the block the contract is deployed.\n\nDESCRIPTION\n  Import and ABI to generate project handlers and mapping functions based on an Ethereum ABI. If address is provided, it\n  will attempt to fetch the ABI and start block from the Etherscan.\n\nALIASES\n  $ subql import-abi\n```\n\n## `subql init NAME`\n\nInitialize a SubQuery project from a template\n\n```\nUSAGE\n  $ subql init NAME [--location <value>] [--network <value>] [--networkFamily <value>] [--endpoint\n    <value>] [--installDependencies] [--packageManager npm|yarn|pnpm] [--author <value>]\n\nARGUMENTS\n  NAME  The name of the project to create\n\nFLAGS\n  --author=<value>           The project author that will be set in package.json. Defaults to the current system user\n  --endpoint=<value>         The RPC endpoint that the project will use\n  --installDependencies      Install the dependencies of the project\n  --location=<value>         The path to the project, this can be a directory or a project manifest file.\n  --network=<value>          The name of the network the project will index data for\n  --networkFamily=<value>    The network family the project will index data for, e.g. EVM, Substrate\n  --packageManager=<option>  [default: npm]\n                             <options: npm|yarn|pnpm>\n\nDESCRIPTION\n  Initialize a SubQuery project from a template\n```\n\n_See code: [src/commands/init.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/init.ts)_\n\n## `subql mcp`\n\nRuns an MCP (Model Context Protocol) server over stdio\n\n```\nUSAGE\n  $ subql mcp\n\nDESCRIPTION\n  Runs an MCP (Model Context Protocol) server over stdio\n```\n\n_See code: [src/commands/mcp.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/mcp.ts)_\n\n## `subql migrate`\n\nMigrate a Subgraph project to a SubQuery project, including the manifest and schema.\n\n```\nUSAGE\n  $ subql migrate --input <value> --output <value> [--gitSubDirectory <value>]\n\nFLAGS\n  --gitSubDirectory=<value>  A subdirectory in the git repo if the input is a git repo\n  --input=<value>            (required) A directory or git repo to a subgraph project\n  --output=<value>           (required) The location of the SubQuery project\n\nDESCRIPTION\n  Migrate a Subgraph project to a SubQuery project, including the manifest and schema.\n```\n\n_See code: [src/commands/migrate.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/migrate.ts)_\n\n## `subql multi-chain:add [LOCATION]`\n\nAdd new chain manifest to multi-chain project\n\n```\nUSAGE\n  $ subql multi-chain:add [LOCATION] --chainManifestFile <value>\n\nARGUMENTS\n  LOCATION  The path to the multichain project, this can be a directory or a multichain manifest file.\n\nFLAGS\n  --chainManifestFile=<value>  (required) The path to the new chain manifest\n\nDESCRIPTION\n  Add new chain manifest to multi-chain project\n```\n\n_See code: [src/commands/multi-chain/add.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/multi-chain/add.ts)_\n\n## `subql network:add-deployment-boost`\n\nIncrease the boost for a deployment\n\n```\nUSAGE\n  $ subql network:add-deployment-boost --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount to boost the deployment with, in SQT\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Increase the boost for a deployment\n```\n\n_See code: [src/commands/network/add-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/add-deployment-boost.ts)_\n\n## `subql network:connect-wallet`\n\nConnect a wallet via Wallet Connect for interacting with the network\n\n```\nUSAGE\n  $ subql network:connect-wallet\n\nDESCRIPTION\n  Connect a wallet via Wallet Connect for interacting with the network\n```\n\n_See code: [src/commands/network/connect-wallet.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/connect-wallet.ts)_\n\n## `subql network:create-api-key NAME`\n\nCreate an API key for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:create-api-key NAME --network mainnet|testnet-mumbai|testnet|local\n\nARGUMENTS\n  NAME  The name of the api key, used to identify it\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Create an API key for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/create-api-key.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-api-key.ts)_\n\n## `subql network:create-deployment`\n\nCreate a new deployment for a SubQuery project\n\n```\nUSAGE\n  $ subql network:create-deployment --network mainnet|testnet-mumbai|testnet|local --projectId <value> --deploymentId <value>\n    --deploymentVersion <value> [--deploymentDescription <value>]\n\nFLAGS\n  --deploymentDescription=<value>  A description of the deployment, release notes\n  --deploymentId=<value>           (required) The IPFS CID of the published project\n  --deploymentVersion=<value>      (required) The version of the deployment\n  --network=<option>               (required) [default: mainnet] The network to check.\n                                   <options: mainnet|testnet-mumbai|testnet|local>\n  --projectId=<value>              (required) The project id, this should be a 0x prefixed hex number\n\nDESCRIPTION\n  Create a new deployment for a SubQuery project\n```\n\n_See code: [src/commands/network/create-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-deployment.ts)_\n\n## `subql network:create-flex-plan`\n\nCreate a new Flex Plan for querying a SubQuery deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:create-flex-plan --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount to deposit into the plan, in SQT\n  --deploymentId=<value>  (required) The deploymentId to create a flex plan for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Create a new Flex Plan for querying a SubQuery deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/create-flex-plan.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-flex-plan.ts)_\n\n## `subql network:create-project`\n\nCreate a new SubQuery project on the SubQuery network\n\n```\nUSAGE\n  $ subql network:create-project --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --projectType\n    0|1|2|3|SUBQUERY|RPC|SQ_DICT|SUBGRAPH --name <value> [--description <value>] [--image <value>] [--tags <value>...]\n    [--website <value>] [--codeRepository <value>] [--deploymentVersion <value>] [--deploymentDescription <value>]\n\nFLAGS\n  --codeRepository=<value>         A URL to the project code repository\n  --deploymentDescription=<value>  A description of the deployment, release notes\n  --deploymentId=<value>           (required) The IPFS CID of the published project\n  --deploymentVersion=<value>      [default: 1.0.0] The version of the deployment\n  --description=<value>            A short description of the project\n  --image=<value>                  A URL to an image for the project\n  --name=<value>                   (required) The name of the project\n  --network=<option>               (required) [default: mainnet] The network to check.\n                                   <options: mainnet|testnet-mumbai|testnet|local>\n  --projectType=<option>           (required)\n                                   <options: 0|1|2|3|SUBQUERY|RPC|SQ_DICT|SUBGRAPH>\n  --tags=<value>...                A list of tags for the project\n  --website=<value>                A URL to the project website\n\nDESCRIPTION\n  Create a new SubQuery project on the SubQuery network\n```\n\n_See code: [src/commands/network/create-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/create-project.ts)_\n\n## `subql network:disconnect-wallet`\n\nDisconnect a wallet connected via WalletConnect\n\n```\nUSAGE\n  $ subql network:disconnect-wallet\n\nDESCRIPTION\n  Disconnect a wallet connected via WalletConnect\n```\n\n_See code: [src/commands/network/disconnect-wallet.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/disconnect-wallet.ts)_\n\n## `subql network:list-account-boosts`\n\nGet a list of the deployments an account boosts\n\n```\nUSAGE\n  $ subql network:list-account-boosts --network mainnet|testnet-mumbai|testnet|local [--address <value>]\n\nFLAGS\n  --address=<value>   The account address to list boosts for\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Get a list of the deployments an account boosts\n```\n\n_See code: [src/commands/network/list-account-boosts.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-account-boosts.ts)_\n\n## `subql network:list-api-keys`\n\nList API keys for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-api-keys --network mainnet|testnet-mumbai|testnet|local\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List API keys for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/list-api-keys.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-api-keys.ts)_\n\n## `subql network:list-deployment-boosts`\n\nGet a list of boosts made to a project deployment\n\n```\nUSAGE\n  $ subql network:list-deployment-boosts --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Get a list of boosts made to a project deployment\n```\n\n_See code: [src/commands/network/list-deployment-boosts.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployment-boosts.ts)_\n\n## `subql network:list-deployment-indexers`\n\nList the indexers for a deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-deployment-indexers --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The DeploymentID of the project to list deployments for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List the indexers for a deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/list-deployment-indexers.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployment-indexers.ts)_\n\n## `subql network:list-deployments`\n\nList deployments for a SubQuery project\n\n```\nUSAGE\n  $ subql network:list-deployments --network mainnet|testnet-mumbai|testnet|local --projectId <value>\n\nFLAGS\n  --network=<option>   (required) [default: mainnet] The network to check.\n                       <options: mainnet|testnet-mumbai|testnet|local>\n  --projectId=<value>  (required) The ID of the project to list deployments for\n\nDESCRIPTION\n  List deployments for a SubQuery project\n```\n\n_See code: [src/commands/network/list-deployments.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-deployments.ts)_\n\n## `subql network:list-flex-plans`\n\nList your Flex Plans for querying projects on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:list-flex-plans --network mainnet|testnet-mumbai|testnet|local [--address <value>]\n\nFLAGS\n  --address=<value>   The account address to list boosts for\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  List your Flex Plans for querying projects on the SubQuery Network\n```\n\n_See code: [src/commands/network/list-flex-plans.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-flex-plans.ts)_\n\n## `subql network:list-projects`\n\nList projects for a given account on then SubQuery network\n\n```\nUSAGE\n  $ subql network:list-projects --network mainnet|testnet-mumbai|testnet|local [--address <value>] [--networkRpc\n  <value>]\n\nFLAGS\n  --address=<value>     The address of the account that owns the projects\n  --network=<option>    (required) [default: mainnet] The network to check.\n                        <options: mainnet|testnet-mumbai|testnet|local>\n  --networkRpc=<value>  Override the network rpc url\n\nDESCRIPTION\n  List projects for a given account on then SubQuery network\n```\n\n_See code: [src/commands/network/list-projects.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/list-projects.ts)_\n\n## `subql network:remove-api-key NAME`\n\nRemove an API key used for making queries via the SubQuery Network\n\n```\nUSAGE\n  $ subql network:remove-api-key NAME --network mainnet|testnet-mumbai|testnet|local\n\nARGUMENTS\n  NAME  The name of the api key, used to identify it\n\nFLAGS\n  --network=<option>  (required) [default: mainnet] The network to check.\n                      <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Remove an API key used for making queries via the SubQuery Network\n```\n\n_See code: [src/commands/network/remove-api-key.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/remove-api-key.ts)_\n\n## `subql network:remove-deployment-boost`\n\nDecrease the boost amount for a project deployment on the SubQuery network\n\n```\nUSAGE\n  $ subql network:remove-deployment-boost --network mainnet|testnet-mumbai|testnet|local --deploymentId <value> --amount\n  <value>\n\nFLAGS\n  --amount=<value>        (required) The amount of boost to remove from the deployment, in SQT\n  --deploymentId=<value>  (required) The deployment id for the project\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Decrease the boost amount for a project deployment on the SubQuery network\n```\n\n_See code: [src/commands/network/remove-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/remove-deployment-boost.ts)_\n\n## `subql network:stop-flex-plan`\n\nStop a Flex Plan for a deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:stop-flex-plan --network mainnet|testnet-mumbai|testnet|local --deploymentId <value>\n\nFLAGS\n  --deploymentId=<value>  (required) The deploymentId to create a flex plan for\n  --network=<option>      (required) [default: mainnet] The network to check.\n                          <options: mainnet|testnet-mumbai|testnet|local>\n\nDESCRIPTION\n  Stop a Flex Plan for a deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/stop-flex-plan.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/stop-flex-plan.ts)_\n\n## `subql network:swap-deployment-boost`\n\nSwap the boost from one deployment to another deployment on the SubQuery Network\n\n```\nUSAGE\n  $ subql network:swap-deployment-boost --network mainnet|testnet-mumbai|testnet|local --fromDeploymentId <value> --toDeploymentId\n    <value> --amount <value>\n\nFLAGS\n  --amount=<value>            (required) The amount to boost the deployment with, in SQT\n  --fromDeploymentId=<value>  (required) The deployment id for the project that is already boosted\n  --network=<option>          (required) [default: mainnet] The network to check.\n                              <options: mainnet|testnet-mumbai|testnet|local>\n  --toDeploymentId=<value>    (required) The deployment id for the project to move the boost to\n\nDESCRIPTION\n  Swap the boost from one deployment to another deployment on the SubQuery Network\n```\n\n_See code: [src/commands/network/swap-deployment-boost.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/network/swap-deployment-boost.ts)_\n\n## `subql onfinality:create-deployment`\n\nCreate a project deployment on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-deployment --org <value> --projectName <value> --type primary|stage --ipfsCID <value>\n    [--indexerVersion <value>] [--queryVersion <value>] [--dict <value>] [--endpoint <value>] [--indexerUnsafe]\n    [--indexerBatchSize <value>] [--indexerSubscription] [--disableHistorical] [--indexerUnfinalized]\n    [--indexerStoreCacheThreshold <value>] [--disableIndexerStoreCacheAsync] [--indexerWorkers <value>] [--queryUnsafe]\n    [--querySubscription] [--queryTimeout <value>] [--queryMaxConnection <value>] [--queryAggregate] [--queryLimit\n    <value>] [--useDefaults]\n\nFLAGS\n  --dict=<value>                        A dictionary endpoint for this projects network\n  --disableHistorical                   Disable historical data indexing\n  --disableIndexerStoreCacheAsync       Disable async store cache\n  --endpoint=<value>                    The RPC endpoint to be used by the project\n  --indexerBatchSize=<value>            [default: 30] The batch size for the indexer\n  --indexerStoreCacheThreshold=<value>  The number of items kept in the cache before flushing\n  --indexerSubscription                 Enable subscription for the indexer\n  --indexerUnfinalized                  Enable unfinalized blocks indexing\n  --indexerUnsafe                       Run the indexer in unsafe mode, this will disable some checks\n  --indexerVersion=<value>              Indexer image version\n  --indexerWorkers=<value>              The number of workers for the indexer\n  --ipfsCID=<value>                     (required) The IPFC CID of the published project\n  --org=<value>                         (required) The Github organization name\n  --projectName=<value>                 (required) Project name\n  --queryAggregate                      Enable aggregate queries\n  --queryLimit=<value>                  The maximum number of results for the query\n  --queryMaxConnection=<value>          The maximum number of connections for the query\n  --querySubscription                   Enable subscription queries\n  --queryTimeout=<value>                The timeout for the query\n  --queryUnsafe                         Run the query in unsafe mode, this will disable some checks\n  --queryVersion=<value>                Query image version\n  --type=<option>                       (required) [default: primary]\n                                        <options: primary|stage>\n  --useDefaults                         Use default values for indexerVersion, queryVersion, dictionary, endpoint\n\nDESCRIPTION\n  Create a project deployment on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-deployment.ts)_\n\n## `subql onfinality:create-multichain-deployment [LOCATION]`\n\nCreate a multi-chain project deployment no the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-multichain-deployment [LOCATION] --org <value> --projectName <value> --type primary|stage [--indexerVersion\n    <value>] [--queryVersion <value>] [--dict <value>] [--endpoint <value>] [--indexerUnsafe] [--indexerBatchSize\n    <value>] [--indexerSubscription] [--disableHistorical] [--indexerUnfinalized] [--indexerStoreCacheThreshold <value>]\n    [--disableIndexerStoreCacheAsync] [--indexerWorkers <value>] [--queryUnsafe] [--querySubscription] [--queryTimeout\n    <value>] [--queryMaxConnection <value>] [--queryAggregate] [--queryLimit <value>] [--useDefaults] [--ipfs <value>]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --dict=<value>                        A dictionary endpoint for this projects network\n  --disableHistorical                   Disable historical data indexing\n  --disableIndexerStoreCacheAsync       Disable async store cache\n  --endpoint=<value>                    The RPC endpoint to be used by the project\n  --indexerBatchSize=<value>            [default: 30] The batch size for the indexer\n  --indexerStoreCacheThreshold=<value>  The number of items kept in the cache before flushing\n  --indexerSubscription                 Enable subscription for the indexer\n  --indexerUnfinalized                  Enable unfinalized blocks indexing\n  --indexerUnsafe                       Run the indexer in unsafe mode, this will disable some checks\n  --indexerVersion=<value>              Indexer image version\n  --indexerWorkers=<value>              The number of workers for the indexer\n  --ipfs=<value>                        An additional IPFS endpoint to upload to\n  --org=<value>                         (required) The Github organization name\n  --projectName=<value>                 (required) Project name\n  --queryAggregate                      Enable aggregate queries\n  --queryLimit=<value>                  The maximum number of results for the query\n  --queryMaxConnection=<value>          The maximum number of connections for the query\n  --querySubscription                   Enable subscription queries\n  --queryTimeout=<value>                The timeout for the query\n  --queryUnsafe                         Run the query in unsafe mode, this will disable some checks\n  --queryVersion=<value>                Query image version\n  --type=<option>                       (required) [default: primary]\n                                        <options: primary|stage>\n  --useDefaults                         Use default values for indexerVersion, queryVersion, dictionary, endpoint\n\nDESCRIPTION\n  Create a multi-chain project deployment no the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-multichain-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-multichain-deployment.ts)_\n\n## `subql onfinality:create-project`\n\nCreate a project on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:create-project --org <value> --projectName <value> [--logoURL <value>] [--subtitle <value>] [--description\n    <value>] [--dedicatedDB <value>] [--projectType subquery|subgraph]\n\nFLAGS\n  --dedicatedDB=<value>   Dedicated DataBase\n  --description=<value>   Description\n  --logoURL=<value>       Logo URL\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n  --projectType=<option>  [default: subquery] Project type [subquery|subgraph]\n                          <options: subquery|subgraph>\n  --subtitle=<value>      Subtitle\n\nDESCRIPTION\n  Create a project on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/create-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/create-project.ts)_\n\n## `subql onfinality:delete-deployment`\n\nDelete a deployment from the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:delete-deployment --org <value> --projectName <value> --deploymentID <value>\n\nFLAGS\n  --deploymentID=<value>  (required) Deployment ID\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n\nDESCRIPTION\n  Delete a deployment from the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/delete-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/delete-deployment.ts)_\n\n## `subql onfinality:delete-project`\n\nDelete a project on the OnFinality managed services\n\n```\nUSAGE\n  $ subql onfinality:delete-project --org <value> --projectName <value>\n\nFLAGS\n  --org=<value>          (required) The Github organization name\n  --projectName=<value>  (required) The project name\n\nDESCRIPTION\n  Delete a project on the OnFinality managed services\n```\n\n_See code: [src/commands/onfinality/delete-project.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/delete-project.ts)_\n\n## `subql onfinality:promote-deployment`\n\nPromote a deployment on the OnFinality managed services from a Stage environment to Production\n\n```\nUSAGE\n  $ subql onfinality:promote-deployment --org <value> --projectName <value> --deploymentID <value>\n\nFLAGS\n  --deploymentID=<value>  (required) Deployment ID\n  --org=<value>           (required) Github organization name\n  --projectName=<value>   (required) Project name\n\nDESCRIPTION\n  Promote a deployment on the OnFinality managed services from a Stage environment to Production\n```\n\n_See code: [src/commands/onfinality/promote-deployment.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/onfinality/promote-deployment.ts)_\n\n## `subql publish [LOCATION]`\n\nUpload this SubQuery project to IPFS for distribution\n\n```\nUSAGE\n  $ subql publish [LOCATION] [--ipfs <value>] [--silent]\n\nARGUMENTS\n  LOCATION  The path to the project, this can be a directory or a project manifest file.\n\nFLAGS\n  --ipfs=<value>  An additional IPFS endpoint to upload to\n  --silent        Run the command without logging, only outputs the CIDs\n\nDESCRIPTION\n  Upload this SubQuery project to IPFS for distribution\n```\n\n_See code: [src/commands/publish.ts](https://github.com/subquery/subql/blob/cli/6.6.3-0/packages/cli/src/commands/publish.ts)_\n\n<!-- commandsstop -->\n\n<!-- File: packages/node/README.md (Tokens: ~709 | Category: plugin-manifest) -->\n# @subql-node\n\n## Description\n\nIndexer service in our @subql toolkit, can load user's subquery then fetch, process and persist to db accordingly.\n\n## Installation\n\n```bash\n$ npm i -g @subql/node\n```\n\n## Running the app\n\n```\n$> subql-node\n\nCommands:\n  run force-clean  Force cleans the database, dropping project schemas and\n                   tables (Once the command is executed, the application would\n                   exit upon completion)\n\n  run reindex      Reindex to specified block height (Once the command is\n                   executed, the application would exit upon completion).\n\nOptions:\n      --help                Show help                                  [boolean]\n      --version             Show version number                        [boolean]\n  -f, --subquery            Local path or IPFS cid of the subquery project\n       [string] [required] [default: process.cwd()]\n      --subquery-name       Name of the subquery project   [deprecated] [string]\n  -c, --config              Specify configuration file                  [string]\n      --local               Use local mode                [deprecated] [boolean]                              [boolean]\n      --db-schema           Db schema name of the project               [string]\n      --unsafe              Allows usage of any built-in module within the\n                            sandbox                                    [boolean]\n      --subscription        Enable subscription by create notification triggers\n                                                      [boolean] [default: false]\n      --batch-size          Batch size of blocks to fetch in one round  [number]\n      --scale-batch-size    scale batch size based on memory usage\n                                                      [boolean] [default: false]\n      --timeout             Timeout for indexer sandbox to execute the mapping\n                            functions                                   [number]\n      --debug               Show debug information to console output. will\n                            forcefully set log level to debug\n                                                      [boolean] [default: false]\n      --profiler            Show profiler information to console output\n                                                      [boolean] [default: false]\n      --network-endpoint    Blockchain network endpoint to connect      [string]\n      --output-fmt          Print log as json or plain text\n                                           [string] [choices: \"json\", \"colored\"]\n      --log-level           Specify log level to print. Ignored when --debug is\n                            used\n          [string] [choices: \"fatal\", \"error\", \"warn\", \"info\", \"debug\", \"trace\",\n                                                                       \"silent\"]\n      --timestamp-field     Enable/disable created_at and updated_at in schema\n                                                      [boolean] [default: false]\n  -d, --network-dictionary  Specify the dictionary api for this network [string]\n      --dictionary-timeout  Max timeout for dictionary query            [number]\n      --sponsored-dictionary  Use subquery network sponsored dictionary [string]\n      --proof-of-index      Enable/disable proof of index\n                                                      [boolean] [default: false]\n      --ipfs                IPFS gateway endpoint                       [string]\n  -p, --port                The port the service will bind to           [number]\n      --disable-historical  Disable storing historical state entities\n                                                       [boolean] [default: true]\n  -w, --workers             Number of worker threads to use for fetching and\n                            processing blocks. Disabled by default.     [number]\n      --multi-chain         Enables indexing multiple subquery projects into the\n                            same database schema      [boolean] [default: false]\n```\n\n## License\n\nApache-2.0\n\n<!-- File: packages/query/README.md (Tokens: ~101 | Category: plugin-manifest) -->\n# @subql/query\n\n## Run this package\n\nTo quickly setup the project, add a `.env` file in the `subql/packages/query` folder with the following content:\n\n```env\nDB_HOST=localhost\nDB_PORT=5432\nDB_USER=postgres\nDB_PASS=postgres\nDB_DATABASE=postgres\n```\n\nthen run the following command\n\n```sh\nNODE_OPTIONS=\"-r dotenv/config\" yarn start:dev -- --name <subquery_name> --playground\n```\n\n<!-- File: packages/utils/README.md (Tokens: ~4 | Category: plugin-manifest) -->\n# manifest-spec\n</yakaai_skills>"}