Wallet Lifecycle
Afterlogin(), the SDK fully automates wallet setup in the background:
walletStatus:
Wallet Status
Pending Deploy Recovery
If the deploy transaction times out (e.g., network congestion), the SDK persists the tx hash in localStorage. On the nextinit() call (page load), it re-polls the hash automatically. You can surface a link to the user in the meantime:
Wallet Address
The wallet address is deterministic — derived from the user’s OAuth identity and a per-app salt. The same user + same app always produces the same address.Check Deployment
walletStatus.isDeployed which is kept in sync automatically:
Manual Deployment
In most cases deployment is automatic. If you ever need to trigger it manually:Balance
Get the ETH balance of the wallet (in wei, as a string):Multi-Wallet (Named Sub-Accounts)
A single user can have multiple wallets per app, differentiated by name. Each named wallet has its own deterministic address derived fromPoseidon(sub, salt, walletName).
Discover Wallets
Returns all wallets the user has used in this app:Switch Wallet
walletStatus resets and the deployment/session flow runs for the new wallet.
Session Export
Export the active session as a base64 token for use in the CLI or autonomous agents. The token encodes the session private key, wallet address, and policy — it does not include the JWT.[!WARNING] The exported token contains the session private key. Treat it like a password — never commit it to source control or share it publicly.

