Skip to main content

Wallet SDK

Build multi-platform self-custodial wallet applications using Nethereum's layered MVVM architecture. The Wallet SDK provides core wallet services, shared ViewModels, and platform-specific renderers for Blazor and MAUI.

Architecture

Nethereum.Wallet                              Core services: accounts, vaults, BIP32/BIP39,
chain config, transaction building, EVM preview
+ Nethereum.Wallet.UI.Components Platform-agnostic MVVM ViewModels
(CommunityToolkit.Mvvm, localisation EN/ES)
+ Nethereum.Wallet.UI.Components.Blazor Blazor/MudBlazor renderer
or .Maui .NET MAUI renderer

What's in the Box

LayerPackagesPurpose
CoreNethereum.Wallet, Nethereum.UIAccount management, vault encryption, chain configuration, transaction building, EVM state preview, SIWE authenticator
ViewModelsNethereum.Wallet.UI.Components, .TrezorCross-platform MVVM ViewModels for every wallet screen with field-level validation and localisation
Renderers.Blazor, .Blazor.Trezor, .MauiPlatform-specific UI implementations
RPCNethereum.Wallet.RpcRequestsEIP-1193 JSON-RPC request handlers for wallet-to-dApp communication
HardwareNethereum.Maui.AndroidUsbAndroid USB transport for Ledger/Trezor on MAUI

Account Types

The wallet supports multiple account types:

  • Mnemonic — BIP39 seed phrase with BIP44 derivation paths
  • Private Key — Direct ECDSA key import
  • Keystore — Web3 Secret Storage encrypted files
  • View-Only — Address monitoring without signing capability
  • Hardware — Ledger and Trezor via USB (desktop/Android)

Getting Started

Install the core + your renderer:

dotnet add package Nethereum.Wallet
dotnet add package Nethereum.Wallet.UI.Components.Blazor

Register services in DI:

builder.Services.AddNethereumWallet();
builder.Services.AddNethereumWalletBlazorComponents();

Packages

PackageDescription
Nethereum.UIAbstract IEthereumHostProvider, SIWE authenticator, validation helpers
Nethereum.WalletCore wallet: accounts, vaults, chain config, HD wallets, dApp management
Nethereum.Wallet.RpcRequestsEIP-1193 JSON-RPC handlers
Nethereum.Wallet.UI.ComponentsCross-platform MVVM ViewModels
Nethereum.Wallet.UI.Components.TrezorTrezor hardware wallet ViewModels
Nethereum.Wallet.UI.Components.BlazorBlazor/MudBlazor renderer
Nethereum.Wallet.UI.Components.Blazor.TrezorBlazor Trezor components
Nethereum.Wallet.UI.Components.Maui.NET MAUI renderer
Nethereum.Maui.AndroidUsbAndroid USB transport for hardware wallets