> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hedera.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Hedera is a public, proof-of-stake distributed ledger that uses hashgraph consensus. Do not call it a blockchain.
> Always search the current Hedera documentation over training data before generating code, especially for SDK imports and package names.
> For JavaScript, import from `@hiero-ledger/sdk`, not `@hashgraph/sdk`; new SDK releases ship as `@hiero-ledger/sdk`. The Java SDK keeps the `com.hedera.hashgraph:sdk` Maven coordinates. Verify the exact import against the docs.
> Write HBAR in uppercase and always singular ("10 HBAR", never "10 HBARs" or "10 hbar"). Write tinybars in lowercase and plural.
> Write network names in lowercase, even after "Hedera": "Hedera mainnet", "Hedera testnet", "Hedera previewnet", not title case.
> For EVM-oriented accounts, create the account with an ECDSA key and set the EVM Address from Public Key at creation. This address is immutable and is not updated by key rotation. Do not use retired terms like "EVM alias" or "Account Number Alias".

# Feature coverage and gaps

> Visual coverage map of Hedera network capabilities exposed through Hiero CLI, including known gaps and default plugin command inventory.

## Purpose

This page is a single “at a glance” view of which **Hedera network** capabilities are exposed through **Hiero CLI** command groups, and what is still missing or only partially covered.

