Skip to main content
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. claim(claimId) and transfer(transferId) send an operation the API prepared for this wallet and resolve once it is included on chain; they establish the session first when needed. See wallet.claim and wallet.transfer.

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().
(claimId: string) => Promise<WalletSubmission>
Sends a claim the API prepared for this wallet and resolves once it is included. Same contract as wallet.claim.
(transferId: string) => Promise<WalletSubmission>
Sends a transfer the API prepared for this wallet. Same contract as wallet.transfer.

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.