Skip to main content

Wallet Overview

EXTRA WALLET is a next-generation browser wallet designed for security, flexibility, and extensibility. It moves beyond the traditional "single account" model to offer a powerful portfolio management system.

Architecture & Hierarchy​

The wallet is organized into a three-level hierarchy to help you manage diverse assets across multiple networks:

  1. Portfolio: The top-level container protected by a password. It can include multiple wallets (e.g., Personal, Business, Cold Storage).
  2. Wallet: A container within a portfolio that is linked to a specific mnemonic phrase. From this single mnemonic, the wallet can derive and manage accounts across multiple blockchains (e.g., Bitcoin, Ethereum, Solana).
  3. Account: An entity related to a blockchain-specific address derived from a wallet’s mnemonic.

Dashboards​

The wallet UI is split into two functional layers:

  • Top section — portfolio/wallet performance and distribution
  • Bottom section — detailed asset and transaction data

Top Section: Overview & Performance​

This section changes depending on the current context (portfolio vs wallet) and selected view.

Wallets Overview (Portfolio Level)​

Displays aggregated performance across all wallets, grouped by wallet (e.g., Personal, Business, Cold Storage).

Wallets Overview

Assets Overview (Portfolio Level)​

Shows asset distribution and performance across the entire portfolio, aggregated by tokens instead of wallets.

Assets Overview

Wallet Overview (Wallet Level)​

Focused view for a single wallet (single mnemonic), showing its asset allocation and performance.

Wallet Overview

Bottom Section: Data Tables​

This section displays detailed data based on your current selection — either the full portfolio or a single wallet. Regardless of the selection, it always contains the same two tabs: Assets and Transactions.

Assets Tab​

Displays assets with:

  • chain association
  • balances
  • price and change
  • per-asset breakdown

Assets Table

Transactions Tab​

Provides a full transaction history with:

  • timestamps
  • account and chain
  • transaction type
  • status and amounts

Transactions Table

Exporting Transactions​

From the Transaction tab, you can export your portfolio data for analysis, reporting, or record-keeping. Each export consumes credits from your credits balance.

The exported transaction file contains structured transaction and account data with the following fields:

  • Chain ID — unique identifier of the blockchain network
  • Network — name of the blockchain (e.g., Arbitrum, Ethereum)
  • Account — wallet address associated with the transaction
  • Tx Hash — unique transaction identifier
  • Timestamp — exact time of the transaction (Unix format)
  • Date — human-readable transaction date and time
  • Type — transaction type (e.g., Send, Receive)
  • Status — transaction result (e.g., Success, Failed)
  • Assets — transferred asset and amount (including fiat equivalent, if available)
  • Explorer URL — direct link to view the transaction on a blockchain explorer

Clicking the Export button opens the export modal:

Export Modal

Export Options

  • Excel (.xlsx) — structured for spreadsheet analysis
  • CSV (.csv) — lightweight and portable
  • JSON (.json) — raw structured data for integrations
Export consumes credits

👉 For more details, explore the Payment Service Services and Pricing section.

Key Features​

Apps​

EXTRA WALLET is built on a modular architecture. Instead of bloating the core wallet with every possible feature, we offer the model where you can enable only the apps you need.

  • Lazy Loading: App code is loaded only when you enable it. If an app is disabled, its code is never fetched or executed in your browser.
  • Security: This approach minimizes the attack surface. Potentially unsafe or experimental third-party apps cannot run code in your wallet unless you explicitly turn them on.

👉 Explore the Apps docs

Offline Mode​

The wallet automatically detects when your network connection is lost and switches to a limited offline mode. In offline mode you can:

  • Safely import or create wallets to the portfolio and export them online using the Wallet Expander
  • Encrypt and decrypt QR codes
  • Securely sign transactions exported from online wallet, and download them

👉 Explore the Offline Wallet docs

External Wallets​

You aren't limited to keys generated inside EXTRA WALLET. You can connect external wallets (Ledger, MetaMask, Trust Wallet, etc.) to manage them within the same unified interface.

Security​

Security is the core of EXTRA WALLET. We use a split security model where all sensitive operations (key management, signing) happen in an isolated Signer application running in a separate iframe.

  • The main wallet UI never sees your private keys.
  • All secrets are encrypted and stored only in the Signer's isolated storage.

👉 Read the full Security Model

Developer Info​

Simple Start​

  1. Install dependencies: Run nvm install (if needed) and nvm use, then yarn in the root directory.
  2. Configure Environment: Fill in .env:
    • VITE_API_URL: https://api-staging.extrawallet.app (see API docs)
    • VITE_URL_IFRAME: http://localhost:5001 or the production URL.
    • PRIVATE_KEY: EVM private key for build signatures.
    • VITE_BUILD_TARGET: offline or online.
    • VITE_WALLET_CONNECT_PROJECT_ID: Your WalletConnect ID.
  3. Start Signer: If using localhost for the iframe, ensure the signer is running on port 5001.
  4. Run App: yarn dev.
Developer Rule

All sensitive operations (mnemonic access, signing) must be implemented inside the signer iframe. The main app never touches raw private keys.

Build and Test​

To build the application for production:

# Build for online mode
yarn build:online

# Build for offline mode
yarn build:offline

What happens during build:

  1. Module Parsing: Scans module.config.ts files to determine which modules to include.
  2. Core Build:
    • Copies files to a temporary build directory.
    • Computes checksums and signatures of core files.
    • Generates public/build.manifest.json or public/offline-build.manifest.json.
  3. App Build:
    • Bundles the application using Vite.
    • Outputs to the dist directory.

Preview: Run yarn preview to serve the production build locally.

  • Built and maintained by the EXTRA WALLET team.
  • Source: EXTRA WALLET