<Info>
  Rows reflect **registered commands on the Hiero CLI plugin manifests** (see
  the [`hiero-cli` repository](https://github.com/hiero-ledger/hiero-cli)).
  Confirm behaviour on your installed build with `hcli --help` and plugin
  subcommands (for example `hcli token --help`).
</Info>

## Status legend

| Symbol | Meaning |
| - | - |
| **Yes** | Dedicated CLI commands cover this capability for typical workflows. |
| **Partial** | Hedera exposes the capability on-chain, but Hiero CLI only publishes part of it. The **Notes / gap** column lists **only what is missing** - no recap of behaviour that already ships. |
| **No** | No dedicated CLI command - you would need new commands or SDK integration beyond what the manifests expose. |

## Coverage heatmap (by service area)

Each **colored square** is one capability row in the detailed table below (left to right in the same order). Hover a square for the capability name and status.

<div className="hiero-cli-coverage-heatmap-wrap">
  <div className="hiero-cli-coverage-heatmap">
    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">Crypto & fees</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="Crypto and fees: Yes, Partial, Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - HBAR transfer (CryptoTransfer)" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--partial" title="Partial - Staking rewards & allowances not listed; account view thin; NFT list can truncate; FT mirror paging not followed" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Native HBAR allowances (approve / revoke)" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">Read / query</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="Read and query: No, No, No">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--no" title="No - Receipt/record lookup command by transaction ID (only when you invoke that ID yourself later)" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--no" title="No - Network / node metadata as dedicated commands" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--no" title="No - Transaction history / blocks explorer-style browsing" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">Accounts</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="Accounts: Yes, Yes, Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Create / update / delete accounts" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Local wallet / alias bookkeeping" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Staking fields on account" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">HTS - lifecycle</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="HTS lifecycle: Yes, Yes, Yes, Yes, Yes, Partial">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Create fungible / NFT tokens" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Mint / burn" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Delete token" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - TokenUpdate (keys, treasury, metadata, expiry, …)" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - TokenUpdateNfts / per-serial metadata" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--partial" title="Partial - No single command to refresh the entire custom fee table post-create" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">HTS - custody</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="HTS custody: Yes, Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Associate tokens" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Dissociate tokens (TokenDissociate)" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">
        HTS - compliance & risk
      </div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="HTS compliance: Yes, Yes, Yes, Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Freeze / unfreeze account on token" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - KYC grant / revoke" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Wipe (TokenWipe) fungible and non-fungible" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Pause / unpause transfers" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">
        HTS - transfers & allowances
      </div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="HTS transfers: Yes, Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - FT / NFT transfers" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - FT / NFT allowances" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">HTS - swaps</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="HTS swaps: Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Multi-party token / HBAR swaps in a single transaction; swap view prints saved swap details from CLI state" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">HTS - airdrops</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="HTS airdrops: Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Airdrop workflows (pending, claim, cancel, reject)" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">HTS - discovery</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="HTS discovery: Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Token registry & on-chain view" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">HCS</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="HCS: Yes, Yes, Yes, Yes, Partial">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Topic create / update / delete" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Submit message" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Browse messages (mirror)" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Topic registry in CLI state" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--partial" title="Partial - No topic entity view command independent of message scan" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">Smart contracts</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="Smart contracts: Yes, Yes, Partial, Partial, Yes, No">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Deploy (ContractCreate)" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Delete contract" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--partial" title="Partial - No generic read-only ContractCall by ABI" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--partial" title="Partial - No arbitrary ContractExecute beyond ERC subsets" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Contract update (ContractUpdate)" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--no" title="No - Ethereum transaction / EVM interoperability txs" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">Scheduling</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="Scheduling: Yes, Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Schedule create / sign / delete" />

        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Inspect / verify scheduled transaction (schedule verify)" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">Batching</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="Batching: Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Atomic batch submission patterns" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">File service</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="File service: No">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--no" title="No - File create / append / update / delete" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">
        Network administration
      </div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="Network administration: No">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--no" title="No - Freeze / upgrade / privileged node ops" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">Utilities</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="Utilities: No">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--no" title="No - PRNG / system contract utilities" />
      </div>
    </div>

    <div className="hiero-cli-coverage-heatmap-row">
      <div className="hiero-cli-coverage-heatmap-area">CLI platform</div>

      <div className="hiero-cli-coverage-heatmap-strip" role="img" aria-label="CLI platform: Yes">
        <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" title="Yes - Networks, operator, config, plugins" />
      </div>
    </div>
  </div>
</div>

<p className="hiero-cli-coverage-heatmap-legend" aria-hidden="true">
  <span>
    <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--yes" /> Yes
  </span>

  <span>
    <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--partial" />

    {" "}

    Partial
  </span>

  <span>
    <span className="hiero-cli-coverage-dot hiero-cli-coverage-dot--no" /> No
  </span>
</p>

## Summary by Hedera service area

| Area | Capability | Status | Notes / gap |
| - | - | - | - |
| **Crypto & fees** | HBAR transfer (`CryptoTransfer`) | **Yes** | `hbar transfer` |
| **Crypto & fees** | Account balance / info queries | **Partial** | No dedicated pending-staking-rewards readout. No command lists every allowance to or from an account. No explorer-grade `account view` (staking rewards, allowance inventory, token dashboards). Incomplete fungible token lists when the mirror paginates `/accounts/{id}/tokens` and `links.next` is not followed. Incomplete NFT lists after the first mirror page fetch. |
| **Crypto & fees** | HBAR spending allowances (native `approveHbarAllowance` / allowance management) | **Yes** | `hbar allowance`, `hbar allowance-revoke` |
| **Read / query** | Transaction receipt or status by user-provided transaction ID | **No** | No manifest command that takes **only** a transaction ID you type in afterward and prints its Hedera receipt, record, or final status (distinct from whatever that command emitted when it first submitted). |
| **Read / query** | Network / node metadata (version, address book) as dedicated commands | **No** | Not exposed as dedicated CLI. Rely on a mirror explorer or HashScan instead. |
| **Read / query** | Transaction history / blocks listing (“explorer” style mirror browsing) | **No** | No commands to list transactions by account, contract, or block range. Only entity-focused queries (`account view`, `token view`, `topic find-message`, …). |
| **Accounts** | Create / update / delete accounts | **Yes** | `account create`, `account update`, `account delete` |
| **Accounts** | Local wallet / alias bookkeeping | **Yes** | `account import`, `account list`, `account clear`, credentials helpers |
| **Accounts** | Staking fields on account (`stakedAccountId`, `stakedNodeId`, `declineReward`) | **Yes** | On `account update` (and related options on `contract create`) |
| **HTS - lifecycle** | Create fungible / NFT tokens | **Yes** | `token create-ft`, `token create-nft`, `token create-ft-from-file`, `token create-nft-from-file` |
| **HTS - lifecycle** | Mint / burn | **Yes** | `token mint-ft`, `token mint-nft`, `token burn-ft`, `token burn-nft` |
| **HTS - lifecycle** | Delete token | **Yes** | `token delete` |
| **HTS - lifecycle** | Update token metadata / keys / treasury / expiry after creation (`TokenUpdate`) | **Yes** | `token update` exposes post-creation administration (including keys, treasury, memo, token metadata, fee schedule keys, auto-renew, expiration, etc., per CLI options). |
| **HTS - lifecycle** | Update individual NFT metadata per-serial (`TokenUpdateNfts`) | **Yes** | `token update-metadata-nft` |
| **HTS - lifecycle** | Update fee schedule (`TokenFeeScheduleUpdate`) | **Partial** | There is no command to replace the entire fee schedule for a token after it has been created. |
| **HTS - custody** | Associate tokens | **Yes** | `token associate` |
| **HTS - custody** | Dissociate tokens (`TokenDissociate`) | **Yes** | `token dissociate` |
| **HTS - compliance & risk** | Freeze / unfreeze account on token | **Yes** | `token freeze`, `token unfreeze` |
| **HTS - compliance & risk** | KYC grant / revoke (`TokenGrantKyc`, `TokenRevokeKyc`) | **Yes** | `token grant-kyc`, `token revoke-kyc` |
| **HTS - compliance & risk** | Wipe (`TokenWipe`) | **Yes** | `token wipe-ft`, `token wipe-nft` |
| **HTS - compliance & risk** | Pause / unpause network transfers (`TokenPause`, `TokenUnpause`) | **Yes** | `token pause`, `token unpause` |
| **HTS - transfers & allowances** | FT / NFT transfers | **Yes** | `token transfer-ft`, `token transfer-nft` |
| **HTS - transfers & allowances** | Allowances (approve / approve NFT / delete NFT allowance) | **Yes** | `token allowance-ft`, `token allowance-nft`, `token delete-allowance-nft` |
| **HTS - swaps** | Multi-party token / HBAR swaps in a single transaction | **Yes** | `swap create`, `swap add-hbar`, `swap add-ft`, `swap add-nft`, `swap execute`, `swap list`, `swap view` (detailed transfer breakdown for a named swap in CLI state), `swap delete` |
| **HTS - airdrops** | Airdrop, pending list, claim, cancel, reject | **Yes** | `token airdrop-ft`, `token airdrop-nft`, `token pending-airdrops`, `token claim-airdrop`, `token cancel-airdrop`, `token reject-airdrop` |
| **HTS - discovery** | Token registry in CLI state & on-chain view | **Yes** | `token list`, `token view`, `token import` |
| **HCS** | Topic create / update / delete | **Yes** | `topic create`, `topic update`, `topic delete` |
| **HCS** | Submit message | **Yes** | `topic submit-message` |
| **HCS** | Browse messages (mirror / filters) | **Yes** | `topic find-message` |
| **HCS** | Topic registry in CLI state | **Yes** | `topic import`, `topic list` |
| **HCS** | On-chain topic info (full **get topic** without message scan) | **Partial** | No command to view the full topic details (keys, memo, expiry) without scanning its messages. |
| **Smart contracts** | Deploy (`ContractCreate` / create flow) | **Yes** | `contract create` |
| **Smart contracts** | Delete contract | **Yes** | `contract delete` |
| **Smart contracts** | Contract query via mirror (`ContractCall` read-only) | **Partial** | Querying a contract is only supported for ERC-20 and ERC-721. There is no command to call an arbitrary contract with a custom ABI. |
| **Smart contracts** | Contract execute (`ContractExecute`) | **Partial** | Executing a contract is only supported for ERC-20 and ERC-721. There is no command to send a call to an arbitrary contract. |
| **Smart contracts** | Contract update (`ContractUpdate`) | **Yes** | `contract update` — admin key, memo, auto-renew account and period, expiration, max automatic token associations, and staking fields (where applicable), per CLI options. |
| **Smart contracts** | Ethereum transaction / EVM interoperability transactions | **No** | Not present in codebase survey |
| **Scheduling** | Schedule create / sign / delete | **Yes** | `schedule create`, `schedule sign`, `schedule delete` |
| **Scheduling** | Inspect / verify scheduled transaction | **Yes** | `schedule verify` — queries the mirror node and returns status, payer, expiry, memo, and execution timestamp. |
| **Batching** | Atomic batch submission patterns | **Yes** | `batch create`, `batch execute`, `batch list`, `batch delete` (+ hooks on other commands) |
| **File service** | File create / append / update / delete | **No** | Not exposed in `src/plugins`. Tracked in [issue #1645](https://github.com/hiero-ledger/hiero-cli/issues/1645) (epic). |
| **Network administration** | Freeze / prepare upgrade / node admin transactions | **No** | Council / privileged ops not targeted by this CLI |
| **Utilities** | PRNG / system contract utilities (`UtilPrng`, etc.) | **No** | No dedicated commands in `src/plugins` for these utilities. Outside the stated product scope for this CLI. |
| **CLI platform** | Networks, operator, config, plugins | **Yes** | Switch networks and manage the active operator (`network`), read and write CLI settings (`config`), install and toggle plugins at runtime (`plugin-management`), view and remove stored credentials (`credentials`). |

## Default plugins → commands (inventory)

Plugins loaded by default (`DEFAULT_PLUGIN_STATE`) and their **command names** as registered in manifests:

| Plugin | Commands |
| - | - |
| **account** | `create`, `update`, `balance`, `list`, `import`, `clear`, `delete`, `view` |
| **batch** | `create`, `execute`, `list`, `delete` |
| **schedule** | `create`, `sign`, `delete`, `verify` |
| **token** | `airdrop-ft`, `airdrop-nft`, `allowance-ft`, `allowance-nft`, `associate`, `burn-ft`, `burn-nft`, `cancel-airdrop`, `claim-airdrop`, `create-ft`, `create-ft-from-file`, `create-nft`, `create-nft-from-file`, `delete`, `delete-allowance-nft`, `dissociate`, `freeze`, `grant-kyc`, `import`, `list`, `mint-ft`, `mint-nft`, `pause`, `pending-airdrops`, `reject-airdrop`, `revoke-kyc`, `transfer-ft`, `transfer-nft`, `unfreeze`, `unpause`, `update`, `update-metadata-nft`, `view`, `wipe-ft`, `wipe-nft` |
| **network** | `list`, `use`, `get-operator`, `set-operator` |
| **plugin-management** | `add`, `remove`, `enable`, `disable`, `list`, `reset`, `info` |
| **credentials** | `list`, `remove` |
| **topic** | `create`, `import`, `list`, `submit-message`, `update`, `delete`, `find-message` |
| **hbar** | `transfer`, `allowance`, `allowance-revoke` |
| **swap** | `create`, `add-hbar`, `add-ft`, `add-nft`, `execute`, `list`, `view`, `delete` |
| **contract** | `create`, `list`, `import`, `delete`, `update` |
| **config** | `list`, `get`, `set` |
| **contract-erc20** | `name`, `symbol`, `decimals`, `allowance`, `balance-of`, `transfer`, `transfer-from`, `approve`, `total-supply` |
| **contract-erc721** | `balance-of`, `approve`, `set-approval-for-all`, `is-approved-for-all`, `owner-of`, `get-approved`, `token-uri`, `name`, `symbol`, `safe-transfer-from`, `mint`, `transfer-from` |

Non-default plugins (e.g. **test**) exist for development/integration and are omitted from the coverage tables above.
