Skip to main content

What Do You Want to Do?

Find the right guide and packages for your task. Each row links to a how-to guide and the NuGet packages you'll need.


Core Foundation

I want to...Packages
Query ETH, ERC-20, and ERC-721 balancesNethereum.Web3
Convert between Wei, Ether, and GweiNethereum.Web3
Estimate EIP-1559 gas fees (or customize strategies)Nethereum.Web3
Transfer Ether between addressesNethereum.Web3
Send a transaction with custom data or feesNethereum.Web3
Query blocks, transactions, and receiptsNethereum.Web3
Understand transaction types (Legacy, EIP-1559, EIP-7702)Nethereum.Web3
Delegate EOA to a smart contract (EIP-7702)Nethereum.Web3
Calculate a transaction hash before sendingNethereum.Web3
Recover the sender address from a signed transactionNethereum.Web3
Replace or speed up a pending transactionNethereum.Web3
Monitor pending transactionsNethereum.Web3
Decode function calls from transaction input dataNethereum.Web3
ABI encode/decode (abi.encode, abi.encodePacked, EIP-712)Nethereum.Web3
Work with hex data and conversionsNethereum.Web3
Validate and checksum Ethereum addressesNethereum.Web3
RLP encode and decode dataNethereum.Web3
Choose an RPC transport (HTTP, WebSocket, IPC, System.Text.Json)Nethereum.Web3
Stream real-time data (new blocks, pending txns, event logs)Nethereum.JsonRpc.WebSocketStreamingClient + Nethereum.RPC.Reactive

Quick start: Install Nethereum.Web3 and follow the First Project guide. See the Core Foundation section.


Signing & Key Management

I want to...Packages
Generate keys and create accountsNethereum.Web3 + Nethereum.Accounts
Sign and verify messagesNethereum.Web3
Sign EIP-712 typed structured dataNethereum.Signer.EIP712
Create and decrypt keystore filesNethereum.KeyStore
Use HD wallets (BIP32/BIP39 mnemonic)Nethereum.HdWallet
Sign with Ledger or Trezor hardware walletsNethereum.Signer.Ledger / Nethereum.Signer.Trezor
Sign with AWS KMS or Azure Key VaultNethereum.Signer.AWSKeyManagement / Nethereum.Signer.AzureKeyVault

See the Signing & Key Management section.


Smart Contracts

I want to...Packages
Deploy, call, and send transactions to contractsNethereum.Web3
Deploy a contract (with or without code generation)Nethereum.Web3
Work with ERC-20 tokens (balance, transfer, approve)Nethereum.Web3
Generate C# services from Solidity ABINethereum.Generator.Console
Auto-generate on build (MSBuild)Nethereum.Autogen.ContractApi
Filter and query contract eventsNethereum.Contracts
Handle custom errors and revertsNethereum.Contracts
Use built-in standards (ERC-20/721/1155, ENS, ERC-1271, EIP-3009)Nethereum.Contracts
Batch queries with Multicall or RPC batchingNethereum.Contracts
Deploy to deterministic addresses with CREATE2Nethereum.Contracts

See the Smart Contracts section.


DeFi & Protocols

I want to...Packages
Swap tokens on Uniswap (V2/V3/V4)Nethereum.Uniswap
Manage Uniswap liquidity positionsNethereum.Uniswap
Use Permit2 for gasless approvalsNethereum.Uniswap (includes Permit2)
Execute Gnosis Safe multi-sig transactionsNethereum.GnosisSafe
Accept or pay for crypto payments (x402)Nethereum.X402
Interact with Circles UBI protocolNethereum.Circles
Authenticate with Sign-In with Ethereum (SIWE)Nethereum.Siwe
Deposit and withdraw privately with Privacy PoolsNethereum.PrivacyPools + Nethereum.PrivacyPools.Circuits
Generate ZK proofs natively (desktop/server)Nethereum.ZkProofs.RapidSnark + Nethereum.CircomWitnessCalc
Generate ZK proofs in the browser (Blazor WASM)Nethereum.ZkProofs.Snarkjs.Blazor
Verify Groth16 proofs in pure C#Nethereum.ZkProofsVerifier

