hedera-dev/hedera-skills

hiero-cli

Use when user wants to interact with Hedera blockchain: create/transfer tokens, manage NFTs, deploy contracts, manage topics, transfer HBAR, sign x402 payment challenges, configure networks.

Ver código-fonte
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

hiero-cli (hcli)

hcli is a command-line tool for interacting with the Hedera blockchain — managing accounts, tokens (FT/NFT), smart contracts, consensus topics, and network configuration.

Binary syntax

hcli <plugin> <command> [options]

Global flags

FlagShortDefaultDescription
--format-FhumanOutput format: human or json
--network-NactiveOverride active network for this command
--payer-PoperatorOverride payer account for this command; defaults to operator if omitted
--confirm-YfalseSkip all confirmation prompts
--max-transaction-fee-MconfigMax transaction fee ceiling for this run: HBAR (e.g. 20) or tinybars (200000000t). Overrides the default_max_transaction_fee config; 0 means no override

Prerequisites

Before executing blockchain commands:

  1. Configure network: hcli network use --global testnet
  2. Set operator: hcli network set-operator --operator <accountId>:<privateKey>

Key formats

Keys and signers accept multiple formats:

  • {accountId}:{privateKey} — inline pair, e.g. 0.0.123:abc123...
  • {ed25519|ecdsa}:private:{hex} — raw private key with type prefix
  • {ed25519|ecdsa}:public:{hex} — raw public key (for supply/submit keys)
  • kr_xxx — key reference stored in KMS
  • account alias — name registered in local state

Local state storage

State is persisted in ~/.hiero-cli/state/ as JSON files, one per plugin namespace:

PluginFile
accountaccount-accounts-storage.json
tokentoken-tokens-storage.json
topictopic-topics-storage.json
batchbatch-batches-storage.json
swapswap-storage.json
contractcontract-contracts-storage.json
scheduleschedule-transactions-storage.json
networknetwork-config-storage.json
configconfig-storage.json
plugin-managementplugin-management-storage.json
credentials (KMS)kms-credentials-storage.json, kms-secrets-encrypted-storage.json

Amount notation

  • "1" = 1 display unit (e.g. 1 HBAR, or 1 token with decimals applied)
  • "100t" = 100 base/raw units (tinybars for HBAR, smallest token unit)

Plugin catalog

PluginDescriptionTasks covered
accountManage Hedera accountscreate, import, balance, list, view, update, delete, clear
hbarTransfer HBARtransfer HBAR, approve/revoke HBAR allowance
tokenManage FT & NFT tokenscreate-ft/nft, create-from-file, mint, burn, wipe, transfer, airdrop, associate, dissociate, freeze/unfreeze, pause/unpause, grant/revoke KYC, allowance (FT/NFT), delete-allowance-nft, update-metadata-nft, pending-airdrops, cancel/claim/reject-airdrop, list, view, import, delete
topicHedera Consensus Servicecreate, update, submit/find messages, import, list, delete
scheduleScheduled transactionscreate schedule record, sign pending schedule, delete schedule, verify execution state, list schedules. Use --scheduled <name> (-X) only on commands marked [scheduled] in the plugin reference
contractSmart contract lifecyclecompile + deploy Solidity, import, list, delete
contract-erc20ERC-20 contract callsname, symbol, decimals, balanceOf, transfer, transferFrom, approve, allowance, totalSupply. Requires `contract` plugin (contract must be deployed first)
contract-erc721ERC-721 contract callsbalanceOf, ownerOf, approve, setApprovalForAll, safeTransferFrom, transferFrom, mint, name, symbol, tokenURI, getApproved, isApprovedForAll. Requires `contract` plugin (contract must be deployed first)
networkNetwork configurationlist networks, switch network, set/get operator
configCLI configurationlist, get, set config options
credentialsKey/credentials managementgenerate new key, import existing key, list, remove stored credentials (by id or alias)
batchBatch transactionscreate batch, add transactions, execute, list, delete
swapMulti-party asset exchangecreate swap, add HBAR/FT/NFT transfers, view, list, execute, delete
eip712EIP-712 typed data signinghash compute digest, sign-ecdsa / sign-ed25519 sign payload (accepts pre-computed hash or domain+types+message), verify-ecdsa recover signer EVM address, verify-ed25519 verify Ed25519 signature against a public key
x402x402 payment signingsign a PAYMENT-REQUIRED challenge into a PAYMENT-SIGNATURE header via KMS; payer key never exposed, facilitator submits
plugin-managementPlugin lifecycleadd, remove, enable, disable, list, reset, info

Agent instruction

Before executing any command, read `references/<plugin>.md` for the full command spec, all options, and examples.

Example: to use hcli token create-ft, first read references/token.md.

When working with batch commands, read both `references/batch.md` AND the reference for the plugin being batched.

