Skip to content

Wallet Features

Detailed reference for all features in the XE web wallet.

Setup flow

New users are presented with two options:

Create wallet

  1. A random 32-byte seed is generated via crypto.getRandomValues
  2. User sets a passphrase (used for AES-GCM encryption)
  3. Seed is displayed once with a confirmation prompt ("I have saved my seed")
  4. Seed is encrypted and stored in localStorage
  5. Wallet unlocks and starts the auto-receive poller

Import wallet

  1. User pastes a 64-character hex seed
  2. User sets a passphrase
  3. Seed is validated, encrypted, and stored
  4. Wallet unlocks and starts polling

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:

  1. Fetches current chain state (frontier, balance) from the API
  2. Builds a send block with correct previous hash and debited balance
  3. Computes PoW in the browser (Blake2b)
  4. Signs with ed25519 (tweetnacl)
  5. 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

  1. Fetch pending sends for each wallet from the API
  2. For each pending send, build a receive block
  3. Compute PoW
  4. Sign the block
  5. 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

  1. Add operations (SET key/value or DELETE key)
  2. Preview the operation list
  3. 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/DELETE badges
    • Key and value for each operation
    • Signer addresses and signatures

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