Skip to content

CLI

CommandWhat it doesWhoToday’s model
zunder-guard init [--network paper|testnet] [--rules zr1_…]write guard.toml, issue a client key, start the journala personzunder-runner journal-init
zunder-guard start [--network …] [--confirm-account 0x…]run until stoppeda person or a servicezunder-runner testnet / mainnet
zunder-guard statusrisk state, positions, last decisionsanyone on the machinestatus.json
zunder-guard kill --reason "…"pull the kill switchanyone on the machinezunder-runner kill
zunder-guard resume --note "…"clear a drawdown halt after a reviewa personzunder-runner journal-resume
zunder-guard journal showprint the journalanyone on the machinezunder-runner journal-show
zunder-guard journal repair --note "…"cut a torn last recorda personzunder-runner journal-repair
zunder-guard check-configvalidate the config; no key, no networkanyonezunder-runner check-config
zunder-guard client add|list|revokemanage client keys for botsa personnew
zunder-guard mcprun the MCP server over stdioan MCP clientnew
zunder-guard rules exportprint your rules as a zr1_ codeanyonenew
zunder-guard version --verboseversion, commit, binary SHA-256anyonenew

init, resume, journal repair and client add change what Guard may do. They are never called by Guard itself, by the MCP server, by the monitor page or through the relay. resume also needs Guard stopped, as zunder-runner journal-resume does today.

Terminal window
zunder-guard kill --reason "bot looping on SOL"
zunder-guard status
# state: killed (bot looping on SOL) · positions: none · session: killed