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. You can have multiple portfolios (e.g., "Personal", "Business", "Cold Storage"), each encrypted with its own password.
  2. Wallet: A logical grouping within a portfolio. A wallet can generate addresses for multiple blockchains from a single mnemonic phrase.
  3. Account: The entity related to the actual address on a specific blockchain network (e.g., Bitcoin, Ethereum, Solana).

Dashboards

Portfolio Dashboard
Gives you a bird's-eye view of your entire portfolio's performance, aggregated across all wallets and networks.

Portfolio Dashboard

Wallet Dashboard
Drill down into a specific wallet to see asset breakdowns and transaction history for that specific mnemonic phrase.

Wallet Dashboard

App Store & Extensions

Extra Wallet is built on a modular extension architecture. Instead of bloating the core wallet with every possible feature, we offer an App Store where you can enable only what you need.

  • Lazy Loading: Extension code is loaded only when you enable it. If an extension 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 extensions cannot run code in your wallet unless you explicitly turn them on.

👉 Explore the App Store Extensions docs

Key Features

Offline Mode

The wallet automatically detects when your network connection is lost and switches to a limited offline mode. In this mode, you can still view cached data and perform offline operations (like generating QR codes for air-gapped signing) without interruption.

👉 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.

EVM Testnet Support

Extra Wallet comes with native support for EVM testnets, making it easy to switch between Mainnet and Testnet environments for development and testing.

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_PRICE_DATA: 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