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 |
| Build a full-stack dApp with Blazor and Solidity | dotnet new nethereum-dapp |
| 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 | |
| Crawl blocks, transactions, and event logs | Nethereum.BlockchainProcessing |
| Index blockchain data to PostgreSQL/SqlServer/SQLite | Nethereum.BlockchainProcessing + store provider |
| Index ERC-20/721/1155 token transfers and balances | Nethereum.BlockchainStorage.Token.Postgres |
| Build a blockchain explorer | Nethereum.Explorer |
| Debug EVM execution in a browser UI | Nethereum.Explorer (EVM debugger) |
| Scan thousands of known tokens against a wallet via multicall (no indexer) | Nethereum.TokenServices |
| Get token balances with CoinGecko prices | Nethereum.TokenServices |
| Fetch ABI from Sourcify or Etherscan with automatic fallback | Nethereum.DataServices |
| Discover RPC endpoints and chain metadata from Chainlist | Nethereum.DataServices |
| Query gas prices, account transactions from Etherscan | Nethereum.DataServices |
| Get token prices and metadata from CoinGecko | Nethereum.DataServices |
| Store Sourcify data locally in PostgreSQL | Nethereum.Sourcify.Database |
| 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) | |
| Understand MUD and generate C# code | Nethereum.Mud + Nethereum.Mud.Contracts |
| Work with MUD table records and queries | Nethereum.Mud + Nethereum.Mud.Contracts |
| Index MUD Store events to PostgreSQL | Nethereum.Mud.Repositories.Postgres |
| Deploy a MUD World with tables and systems | Nethereum.Mud.Contracts |
| Wallet SDK | |
| Build a multi-platform wallet app | Nethereum.Wallet + UI.Components + renderer (.Blazor / .Maui) |
| Web (Blazor) dApp Integration | |
| 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 |
| Unity | |
| Build a Unity game with Ethereum | Nethereum.Unity — Quickstart guide |
| Connect browser wallets in WebGL | Nethereum.Unity.EIP6963 — Wallets guide |
| Deploy and interact with contracts in Unity | Nethereum.Unity — Smart Contracts guide |
| Verification & Cryptography | |
| Verify ETH balances without trusting RPC | Nethereum.ChainStateVerification + Nethereum.Consensus.LightClient |
| Track finalized beacon headers | Nethereum.Consensus.LightClient + Nethereum.Signer.Bls.Herumi |
| Verify storage proofs and contract code | Nethereum.ChainStateVerification |
| Calculate Merkle proofs and state roots | Nethereum.Merkle + Nethereum.Merkle.Patricia |
| Infrastructure | |
| Launch a sequencer and deploy contracts | Nethereum.AppChain.Server (Preview) |
| Configure RocksDB persistent storage | Nethereum.CoreChain.RocksDB (Preview) |
| Sync follower nodes and verify state | Nethereum.AppChain.Sync (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.Core | SIWE core models, message parsing, and RECAP capabilities (EIP-4361/EIP-5573) |
| Nethereum.Siwe | Sign-In with Ethereum — session management, signature verification, NFT gating |
| 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) |
Aspire Templates
| Template / Resource | Description |
|---|---|
nethereum-devchain | Aspire template: DevChain + Indexer + Explorer + PostgreSQL in one command |
nethereum-dapp | Aspire template: full-stack dApp with Blazor WebApp, Foundry contracts, C# codegen, EIP-6963 wallet |
| Solidity → C# codegen | End-to-end code generation from Forge-compiled Solidity to typed C# services |
| EIP-6963 wallet integration | Browser wallet connection in Blazor with chain validation and switching |
| Explorer ABI discovery | Automatic contract ABI resolution from Foundry build artifacts |
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 |
Data Processing & Storage
| Package | Description |
|---|---|
| Nethereum.BlockchainProcessing | Block/transaction/log crawling pipeline with progress tracking and reorg detection |
| Nethereum.BlockchainStore.EFCore | EF Core storage abstraction: entity models, repository interfaces, reorg handling |
| Nethereum.BlockchainStore.Postgres | PostgreSQL storage provider |
| Nethereum.BlockchainStore.SqlServer | SQL Server storage provider |
| Nethereum.BlockchainStore.Sqlite | SQLite storage provider |
| Nethereum.BlockchainStorage.Processors | Hosted services for continuous indexing with retry and chain validation |
| Nethereum.BlockchainStorage.Token.Postgres | ERC-20/721/1155 transfer indexing, balance aggregation, NFT inventory |
| Nethereum.Explorer | Blazor Server blockchain explorer with ABI decoding, token pages, EVM debugger, MUD browser |
| Nethereum.DataServices | Etherscan, Sourcify, CoinGecko, 4Byte, Chainlist API clients + composite ABI retrieval |
| Nethereum.Sourcify.Database | Local Sourcify storage in PostgreSQL (EF Core) |
| Nethereum.TokenServices | Token portfolio: multicall balances over known token lists, CoinGecko pricing, multi-account scanning |
MUD Framework
| Package | Description |
|---|---|
| Nethereum.Mud | Table schemas, record encoding/decoding, repositories, predicate queries |
| Nethereum.Mud.Contracts | World/Store contract services, Store event processing, table/system registration |
| Nethereum.Mud.Repositories.EntityFramework | EF Core repository for MUD records |
| Nethereum.Mud.Repositories.Postgres | PostgreSQL storage with schema normalisation |
Wallet SDK
| Package | Description |
|---|---|
| Nethereum.UI | Abstract IEthereumHostProvider, SIWE authenticator, validation helpers |
| Nethereum.Wallet | Core wallet: accounts, vaults, chain config, HD wallets, dApp management |
| Nethereum.Wallet.RpcRequests | EIP-1193 JSON-RPC handlers |
| Nethereum.Wallet.UI.Components | Cross-platform MVVM ViewModels |
| Nethereum.Wallet.UI.Components.Trezor | Trezor hardware wallet ViewModels |
| Nethereum.Wallet.UI.Components.Blazor | Blazor/MudBlazor renderer |
| Nethereum.Wallet.UI.Components.Blazor.Trezor | Blazor Trezor components |
| Nethereum.Wallet.UI.Components.Maui | .NET MAUI renderer |
| Nethereum.Maui.AndroidUsb | Android USB for Ledger/Trezor on MAUI |
Web (Blazor) dApp Integration
| Package | Description |
|---|---|
| Nethereum.Blazor | EIP-6963 wallet discovery, auth state, dynamic contract interaction |
| Nethereum.EIP6963WalletInterop | EIP-6963 JavaScript interop core |
| Nethereum.Metamask | MetaMask wallet provider |
| Nethereum.Metamask.Blazor | MetaMask Blazor interop component |
| Nethereum.WalletConnect | WalletConnect v2 protocol |
| Nethereum.Reown.AppKit.Blazor | Reown AppKit modal for Blazor |
| Nethereum.Blazor.Solidity | In-browser Solidity step-through debugger |
Unity
| Package | Description |
|---|---|
| Nethereum.Unity | Unity game engine integration |
| Nethereum.Unity.EIP6963 | EIP-6963 wallet discovery for Unity WebGL |
| Nethereum.Unity.Metamask | MetaMask integration for Unity WebGL |
AppChains (Preview)
| Package | Description |
|---|---|
| Nethereum.AppChain | Core chain abstraction, genesis, IAppChain interface |
| Nethereum.AppChain.Server | HTTP/WS JSON-RPC server (CLI tool) |
| Nethereum.AppChain.Sequencer | Block production, transaction ordering, AppChainBuilder |
| Nethereum.AppChain.Sync | Multi-peer sync, batch import, finality tracking |
| Nethereum.AppChain.P2P | P2P security: reputation, rate limiting, authentication |
| Nethereum.AppChain.P2P.DotNetty | DotNetty transport implementation |
| Nethereum.AppChain.P2P.Server | Complete P2P node with Clique PoA |
| Nethereum.AppChain.Policy | Governance, access control, merkle authorization |
| Nethereum.AppChain.Anchoring | L1 state root commitment and verification |
| Nethereum.Consensus.Clique | Clique Proof-of-Authority consensus engine |
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 |
Consensus Light Client
| Package | Description |
|---|---|
| Nethereum.Consensus.LightClient | Beacon chain light client: sync committee tracking, header verification, finality proofs |
| Nethereum.ChainStateVerification | Verified state queries: account balances, storage proofs, contract code without trusting RPC |
| Nethereum.Beaconchain | Beacon Chain REST API client |
| Nethereum.Consensus.Ssz | Consensus-layer SSZ type serialization |
| Nethereum.SSZ | Simple Serialize (SSZ) encoding |
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.