Most Used Commands
Register a schedule, submit a transfer asScheduleCreate, then sign and verify
Batch vs schedule
The Batch plugin queues signed inner transactions for a later atomicbatch 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
Schedule Create
Schedule Create
Register a named schedule in local CLI state (per network). That name is what you pass to Example
--scheduled / -X on supported commands so the inner transaction is wrapped in a Hedera ScheduleCreateTransaction instead of executing immediately.Local name of the schedule record.
Admin key for managing the schedule on chain (resolved to a key the CLI can use).
Payer for the scheduled transaction. Must resolve to an account ID with a private key. Defaults to the operator.
Public schedule memo (max 100 bytes).
Expiration time in ISO 8601. Must be at most 62 days from now.
When set, the schedule runs at expiration time instead of as soon as required signatures are collected.
Key manager to use:
local or local_encrypted (defaults to config setting).Schedule Sign
Schedule Sign
Submit a Example
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.Schedule ID (
0.0.x) or local schedule name.Key material whose signature is added. Must resolve to a private key the CLI can sign with.
Key manager to use:
local or local_encrypted (defaults to config setting).Schedule Delete
Schedule Delete
Remove the schedule on chain when applicable and align local state. An admin key is required on chain. If Example
--admin-key is omitted, the CLI uses the admin key stored on the local schedule record when available.Schedule ID (
0.0.x) or local schedule name.Admin key used to sign the delete. Optional if the stored record supplies one.
Key manager to use:
local or local_encrypted (defaults to config setting).Schedule Verify
Schedule Verify
Query the Mirror Node to see whether a schedule has executed and refresh local flags. Provide either a local Examples
--name or a --schedule-id (validation requires at least one).Local name of the schedule record.
Schedule entity ID (
0.0.x).Key manager to use:
local or local_encrypted (defaults to config setting).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
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.