useWallet reports the wallet EndstateProvider provisions from its wallet config. When the config’s enabled gate is open, the provider mounts the frame and establishes a session automatically, so account populates on its own and status walks idle -> provisioning -> ready. You rarely call ready() directly - useClaim resolves the address for you - but it is there when you need the address explicitly.
This version provisions and reports the account; it deliberately exposes no signing surface. Signing arrives in a later minor release.
Example
Returns
WalletAccount | null
The provisioned account (
{address}), or null until provisioning resolves.
See WalletAccount.WalletStatus
"unconfigured" when no wallet config was passed to the provider; "idle"
when configured but the enabled gate is still closed; "provisioning" while
the frame mounts and the session establishes; "ready" once the account
exists; "error" when provisioning failed. Branch the UI on this.Error | null
The failure that moved
status to "error", or null. Branch on
error.code (an EndstateWalletError carries wallet.* codes), never on the
message. wallet.session_expired is the signal to call refresh().() => Promise<WalletAccount>
Resolves the account, awaiting provisioning already in flight. Rejects with a
typed error when no wallet is configured or the gate is closed.
() => Promise<WalletAccount>
Starts a fresh wallet session and returns the account. The remedy for a
wallet.session_expired failure.Date | null
When the current wallet session lapses, or
null before one exists. After it
passes, calls fail with wallet.session_expired; call refresh().See also
EndstateProvider
Configure the wallet and its auth gate.
useClaim
Claim into this wallet in a single call.
WalletAccount
The account shape this hook returns.
Wallet
The provisioning lifecycle and the identity credential.

