Skip to main content

Wallet & UI

Nethereum includes a multi-platform wallet implementation using MVVM architecture (CommunityToolkit.Mvvm) with shared ViewModels and platform-specific renderers. This section also covers browser wallet integration (MetaMask, WalletConnect/Reown, EIP-6963), Blazor components, and Unity support.

Architecture

  • Wallet Core (Nethereum.Wallet) — transaction building, signing, state changes preview via EVM simulation, token management
  • UI Components (Nethereum.Wallet.UI.Components) — platform-agnostic MVVM ViewModels for all wallet screens with localisation (EN/ES)
  • Renderers — Blazor, Avalonia, and MAUI implementations

Building a Wallet App

Combine the core wallet with UI components and a platform renderer:

Nethereum.Wallet                    (core services)
+ Nethereum.Wallet.UI.Components (ViewModels)
+ Nethereum.Wallet.UI.Components.Blazor (or .Maui, .Avalonia)

Packages

PackageDescription
Nethereum.WalletCore wallet services
Nethereum.Wallet.UI.ComponentsCross-platform MVVM ViewModels
Nethereum.Wallet.UI.Components.BlazorBlazor renderer
Nethereum.Wallet.UI.Components.Maui.NET MAUI renderer
Nethereum.UIShared UI abstractions

Web & Browser Integration

PackageDescription
Nethereum.BlazorBlazor Ethereum host provider and authentication
Nethereum.Blazor.SolidityIn-browser Solidity step-through debugger
Nethereum.EIP6963WalletInteropEIP-6963 wallet discovery for Blazor
Nethereum.MetamaskMetaMask integration core
Nethereum.Metamask.BlazorMetaMask Blazor component
Nethereum.WalletConnectWalletConnect protocol support
Nethereum.Reown.AppKit.BlazorReown AppKit (WalletConnect v2) Blazor component

Unity

PackageDescription
Nethereum.UnityUnity3D integration
Nethereum.Unity.EIP6963EIP-6963 wallet discovery for Unity WebGL