Work with Xian's current browser and mobile wallets. Use when implementing wallet UX, provider approvals, network settings, watched assets, contract-call flows, or shielded snapshot recovery behavior.
Use this skill for the current Xian wallet products.
There are two active wallet surfaces:
xian-wallet-browser
window.xian provider@xian-tech/wallet-core reusable controller and custody logicxian-wallet-mobile
wallet-coreTreat them as sibling products with aligned wallet semantics, not as unrelated implementations.
Current wallet capabilities include:
state_snapshot storage, export, removal, and inclusion in wallet
backup exportsThey are still missing richer mainstream-wallet layers such as full transaction history and portfolio views.
The browser wallet is provider-first:
window.xianImportant provider approval kinds:
xian_requestAccountsxian_signMessagexian_signTransactionxian_sendTransactionxian_sendCallxian_watchAssetIf you change request semantics, update both the provider handling and the approval summary/warning logic.
The mobile wallet is app-first:
transferIf a feature needs arbitrary contract execution, the current product answer is the advanced transaction flow, not a new one-off screen by default.
There is no dedicated token-factory UI today.
Use the generic contract-call path instead:
xian_sendCall / wallet approval flowThat is the current place for:
Do not pretend the wallet has a dedicated factory workflow if it does not.
Current wallet amount behavior:
. and , as decimal separators in the UI, to .bigint when they exceed JS safe
integer rangeImportant distinction:
So if the node/runtime expects a numeric value, do not confuse wallet parsing convenience with protocol-level numeric formats.
Wallets keep:
rpcUrldashboardUrlchainIdUse:
If a user reports "Node unreachable," validate the RPC endpoint first. A valid dashboard URL does not make the wallet operational by itself.
The wallets now treat shielded backups as first-class state:
state_snapshotThe important user-facing truth is:
state_snapshotAny wallet UX around privacy should keep that distinction explicit.
Add a dedicated wallet screen or action only when at least one of these is