Reading the output
When you add --json, commands answer in a blob of fields that can look like noise the first time. This page translates the ones you will actually read, so you know what the wallet is telling you.
When you add --json, commands answer in a blob of fields that can look like noise the first time. This page translates the ones you will actually read, so you know what the wallet is telling you.
status — wallet --json status#
{"data":{"account_count":1,"active_chain_id":"0xaa36a7","api_version":22,"locked":false},"kind":"status"}| Field | Meaning |
|---|---|
| account_count | How many addresses exist. 0 = no wallet created yet. |
| active_chain_id | The current chain as hex text, or null if none set. 0x34622 is the Chunknet default — switch before transacting. |
| locked | true = keys are not in memory; the daemon cannot sign. Run wallet wallet unlock. |
| api_version | The host contract version the daemon speaks. |
The full status also carries initialized, backup_verified, backup_verification_required, lock_reason, session_last_activity_at, and vault_document_fingerprint. The two that matter most day to day:
- lock_reason — why you're locked: startup, manual, idle_timeout, runtime_reset, vault_document_changed.
- backup_verification_required — true on a freshly created wallet until you run verify-backup; signing is blocked until then.
Proposal summary — proposal get --id#
The important fields when you're deciding what to do:
| Field | Meaning |
|---|---|
| id | The proposal id you pass to every proposal ... command. |
| state | pending, approved, executed, rejected, cancelled, expired. |
| approval_requirement | The quorum contract: required_total, human_required, and any named requirements. |
| quorum | Progress: approved_total, remaining_total, missing_human, remaining_principal_ids, ready_for_execution. |
| approvals | Who has approved so far. |
| review | The frozen semantic review (present for transaction/Safe proposals). |
| risk | Effective risk of the reviewed payload. |
| workflow | Claim/handoff/review-marker state, if any. |
| execution | The broadcast record, once executed. |
Reading quorum answers "why is this still pending?" at a glance: remaining_total: 1 means one more approval; missing_human: true means the remaining approval must be a human.
Review artifact — proposal review --id#
| Field | Meaning |
|---|---|
| review_status | complete (confident), degraded (reduced confidence), blocked (unsafe for a machine). |
| effective_risk | The risk level assigned to this payload. |
| warnings | Non-blocking caveats. Informational — don't pattern-match them for security. |
| blocking_reasons | Explicit reasons a machine may not approve. Surface these to a human. |
| artifact_hash | The fingerprint your approval is bound to. |
| contract_call / safe_call | The decoded call: selector/signature, predicted effects, touched contracts, effect confidence. |
Drift comparison — proposal compare-review --id#
| Field | Meaning |
|---|---|
| equivalent | true = no drift; false = the environment changed, execution will be blocked. |
| comparison_status | "equivalent" or "drifted". |
| code_hash_changed, implementation_changed, effects_changed | Which kind of drift. |
| changed_fields | The specific semantic fields that differ. |
me — wallet --json me#
| Field | Meaning |
|---|---|
| principal_id | Your logical identity (stable across token rotation). |
| principal_kind | human_operator, cli_client, mcp_client, service_account. |
| capabilities | What this token may attempt. |