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

  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

#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

FieldDescription
DestinationRecipient account address (64 hex characters)
AmountInteger amount to send
AssetXE 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:

EventDescription
dataPending sends fetched
receivingProcessing a specific pending send
powPoW computation started
receivedBlock successfully submitted
errorProcessing 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

OperationDescription
Switch activeSelect a different wallet from the header dropdown
RenameChange the display name
DeleteRemove the wallet (disabled if only one remains)
Reveal seedRe-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

FieldDescription
ProviderSelected provider address
vCPUsNumber of virtual CPUs
MemoryMemory in MB
DiskDisk in GB
DurationLease 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