Component Catalog
Nethereum provides 130+ packages covering the full Ethereum development stack. This page helps you find the right package for your use case.
Quick Start by Use Case
| I want to... | Packages |
|---|---|
| Basics | |
| Send ETH and interact with contracts | Nethereum.Web3 |
| Work with ERC-20, ERC-721, or ERC-1155 tokens | Nethereum.Web3 (includes typed contract services for all major standards) |
| Signing & Key Management | |
| Sign transactions offline | Nethereum.Web3 + Nethereum.Accounts |
| Use an HD wallet (BIP32/BIP39) | Nethereum.HDWallet |
| Sign with Trezor or Ledger | Nethereum.Signer.Trezor or Nethereum.Signer.Ledger |
| Sign with AWS KMS or Azure Key Vault | Nethereum.Signer.AWSKeyManagement or Nethereum.Signer.AzureKeyVault |
| Sign EIP-712 typed data | Nethereum.Signer.EIP712 |
| Local Development | |
| Run a local dev chain (no external node) | Nethereum.DevChain.Server |
| Simulate EVM execution in-process | Nethereum.EVM |
| Preview transaction state changes before signing | Nethereum.Wallet + Nethereum.EVM |
| Spin up a full dev environment with Aspire | dotnet new nethereum-devchain template |
| Code Generation | |
| Generate C# contract services from Solidity ABI | Nethereum.Generator.Console (CLI) or VS Code Solidity extension |
| Generate UI components from contract definitions | Nethereum.Generator.Console (CLI) or VS Code Solidity extension |
| Generate MUD table services and queries | Nethereum.Generator.Console (CLI) or VS Code Solidity extension |
| Data & Indexing | |
| Index blockchain data to a database | Nethereum.BlockchainProcessing + a store provider |
| Index token transfers and compute balances | Nethereum.BlockchainStorage.Token.Postgres |
| Build a blockchain explorer | Nethereum.Explorer |
| Fetch ABI from Sourcify or Etherscan | Nethereum.DataServices |
| Get token prices, metadata, and logos | Nethereum.TokenServices |
| Discover and scan token balances across wallets | Nethereum.TokenServices |
| DeFi & Protocols | |
| Swap tokens on Uniswap (V2/V3/V4) | Nethereum.Uniswap |
| Use Permit2 for gasless token approvals | Nethereum.Uniswap (includes Permit2) |
| Accept crypto payments in my API (x402) | Nethereum.X402 |
| Resolve ENS names | Nethereum.Contracts (includes ENS) |
| Implement Sign-In with Ethereum | Nethereum.Siwe |
| Use Gnosis Safe multi-sig | Nethereum.GnosisSafe |
| Account Abstraction | |
| Use smart accounts (ERC-4337 UserOps) | Nethereum.AccountAbstraction |
| Build an ERC-4337 bundler | Nethereum.AccountAbstraction.Bundler |
| Run a bundler RPC server | Nethereum.AccountAbstraction.Bundler.RpcServer |
| Deploy ERC-7579 modular smart accounts | Nethereum.AccountAbstraction |
| MUD (Autonomous Worlds) | |
| Work with MUD World systems and tables | Nethereum.Mud + Nethereum.Mud.Contracts |
| Index and normalise MUD store records to Postgres | Nethereum.Mud.Repositories.Postgres |
| Query normalised MUD tables with predicates | Nethereum.Mud |
| Build MUD table UIs in Blazor | Nethereum.MudBlazorComponents |
| Wallet & UI | |
| Build a multi-platform wallet app | Nethereum.Wallet + Nethereum.Wallet.UI.Components + a renderer (.Blazor / .Maui) |
| Integrate browser wallets in Blazor (EIP-6963) | Nethereum.Blazor |
| Connect via WalletConnect / Reown | Nethereum.WalletConnect or Nethereum.Reown.AppKit.Blazor |
| Interact with any contract dynamically (no codegen) | Nethereum.Blazor |
| Build a Unity game with Ethereum | Nethereum.Unity |
| Verification & Cryptography | |
| Verify beacon chain state via light client | Nethereum.Consensus.LightClient + Nethereum.Signer.Bls.Herumi |
| Calculate Merkle proofs and state roots | Nethereum.Merkle + Nethereum.Merkle.Patricia |
| Infrastructure | |
| Run a custom AppChain | Nethereum.AppChain (Preview) |
| Use System.Text.Json / AOT-friendly RPC | Nethereum.JsonRpc.SystemTextJsonRpcClient |
| Stream real-time data via WebSocket subscriptions | Nethereum.JsonRpc.WebSocketStreamingClient |
All Packages by Category
Core Foundation
| Package | Description |
|---|---|
| Nethereum.Web3 | High-level entry point aggregating RPC, contracts, accounts, and signing |
| Nethereum.ABI | ABI encoding/decoding for functions, events, errors, and complex types |
| Nethereum.Contracts | Smart contract interaction: deployment, calls, events, multicall, typed services (ERC-20/721/1155/ENS) |
| Nethereum.Accounts | Account types, transaction managers, and nonce management |
| Nethereum.Model | Block headers, transaction types (Legacy through EIP-7702), RLP encoding |
| Nethereum.Hex | Hex types and conversion utilities |
| Nethereum.RLP | Recursive Length Prefix encoding/decoding |
| Nethereum.Util | Keccak-256, unit conversion, address checksumming, Poseidon hasher |
| Nethereum.RPC | Typed wrappers for eth_*, web3_*, net_*, debug_* RPC methods |
JSON-RPC Transport
| Package | Description |
|---|---|
| Nethereum.JsonRpc.Client | Base RPC client abstractions and interceptor pipeline |
| Nethereum.JsonRpc.RpcClient | HTTP JSON-RPC client (Newtonsoft.Json) |
| Nethereum.JsonRpc.SystemTextJsonRpcClient | HTTP JSON-RPC client (System.Text.Json, AOT-friendly) |
| Nethereum.JsonRpc.IpcClient | IPC client (Windows named pipes, Unix domain sockets) |
| Nethereum.JsonRpc.WebSocketClient | WebSocket JSON-RPC client |
| Nethereum.JsonRpc.WebSocketStreamingClient | Streaming WebSocket for eth_subscribe / eth_unsubscribe |
Signing & Key Management
| Package | Description |
|---|---|
| Nethereum.Signer | ECDSA signing for all transaction types |
| Nethereum.Signer.EIP712 | EIP-712 typed structured data signing |
| Nethereum.KeyStore | Web3 Secret Storage (keystore files) encryption/decryption |
| Nethereum.HDWallet | BIP32/BIP39/BIP44 HD wallet derivation |
| Nethereum.Signer.Ledger | Ledger hardware wallet signing |
| Nethereum.Signer.Trezor | Trezor hardware wallet signing |
| Nethereum.Signer.AWSKeyManagement | AWS KMS-based signing |
| Nethereum.Signer.AzureKeyVault | Azure Key Vault-based signing |
Protocols
| Package | Description |
|---|---|
| Nethereum.ENS | Ethereum Name Service: resolution, registration, reverse lookup |
| Nethereum.GnosisSafe | Safe multi-signature wallet interaction |
| Nethereum.Siwe | Sign-In with Ethereum (EIP-4361) |
| Nethereum.Circles | Circles UBI protocol |
| Nethereum.GSN | Gas Station Network meta-transaction relay |
DeFi
| Package | Description |
|---|---|
| Nethereum.Uniswap | Uniswap DEX (V2/V3/V4) + Permit2 |
| Nethereum.X402 | HTTP 402 Payment Required protocol for pay-per-request APIs |
EVM Simulator
| Package | Description |
|---|---|
| Nethereum.EVM | Full EVM simulator: all opcodes through Prague, tracing, debugging |
DevChain
| Package | Description |
|---|---|
| Nethereum.CoreChain | Full in-process node: RPC handlers, state management, block production, WebSocket subscriptions |
| Nethereum.CoreChain.RocksDB | RocksDB persistent storage |
| Nethereum.DevChain | Development chain: pre-funded accounts, auto-mine, SQLite, time manipulation |
| Nethereum.DevChain.Server | HTTP server for DevChain (MetaMask/Foundry/Hardhat compatible) |
Account Abstraction (ERC-4337 / ERC-7579)
| Package | Description |
|---|---|
| Nethereum.AccountAbstraction | UserOperation creation, encoding, gas estimation, validation |
| Nethereum.AccountAbstraction.Bundler | Full bundler: mempool, reputation, BLS aggregation, bundle submission |
| Nethereum.AccountAbstraction.Bundler.RpcServer | Bundler JSON-RPC server |
| Nethereum.AccountAbstraction.SimpleAccount | SimpleAccount factory interaction |
| Nethereum.AccountAbstraction.AppChain | AA integration for AppChain (gasless UX, session keys) |
Data Processing & Storage
| Package | Description |
|---|---|
| Nethereum.BlockchainProcessing | Block/transaction/log crawling with reorg detection and token indexing |
| Nethereum.BlockchainStore.Postgres | PostgreSQL storage provider |
| Nethereum.BlockchainStore.SqlServer | SQL Server storage provider |
| Nethereum.BlockchainStore.Sqlite | SQLite storage provider |
| Nethereum.BlockchainStorage.Token.Postgres | Token transfer indexing and balance aggregation |
| Nethereum.Explorer | Blazor Server blockchain explorer |
| Nethereum.TokenServices | Token metadata, prices, logos, balance scanning |
MUD Framework
| Package | Description |
|---|---|
| Nethereum.Mud | MUD client: table schemas, record encoding, store subscriptions, predicate queries |
| Nethereum.Mud.Contracts | MUD World/Store contract services and event processing |
| Nethereum.Mud.Repositories.EntityFramework | EF Core repository for MUD store records |
| Nethereum.Mud.Repositories.Postgres | PostgreSQL MUD store with normalisation and background processing |
| Nethereum.MudBlazorComponents | Blazor UI for MUD table interaction |
Web & Browser Integration
| Package | Description |
|---|---|
| Nethereum.Blazor | Blazor integration: EIP-6963 wallet discovery, auth state, dynamic contract interaction |
| Nethereum.Metamask | MetaMask wallet provider |
| Nethereum.WalletConnect | WalletConnect v2 protocol |
| Nethereum.Reown.AppKit.Blazor | Reown AppKit modal for Blazor |
Wallet & UI
| Package | Description |
|---|---|
| Nethereum.Wallet | Core wallet: accounts, vaults, chain config, HD wallets, dApp management |
| Nethereum.Wallet.UI.Components | Cross-platform UI ViewModels (MVVM) |
| Nethereum.Wallet.UI.Components.Blazor | Blazor renderer for wallet UI |
AppChains (Preview)
| Package | Description |
|---|---|
| Nethereum.AppChain | AppChain core |
| Nethereum.AppChain.Server | HTTP server for AppChains |
| Nethereum.AppChain.Sequencer | Transaction ordering and sequencing |
| Nethereum.AppChain.Sync | Multi-node state synchronisation |
| Nethereum.AppChain.P2P | P2P networking abstractions |
| Nethereum.AppChain.Policy | Governance, validation, and access policies |
| Nethereum.AppChain.Anchoring | L1 anchoring for state commitment |
| Nethereum.Consensus.Clique | Clique Proof-of-Authority consensus |
Consensus & Cryptography
| Package | Description |
|---|---|
| Nethereum.Merkle | Merkle tree implementations (standard, incremental, frontier) |
| Nethereum.Merkle.Patricia | Modified Merkle Patricia Trie |
| Nethereum.Ssz | Simple Serialize (SSZ) encoding |
| Nethereum.Signer.Bls.Herumi | BLS signatures via Herumi |
Client Extensions
| Package | Description |
|---|---|
| Nethereum.Geth | Geth-specific RPC methods |
| Nethereum.Besu | Hyperledger Besu-specific RPC methods |
Supported Platforms
| Target | Scope |
|---|---|
| netstandard 2.0, net451, net461, net6.0, net8.0, net9.0, net10.0 | Core libraries |
| net8.0, net10.0 | CoreChain, AppChain, Server components |
| net6.0--net10.0 | Blazor UI |
| net461, net472, netstandard 2.1 | Unity |
Individual package READMEs with full API documentation are available in each section of the sidebar, alongside the relevant guides and overviews.