Day-to-day operations
#Check on your miner
everycli miner status
everycli miner doctor
everycli miner earnings
everycli miner status --jsonstatus— local operation phase, exact cloud workload status, the coordinator's signed view of you (attestation, active jobs, model allowlist, routing) and any API failures. Stale local state is never presented as live readiness.doctor— the readiness checklist; exit2means not ready.providers— which provider keys are configured and permitted by your release (no key values are printed).earnings— serving fees grouped as review-held, approved and disputed, in USD (microusdin JSON). These are accounting figures for the reward policy, not wallet payouts, on-chain emissions or profit. Automatic payouts are not implemented and upstream expenses are not queried.
Read-only commands never take the mutation lock, so you can run them while another operation is in progress.
#Stop and restart
everycli miner stop --drain-only # block new assignments, finish the current job
everycli miner status # wait for active jobs to reach zero
everycli miner stop # graceful shutdown of the exact saved VM
everycli miner reconcile # confirm the shutdown actually completedDraining atomically blocks new assignments but lets the current grant finish. If a job is active, stop returns immediately with a waiting message; run it again when the count is zero. It then requests a graceful shutdown of the saved app. It never deletes the VM and never kills an active render. A stopped VM may still incur storage charges.
If the coordinator is unreachable or your enrolment is not installed, automated shutdown fails closed. Contact the operator to confirm no outstanding work, then shut down the exact VM in the Phala console.
To restart the same VM:
everycli miner start --max-hourly-usd 0.06
everycli miner reconcile
everycli miner doctor
everycli miner resumestart never creates a replacement VM. If your provider key was never activated, run activate before resume.
#Apply an approved update
The operator ships image updates as signed release documents. An update must name your miner, hotkey, app ID and the current compose hash, and carry the new full compose. Mutable tags, foreign targets, untrusted signatures and OS changes are rejected.
everycli miner update --release signed-update.json
everycli miner reconcile
everycli miner doctor
everycli miner activate
# after the new post-restart admission:
everycli miner resumeUpdates drain work and replace the provider key with the disabled placeholder until the new release is admitted. There is no automatic rollback to an unreviewed release.
#Invitation expiry
An expired invitation still allows doctor, status, earnings and stop, but not deploy or update. Ask the operator for a renewal, then rerun init with the renewed invitation and your existing credentials file. Renewal can only change issuance and expiry — it cannot silently switch miner, wallet, release or deployment.
#Running more than one miner
Each miner gets its own state directory:
everycli miner status --state-dir /path/to/private-profile
# or
EVERYCLI_DIR=/path/to/private-profile everycli miner statusEach needs its own invitation, hotkey and miner token. One VM per invitation; the CLI will not create a second.
#Non-interactive use
--yes skips the confirmation prompt on mutating commands after you have reviewed the displayed cost and mutation warning. --json gives machine-readable output on read commands. Error output deliberately omits provider request bodies, keys and stack traces — you get a code and a message.