{
  "commands": [
    {
      "name": "approve",
      "help": "Approve a payment proposal and broadcast the transaction.",
      "options": [
        {
          "name": "--proposal-id",
          "type": "text",
          "required": true,
          "default": "Sentinel.UNSET",
          "help": "Proposal ID to approve."
        },
        {
          "name": "--json-output",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Output as JSON."
        }
      ]
    },
    {
      "name": "audit",
      "help": "Show the audit trail - recent proposals, approvals, and broadcasts.",
      "options": [
        {
          "name": "--last",
          "type": "integer",
          "required": false,
          "default": "20",
          "help": "Number of recent entries to show."
        },
        {
          "name": "--json-output",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Output as JSON."
        },
        {
          "name": "--audit-path",
          "type": "text",
          "required": false,
          "default": "~/.bitpilot/audit.jsonl",
          "help": "Path to the audit ledger file."
        }
      ]
    },
    {
      "name": "balance",
      "help": "Display the current wallet balance.",
      "options": [
        {
          "name": "--json-output",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Output as JSON."
        }
      ]
    },
    {
      "name": "fees",
      "help": "Show current Bitcoin fee estimates from mempool.space.",
      "options": [
        {
          "name": "--json-output",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Output as JSON."
        }
      ]
    },
    {
      "name": "init-wallet",
      "help": "Create a new Bitcoin wallet with a freshly generated mnemonic.",
      "options": [
        {
          "name": "--word-count",
          "type": "choice",
          "required": false,
          "default": "24",
          "help": "BIP-39 mnemonic word count."
        }
      ]
    },
    {
      "name": "proposals",
      "help": "List all payment proposals in the current session.",
      "options": [
        {
          "name": "--json-output",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Output as JSON."
        }
      ]
    },
    {
      "name": "propose",
      "help": "Create a payment proposal (does NOT send funds).",
      "options": [
        {
          "name": "--to",
          "type": "text",
          "required": true,
          "default": "Sentinel.UNSET",
          "help": "Recipient Bitcoin address."
        },
        {
          "name": "--amount-sats",
          "type": "integer",
          "required": true,
          "default": "Sentinel.UNSET",
          "help": "Amount in satoshis."
        },
        {
          "name": "--fee-rate",
          "type": "float",
          "required": false,
          "default": null,
          "help": "Fee rate in sat/vB. Auto-fetched if omitted."
        },
        {
          "name": "--memo",
          "type": "text",
          "required": false,
          "default": "",
          "help": "Optional payment note."
        },
        {
          "name": "--json-output",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Output as JSON."
        }
      ]
    },
    {
      "name": "reject",
      "help": "Reject and discard a payment proposal.",
      "options": [
        {
          "name": "--proposal-id",
          "type": "text",
          "required": true,
          "default": "Sentinel.UNSET",
          "help": "Proposal ID to reject."
        }
      ]
    },
    {
      "name": "report",
      "help": "Generate a spend report from the audit trail.",
      "options": [
        {
          "name": "--since",
          "type": "text",
          "required": false,
          "default": "30d",
          "help": "Time range (e.g. 30d, 7d, 24h)."
        },
        {
          "name": "--format",
          "type": "choice",
          "required": false,
          "default": "table",
          "help": "Output format."
        },
        {
          "name": "--btc-price",
          "type": "float",
          "required": false,
          "default": null,
          "help": "BTC price in USD for fiat conversion."
        },
        {
          "name": "--audit-path",
          "type": "text",
          "required": false,
          "default": "~/.bitpilot/audit.jsonl",
          "help": "Path to the audit ledger file."
        }
      ]
    },
    {
      "name": "status",
      "help": "Show system status including circuit breaker state.",
      "options": []
    },
    {
      "name": "sync",
      "help": "Synchronize wallet UTXOs from the configured backend.",
      "options": [
        {
          "name": "--json-output",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Output as JSON."
        }
      ]
    },
    {
      "name": "utxos",
      "help": "List all unspent transaction outputs (UTXOs) in the wallet.",
      "options": [
        {
          "name": "--json-output",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Output as JSON."
        },
        {
          "name": "--confirmed-only",
          "type": "boolean",
          "required": false,
          "default": "False",
          "help": "Show only confirmed UTXOs."
        }
      ]
    }
  ]
}
