Wallet Features
Wallet Features
Detailed reference for all features in the XE web wallet.
Setup flow
New users are presented with two options:
Create wallet
- A random 32-byte seed is generated via
crypto.getRandomValues - User sets a passphrase (used for AES-GCM encryption)
- Seed is displayed once with a confirmation prompt ("I have saved my seed")
- Seed is encrypted and stored in
localStorage - Wallet unlocks and starts the auto-receive poller
Import wallet
- User pastes a 64-character hex seed
- User sets a passphrase
- Seed is validated, encrypted, and stored
- Wallet unlocks and starts polling
[!TIP] Tip Seeds generated by the standalone CLI (
account create) can be imported directly into the web wallet.
Main wallet page
The primary interface after unlocking.
Address and balances
- Full account address with copy-to-clipboard
- Multi-asset balance display showing XE and XUSD separately
Send form
Field
Description
Destination
Recipient account address (64 hex characters)
Amount
Integer amount to send
Asset
XE or XUSD (dropdown)
Submitting a send:
- Fetches current chain state (frontier, balance) from the API
- Builds a send block with correct previous hash and debited balance
- Computes PoW in the browser (Blake2b)
- Signs with ed25519 (tweetnacl)
- Submits to the node API
Claim form
Claim 100 XUSD from the testnet faucet. Rate limited to once per 24 hours per account. Follows the same build-sign-submit flow as sends.
Activity log
Displays the last 20 transactions for the active wallet, showing block type, amount, counterparty, and timestamp.
Block history
Full block chain for the account, expandable to show all fields of each block.
Auto-receive
A background poller runs every 5 seconds to detect and process pending sends.
Flow
- Fetch pending sends for each wallet from the API
- For each pending send, build a receive block
- Compute PoW
- Sign the block
- Submit to the API
Events
The auto-receive system emits events for UI feedback:
Event
Description
data
Pending sends fetched
receiving
Processing a specific pending send
pow
PoW computation started
received
Block successfully submitted
error
Processing failed
Multi-wallet spacing
When multiple wallets are active, auto-receive processes them sequentially with a 600 ms delay between wallets to avoid overwhelming the node API.
Multi-wallet management
Create new wallet
Generate a random seed and encrypt it with the existing passphrase. The new wallet is added to the wallets array in localStorage.
Import wallet
Paste a 64-character hex seed. The seed is validated, encrypted, and stored.
Wallet operations
Operation
Description
Switch active
Select a different wallet from the header dropdown
Rename
Change the display name
Delete
Remove the wallet (disabled if only one remains)
Reveal seed
Re-authenticate with passphrase, then display the seed
The wallet switcher appears in the layout header and shows the active wallet name and a truncated address.
P2P Chat
Peer-to-peer messaging between XE accounts.
Starting a conversation
Enter a recipient's account address to open a new conversation thread. The wallet automatically registers the active account in the node's directory on page load.
Message display
- Messages are colored by direction (sent vs. received)
- Timestamps shown for each message
- Real-time updates via Server-Sent Events (SSE)
- Contact list with recent conversations
Security
All chat messages are signed with ed25519 detached signatures. The signature covers the message envelope, proving the sender's identity. See Cryptography for details.
Compute management
Manage virtual machine leases from the wallet.
Provider list
Browse available providers showing:
- Account address
- Available resources (vCPUs, memory, disk)
- Current availability status
Lease request
Field
Description
Provider
Selected provider address
vCPUs
Number of virtual CPUs
Memory
Memory in MB
Disk
Disk in GB
Duration
Lease duration in seconds
A real-time cost calculator updates as fields change, showing:
- XUSD cost breakdown (vCPU + memory + disk)
- Total XUSD cost
- Required provider stake
- XE reward for provider
VM management
Active leases are displayed with:
- VM status (running, pending, settled)
- Resource allocation
- Connection credentials
- Terminal for command execution against the VM
- Auto-refresh of VM status
DAO Governance
Participate in state chain governance as a DAO member.
View state chain
- Current state chain tip (latest block index and hash)
- Recent blocks with operation summaries
Draft block
- Add operations (
SETkey/value orDELETEkey) - Preview the operation list
- Generate the canonical hash for the proposed block
Sign
If the active wallet is a DAO member:
- Sign the block hash with the wallet's key
- View the accumulated signatures
Import signatures
For multi-party signing:
- Import signatures from other DAO members (paste signed payloads)
- Track signature count vs. threshold
Submit
When the required signature threshold is met, submit the block to the network.
State inspector
Browse the DAO state chain data.
Blocks tab
- Paginated list of state chain blocks
- Each entry shows index, hash, operation count, signature count, timestamp
- Click to view block detail:
- All operations with
SET/DELETEbadges - Key and value for each operation
- Signer addresses and signatures
- All operations with
KV State tab
- Filter by key prefix
- Keys grouped by namespace
- Pretty-printed values (JSON formatted where applicable)
- Copy buttons for keys and values
See also
- Wallet Overview -- architecture and tech stack
- Wallet Security -- encryption and session management
- Cryptography -- signing primitives
- Proof of Work -- client-side PoW details
- Compute Leasing -- lease lifecycle
- State Chain -- DAO governance model