See the DeFi & Protocols section and Zero-Knowledge Proofs for ZK proofs.


EVM Simulator

I want to...Packages
Simulate a transaction and preview state changesNethereum.EVM
Decode nested call trees (contract-to-contract calls)Nethereum.EVM
Extract and decode event logs from simulationNethereum.EVM
Decode revert reasons and custom errorsNethereum.EVM
Simulate ERC-20 transfers and approvalsNethereum.EVM
Execute raw bytecode in the EVMNethereum.EVM
Debug EVM execution step-by-stepNethereum.EVM
Disassemble contract bytecode to opcodesNethereum.EVM

See the EVM Simulator section.


Chain Infrastructure

I want to...Packages
Build a custom chain node with block productionNethereum.CoreChain
Implement custom storage backendsNethereum.CoreChain + Nethereum.CoreChain.RocksDB
Add custom JSON-RPC handlersNethereum.CoreChain
Fork a live network for local testingNethereum.CoreChain

See the Chain Infrastructure section.


DevChain

I want to...Packages
Run a local dev chain (no external node)Nethereum.DevChain
Expose DevChain as HTTP for MetaMask/Foundry/HardhatNethereum.DevChain.Server
Write integration tests against a local chainNethereum.DevChain
Fork a live network and manipulate state/timeNethereum.DevChain
Trace and debug transactions (opcode-level)Nethereum.DevChain
Spin up a full dev environment with Aspiredotnet new nethereum-devchain template

See the DevChain section.


Aspire Templates

I want to...Packages
Set up a local Ethereum dev environment in one commanddotnet new nethereum-devchain
Build a full-stack dApp with Blazor, Solidity, and C#dotnet new nethereum-dapp
Generate C# typed services from Solidity contractsNethereum.Generator.Console (via template scripts)
Connect browser wallets via EIP-6963 in BlazorNethereum.Blazor + Nethereum.EIP6963WalletInterop
Auto-discover contract ABIs in ExplorerNethereum.Explorer
Deploy Solidity contracts with Forgedotnet new nethereum-dapp (includes Foundry)
Write integration tests against a live DevChaindotnet new nethereum-dapp (includes Tests project)

See the Aspire Templates section.


Account Abstraction (ERC-4337 / ERC-7579)

I want to...Packages
Create and send a UserOperationNethereum.AccountAbstraction
Use smart contracts with Account AbstractionNethereum.AccountAbstraction
Deploy a smart accountNethereum.AccountAbstraction
Batch operations and use paymastersNethereum.AccountAbstraction
Use ERC-7579 modular accounts (validators, hooks, session keys)Nethereum.AccountAbstraction
Run an ERC-4337 bundlerNethereum.AccountAbstraction.Bundler + Nethereum.AccountAbstraction.Bundler.RpcServer

See the Account Abstraction section.


Data, Indexing & Explorer

I want to...Packages
Crawl blocks, transactions, and event logsNethereum.BlockchainProcessing
Resume processing after restart / handle reorgsNethereum.BlockchainProcessing
Index blockchain data to PostgreSQLBlockchainStore.Postgres + Processors.Postgres
Index to SQL Server or SQLiteBlockchainStore.SqlServer/Sqlite + Processors
Run indexing as a hosted serviceBlockchainStorage.Processors.*
Index internal transactions (traces)Processors.* + debug RPC
Index ERC-20/721/1155 token transfers and balancesBlockchainStorage.Token.Postgres
Build a blockchain explorerNethereum.Explorer
Interact with contracts via ABI-decoded UINethereum.Explorer + DataServices
Debug EVM execution step-by-step in browserNethereum.Explorer
Browse MUD tables in the explorerNethereum.Explorer + Mud.Repositories.Postgres

See the Data, Indexing & Explorer section.


MUD Framework

I want to...Packages
Understand MUD and generate C# codeNethereum.Mud + Nethereum.Mud.Contracts
Read, write, and query MUD table recordsNethereum.Mud + Nethereum.Mud.Contracts
Index MUD Store events to PostgreSQLNethereum.Mud.Repositories.Postgres
Index MUD Store events with EF CoreNethereum.Mud.Repositories.EntityFramework
Deploy a MUD World with tables and systemsNethereum.Mud.Contracts
Query normalised MUD tables in PostgreSQLNethereum.Mud.Repositories.Postgres