Example: to batch hcli token mint-ft, read both references/batch.md and references/token.md.

When working with scheduled transactions, read `references/schedule.md` AND the reference for the command being scheduled.

Only commands marked [scheduled] in their reference support --scheduled <name> / -X.

Example: to schedule hcli token burn-ft, read both references/schedule.md and references/token.md.

x402 paid endpoints

If fetching a URL returns HTTP 402 with a PAYMENT-REQUIRED header, the endpoint is x402-gated. Inspect the header payload: if its accepts lists a hedera:mainnet / hedera:testnet exact requirement, read `references/x402.md` and follow the flow there. The agent makes the HTTP requests itself; hcli x402 sign only produces the PAYMENT-SIGNATURE value. If the challenge is for a non-Hedera scheme, this CLI cannot sign it.

hcli not found / not installed

If any hcli command fails with a "command not found" or similar error, tell the user:

hcli is not installed or not available in PATH. Docs & quick start: https://www.npmjs.com/package/@hiero-ledger/hiero-cli#quick-start Install with: `` npm install -g @hiero-ledger/hiero-cli `` Would you like me to run the install command for you?

Do not run the install automatically — wait for the user's confirmation.

Operator not configured

If a command fails with CLI operator is not configured or similar:

  1. Inform the user the operator must be set before running any blockchain command
  2. Guide them: hcli network set-operator --operator <accountId>:<privateKey>
  3. Retry the original command after operator is set

Disabled plugin recovery

If a command fails with Plugin 'X' is disabled.:

  1. Inform the user that the plugin is disabled
  2. Offer to enable it: hcli plugin-management enable --name X
  3. Retry the original command after enabling

Common workflows

Setup (first time)

bash
hcli network use --global testnet
hcli network set-operator --operator 0.0.12345:302e...privatekey...

Create fungible token and transfer

bash
# 1. Create token
hcli token create-ft --token-name "MyToken" --symbol MTK --decimals 2 --initial-supply 1000000

# 2. Associate recipient account
hcli token associate --token MTK --account 0.0.67890:302e...key...

# 3. Transfer tokens
hcli token transfer-ft --token MTK --to 0.0.67890 --amount 100

Deploy ERC-20 contract and interact

bash
# 1. Deploy built-in ERC-20 template
hcli contract create --name myErc20 --default erc20 --constructor-parameter "MyToken" --constructor-parameter "MTK"

# 2. Check balance
hcli contract-erc20 balance-of --contract myErc20 --account 0.0.12345

# 3. Transfer via contract
hcli contract-erc20 transfer --contract myErc20 --to 0.0.67890 --value 50

Batch multiple token mints

bash
# 1. Create batch
hcli batch create --name mintBatch --key 0.0.12345:302e...key...

# 2. Add transactions to batch (using --batch flag on batchify-compatible commands)
hcli token mint-ft --token MTK --amount 1000 --supply-key 0.0.12345:302e...key... --batch mintBatch

# 3. Execute batch
hcli batch execute --name mintBatch
do mesmo repositório

Mais Skills

Todos os Skills
hedera-dev
Comunidade

agent-kit-plugin

This skill should be used when the user asks to "create a hedera plugin", "build a hedera agent kit plugin", "extend hedera agent kit", "create custom hedera tools", "add hedera functionality", "write a hedera tool", "implement hedera tool", or needs guidance on Hedera Agent Kit plugin architecture, tool definitions, mutation tools, query tools, or parameter schemas using Zod.

instalações
2
GitHub Stars
28
Atualizado
3 de set.
hedera-dev
Comunidade

axelar-gmp

Axelar General Message Passing (GMP) on Hedera. Use when sending or receiving cross-chain contract calls via Axelar Gateway (callContract, payNativeGasForContractCall), building AxelarExecutable receivers, wiring Hedera↔EVM destinations, or separating bridge transport from destination handlers (orchestrated / scheduled flows).

instalações
2
GitHub Stars
28
Atualizado
3 de set.
hedera-dev
Comunidade

ccip

Chainlink CCIP Cross-Chain Tokens on Hedera. Use when bridging burn-and-mint CCT between Hedera and EVM, registering TokenAdminRegistry / pools, calling ccipSend with chain selectors, or wiring HTS-backed wrappers (HtsBurnMintERC20) vs vanilla BurnMintERC20. Not for Chainlink Data Feeds / price oracles.

instalações
2
GitHub Stars
28
Atualizado
3 de set.
hedera-dev
Comunidade

chainlink-data-feeds

Chainlink Data Feeds on Hedera. Use when reading AggregatorV3 price feeds on Hedera (testnet 296 / mainnet 295), calling latestRoundData, checking round completeness and staleness, or normalizing feed decimals. Not for Chainlink CCIP (cross-chain tokens).

instalações
2
GitHub Stars
28
Atualizado
3 de set.