# The `ip` CLI (proposed) Version: **0.1** (draft) Status: proposal. No binary exists. Names and flags here are the contract an implementation would meet; they are not a promise that this is the final surface. ## 1. Shape One binary, `ip`, with a noun-verb tree. Every command accepts `--json` for machine output and returns exit code 0 on success, 2 on a usage error, 3 on a verification failure (signature, hash, chain), 4 on a payment failure (no pass, cap reached, hub refused), 5 on a network failure. Configuration lives at `~/.config/ip/config.json`; the keystore at `~/.config/ip/keys/` with mode 0600, or in an OpenCreds vault when `ip init --vault` is used. The local `ipdb` replica is `~/.local/share/ip/db.sqlite`. ## 2. Commands ### 2.1 Identity ``` ip init [--vault] [--name