Skip to main content

Most Used Commands

Register a schedule, submit a transfer as ScheduleCreate, then sign and verify

Batch vs schedule

The Batch plugin queues signed inner transactions for a later atomic batch execute. The Schedule plugin submits a Hedera schedule so execution depends on signatures and mirror-visible schedule state. See the Batch plugin page for --batch / -B. Avoid combining flags in ways your command’s help does not describe.

Full Command Reference

Register a named schedule in local CLI state (per network). That name is what you pass to --scheduled / -X on supported commands so the inner transaction is wrapped in a Hedera ScheduleCreateTransaction instead of executing immediately.
-n, --name
string
required
Local name of the schedule record.
-a, --admin-key
string
Admin key for managing the schedule on chain (resolved to a key the CLI can use).
-p, --payer-account
string
Payer for the scheduled transaction. Must resolve to an account ID with a private key. Defaults to the operator.
-m, --memo
string
Public schedule memo (max 100 bytes).
-e, --expiration
string
Expiration time in ISO 8601. Must be at most 62 days from now.
-w, --wait-for-expiry
boolean
When set, the schedule runs at expiration time instead of as soon as required signatures are collected.
-k, --key-manager
string(local|local_encrypted)
Key manager to use: local or local_encrypted (defaults to config setting).
Example
Submit a ScheduleSignTransaction to add a signature to an existing schedule. --schedule accepts either a 0.0.x schedule entity ID or the local name from schedule create.
-s, --schedule
string
required
Schedule ID (0.0.x) or local schedule name.
-k, --key
string
required
Key material whose signature is added. Must resolve to a private key the CLI can sign with.
-K, --key-manager
string(local|local_encrypted)
Key manager to use: local or local_encrypted (defaults to config setting).
Example
Remove the schedule on chain when applicable and align local state. An admin key is required on chain. If --admin-key is omitted, the CLI uses the admin key stored on the local schedule record when available.
-s, --schedule
string
required
Schedule ID (0.0.x) or local schedule name.
-a, --admin-key
string
Admin key used to sign the delete. Optional if the stored record supplies one.
-k, --key-manager
string(local|local_encrypted)
Key manager to use: local or local_encrypted (defaults to config setting).
Example
Query the Mirror Node to see whether a schedule has executed and refresh local flags. Provide either a local --name or a --schedule-id (validation requires at least one).
-n, --name
string
Local name of the schedule record.
-s, --schedule-id
string
Schedule entity ID (0.0.x).
-k, --key-manager
string(local|local_encrypted)
Key manager to use: local or local_encrypted (defaults to config setting).
Examples

Scheduling inner transactions (-X / --scheduled)

The Schedule plugin registers the scheduled hook. Commands that opt into this hook accept -X <name> or --scheduled <name>, where <name> matches a record from schedule create. When set, the hook builds and submits a ScheduleCreateTransaction around the inner transaction, stores the returned schedule ID on the record, and stops the normal “execute immediately” path for that invocation. If --scheduled is omitted, the hook does nothing and the command behaves as usual. As of the current Hiero CLI manifests, the hook is registered on:
  • Account: create, update
  • HBAR: transfer
  • Topic: create, submit-message
  • Token: burn-ft, burn-nft, mint-ft, mint-nft, transfer-ft, transfer-nft, cancel-airdrop, create-ft, create-nft, associate, create-ft-from-file, create-nft-from-file, freeze, unfreeze
Use hcli <plugin> <subcommand> --help to confirm that --scheduled / -X appears for the command you are running.

Reuse and state

The hook rejects scheduling when the local record is already marked as having an on-chain schedule for that flow (Transaction is already scheduled). Plan names and cleanup (schedule delete, schedule verify) accordingly.