See the MUD Framework section.


Wallet Connectivity

I want to...Packages
Understand IEthereumHostProvider (the universal wallet abstraction)Nethereum.UI

See the Wallet Connectivity section.


Wallet SDK

I want to...Packages
Build a multi-platform wallet appNethereum.Wallet + Nethereum.Wallet.UI.Components + renderer (.Blazor / .Maui)
Understand the MVVM wallet architectureNethereum.Wallet.UI.Components
Create accounts (mnemonic, private key, vault encryption)Nethereum.Wallet
Send transactions with EVM simulation previewNethereum.Wallet + Nethereum.EVM
Use the wallet as an EIP-1193 RPC provider for dAppsNethereum.Wallet.RpcRequests
Integrate hardware wallets in wallet UINethereum.Wallet.UI.Components.Trezor + .Blazor.Trezor
Use Ledger/Trezor on AndroidNethereum.Maui.AndroidUsb

See the Wallet SDK section.


Web (Blazor) dApp Integration

I want to...Packages
Connect browser wallets in Blazor (EIP-6963, MetaMask, WalletConnect)Nethereum.Blazor + Nethereum.EIP6963WalletInterop
Authenticate with SIWE in BlazorNethereum.Siwe + Nethereum.Blazor
Interact with any contract dynamically (no codegen)Nethereum.Blazor
Debug Solidity step-by-step in browserNethereum.Blazor.Solidity
Connect via WalletConnect / ReownNethereum.WalletConnect / Nethereum.Reown.AppKit.Blazor

See the Web (Blazor) dApp Integration section.


Unity

I want to...Packages
Get started with Ethereum in UnityNethereum.Unity
Connect browser wallets in Unity WebGLNethereum.Unity.EIP6963 + Nethereum.Unity.Metamask
Deploy and interact with smart contracts in UnityNethereum.Unity
Share contract code between Unity and .NETNethereum.Generator.Console

See the Unity section.


Data Services

I want to...Packages
Scan token balances via multicall (no indexer needed)Nethereum.TokenServices
Get token balances with CoinGecko pricesNethereum.TokenServices
Fetch ABI from Etherscan or Sourcify with automatic fallbackNethereum.DataServices
Look up function/event signatures (4Byte)Nethereum.DataServices
Discover RPC endpoints and chain metadata from ChainlistNethereum.DataServices
Query gas prices and account transactions from EtherscanNethereum.DataServices
Get token prices and metadata from CoinGeckoNethereum.DataServices
Store Sourcify data locally in PostgreSQLNethereum.Sourcify.Database

See the Data Services section.


Consensus Light Client

I want to...Packages
Verify ETH balances without trusting RPCNethereum.ChainStateVerification + Nethereum.Consensus.LightClient
Track finalized beacon headersNethereum.Consensus.LightClient + Nethereum.Signer.Bls.Herumi
Verify storage proofs and contract codeNethereum.ChainStateVerification
Query Beacon Chain REST APINethereum.Beaconchain
Serialize consensus-layer types (SSZ)Nethereum.Consensus.Ssz + Nethereum.SSZ

See the Consensus Light Client section.


Client Extensions

I want to...Packages
Use Geth admin and debug APIsNethereum.Geth
Use Besu-specific APIsNethereum.Besu
Use Quorum privacy featuresNethereum.Quorum

See the Client Extensions section.


AppChains (Preview)

I want to...Packages
Launch a sequencer and deploy contractsNethereum.AppChain.Server
Use AppChainBuilder for embedded/testingNethereum.AppChain.Sequencer
Configure RocksDB persistent storageNethereum.CoreChain.RocksDB
Sync follower nodes and verify stateNethereum.AppChain.Sync
Configure P2P networking between nodesNethereum.AppChain.P2P
Anchor AppChain state to L1Nethereum.AppChain.Anchoring

See the AppChains section.


Not sure where to start?