unavailable — no redirect-mode wallet wiring on this client (embedded
mode — use connect()/getEthereumProvider() instead — or auth-only).disconnected — signed in, but connectWallet() has not run yet.connecting — a connectWallet() call is in flight.needs-setup — connected, but this device holds no wallet credential and
no stored recovery exists: a brand-new wallet to onboard via
setupWallet().needs-recovery — connected, no credential on this device but stored
recovery exists: an existing wallet on a fresh device, restore via
recoverWallet().ready — this device holds a wallet credential (signing still gates on
an unlock + fresh biometric).Since 0.1.0 the decision is the DEVICE CREDENTIAL, not the address: a
wallet_address claim is written by a binding that may have run on
ANOTHER device, so an address never proves this device can sign — only a
credential (a sealed device-factor vault record, local or synced) does.
Wallet-leg status, orthogonal to AuthStatus.