Skip to main content

Welcome to Nethereum

Nethereum is the .NET integration platform for Ethereum and EVM-compatible blockchains. Whether you're building a DeFi application, minting NFTs, indexing blockchain data, running your own Ethereum node, or integrating crypto payments into your API — Nethereum provides the tools to do it in C#.

What Can You Build?

Nethereum includes 130+ packages covering the full Ethereum development stack:

  • Smart contract interaction — deploy, call, and listen to events for ERC-20, ERC-721, ERC-1155, ENS, and any custom contract
  • Code generation — generate typed C# services from Solidity ABI
  • Local dev chain — run a Hardhat/Anvil-compatible chain inside your app with instant mining
  • Blockchain engine — pluggable storage, full EVM, RPC routing, Patricia trie
  • AppChains (Preview) — production satellite chains with sequencer, P2P sync, and L1 anchoring
  • EVM simulator — execute and debug EVM bytecode with step-by-step tracing
  • Blockchain data indexing — crawl and store blocks, transactions, logs, and token transfers
  • Blockchain explorer — Blazor Server explorer with ABI-decoded contract interaction
  • Token services — discover tokens, fetch prices, scan balances across wallets
  • DeFi protocols — Uniswap V2/V3/V4, x402 payments, Gnosis Safe, Permit2
  • Account abstraction — ERC-4337 UserOperations, bundler, ERC-7579 modular smart accounts
  • MUD autonomous worlds — table queries, store indexing, system lifecycle management
  • Multi-platform wallet — MVVM architecture with Blazor and MAUI renderers
  • Unity game integration — coroutine-based RPC, MetaMask WebGL, EIP-6963 wallet discovery
  • .NET Aspire orchestration — full dev environment with one command

For the complete package catalog, see the Component Catalog.

Quick Start

Install the main package:

dotnet add package Nethereum.Web3

Connect to Ethereum and check a balance:

using Nethereum.Web3;

var web3 = new Web3("https://mainnet.infura.io/v3/YOUR_API_KEY");
var balance = await web3.Eth.GetBalance.SendRequestAsync("0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae");
Console.WriteLine($"Balance: {Web3.Convert.FromWei(balance.Value)} ETH");

Ready to go deeper? Continue to Installation.

Try It in Your Browser

The Nethereum Playground lets you write and execute C# code against Ethereum directly in your browser — no setup required. It includes dozens of samples covering transfers, contracts, tokens, wallets, and more.

How This Documentation Is Organised

SectionWhat You'll Find
Getting StartedInstall, create a project, send your first transaction
What Do You Want to Do?44 use cases mapped to guides and packages
Architecture MapHow 130+ packages are layered and relate to each other
Component CatalogEvery package with descriptions, READMEs, and links

Documentation Sections

SectionWhat You'll Find
Core FoundationTransactions, blocks, gas, events, ABI encoding, JSON-RPC transport
Signing & Key ManagementPrivate keys, HD wallets, hardware and cloud signers
Smart Contracts & Code GenContract interaction, typed services, code generation, ENS, SIWE
DeFi & ProtocolsUniswap, x402 payments, Gnosis Safe, Optimism, Permit2
EVM SimulatorExecute and debug EVM bytecode with step-by-step tracing
Chain InfrastructureShared blockchain engine — storage, block production, EVM execution, RPC routing
DevChainLocal dev chain — instant mining, Hardhat/Anvil compatibility, Aspire orchestration
AppChains (Preview)Production satellite chains — sequencer, P2P networking, L1 anchoring
Account AbstractionERC-4337 UserOps, bundler, ERC-7579 smart accounts
Data & IndexingBlockchain crawling, storage, explorer, token services
MUD FrameworkAutonomous worlds, table indexing, store queries
Wallet & UIBlazor, MAUI, Unity, MetaMask, WalletConnect, EIP-6963

Community