Skip to content
@Nethereum

Nethereum

Ethereum .Net cross platform integration framework. For technical support, chat and collaboration come to Discord: https://discord.gg/u3Ej2BReNn

Nethereum

Nethereum is the Ethereum .Net integration platform, the aim is to provide solutions to develop any type of dapp (web, mobile, desktop), backend integration or gaming and VR using platforms like Unity3d.

Nethereum core

The main Nethereum Solution and projects: Source and more Info: https://.com/Nethereum/Nethereum

Main Libraries

Project SourceNuget_PackageDescription
Nethereum.Web3NuGet versionEthereum Web3 Class Library to simplify the interaction with Ethereum (RPC, Contracts, Signing, etc)
Nethereum.UnityUnity3d integration, libraries can be found in the Nethereum releases

Core Libraries

Project SourceNuget_PackageDescription
Nethereum.ABINuGet versionEncoding and decoding of ABI Types, functions, events of Ethereum contracts
Nethereum.HexNuGet versionHexTypes for encoding and decoding String, BigInteger and different Hex helper functions
Nethereum.RPCNuGet versionCore RPC Class Library to interact via RCP with an Ethereum client
Nethereum.ContractsNuGet versionCore library to interact via RPC with Smart contracts in Ethereum including presets for ERC20, ERC1155, ENS, ProofOfHumanity, MultiCall, etc
Nethereum.JsonRpc.RpcClientNuGet versionJsonRpc Rpc Client using Http
Nethereum JsonRpc IpcClientNuGet versionJsonRpc IpcClient provider for Windows, Linux and Unix
Nethereum.JsonRpc.WebSocketClientNuGet versionJsonRpc WebsocketClient provider for Windows, Linux and Unix
Nethereum.RLPNuGet versionRLP encoding and decoding
Nethereum.KeyStoreNuGet versionKeystore generation, encryption and decryption for Ethereum key files using the Web3 Secret Storage definition, https://.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition
Nethereum.SignerNuGet versionNethereum signer library to sign and verify messages, RLP and transactions using an Ethereum account private key
Nethereum.HDWalletNuGet versionGenerates an HD tree of Ethereum compatible addresses from a randomly generated seed phrase (using BIP32 and BIP39)
Nethereum.Metamask.BlazorNuGet versionMetamask / Blazor integration
Nethereum.BlockchainProcessingNuGet versionNethereum Blockchain crawler and log processing
Nethereum.GnosisSafeNuGet versionNethereum GnosisSafe integration
Nethereum.ENSNuGet versionNethereum ENS extended integration
Nethereum.ENSNuGet versionNethereum ENS extended integration
Nethereum.Signer.EIP712NuGet versionNethereum EIP712
Nethereum.SiweNuGet versionNethereum SIWE

And others, check the source here: https://.com/Nethereum/Nethereum/tree/master/src or Nugets https://www.nuget.org/profiles/nethereum

Node / Client extension Libraries

Project SourceNuGet PackageDescription
Nethereum.GethNuGet versionExtended Web3 library for Geth, including non-generic RPC API methods for Admin, Debug, Miner, etc.
Nethereum.QuorumNuGet versionExtension for Quorum, JP Morgan's permissioned Ethereum supporting private transactions.
Nethereum.BesuNuGet versionExtended Web3 library for Besu with non-generic RPC methods for interacting with Hyperledger Besu.
Nethereum.OptimismNuGet versionNethereum integration for Optimism Layer 2 Ethereum scaling.

Nethereum Playground. Try Nethereum now in your browser.

The Nethereum playground http://playground.nethereum.com provides a simple IDE with many examples and first point of documentation on common tasks using Nethereum. Some of the examples included: Chain interation, Ether transfer, Transaction Signing, 1559 Fees, Interaction with Smart contracts and events, Smart contracts structs, Log and Blockchain Processing, Gnosis Safe, ENS, ERC20 and ERC721 presets, Hd Wallets, L2 Optimism, EIP712 Sign and recover a typed message, Abi Encoding, Key Store, Quorum, and many more...

Nethereum Playground

Do you need support, want to have a chat, or want to help?

Please join the Discord server using this link: https://discord.gg/u3Ej2BReNn We should be able to answer there any simple queries, general comments or requests, everyone is welcome. If you want to help or have any ideas for a pull request just come and chat.

Documentation

The documentation and guides can be found at Read the docs.

Examples and Templates

The simplest way to get started, is to use one of the provided examples or templates

Nethereum.Templates.Pack

The nethereum templates pack includes templates to work and create smart contract libraries, standalone or using a contract framewowrk like Open Zeppelin. It also includes Blazor wasm and server project templates that integrate with Metamask or Siwe (Sign with Ethereum)

Installation

Nuget: https://www.nuget.org/packages/Nethereum.Templates.Pack/

dotnet new -i Nethereum.Templates.Pack

Templates included

Template Name                                                  Short Name           Language  Tags
-------------------------------------------------------------  -------------------  --------  -----------------------------------------------------
Nethereum Default Smart contract Library / XUnit ERC20 sample  smartcontract        [C#]      Nethereum/Smart contracts
Nethereum ERC721, ERC1155 Open Zeppelin and  XUnit Projects    nethereum-erc721-oz  [C#]      Nethereum/Smart contracts/OpenZeppelin/ERC721/ERC1155
Nethereum Blazor Metamask Wasm-Server Projects                 nethereum-mm-blazor  [C#]      Nethereum/Blazor/Metamask
Nethereum Blazor SIWE Wasm/Server/RestApi Projects             nethereum-siwe       [C#]      Nethereum/SIWE/Blazor/Metamas/RestApi
Nethereum WebSocket  Examples                         nethereum-ws-stream  [C#]      Nethereum/WebSocket

Nethereum Default Smart contract Library / XUnit ERC20 sample

Source and more info: https://.com/Nethereum/Nethereum.Templates.SmartContractDefault

Template to create a smart contract library development solution including:

  • Smart contract example (ERC20)
  • Auto code generation settings for vscode
  • XUnit testing and testchains setup for Geth, Ganache, CustomUrl, etc
  • Examples of integration testing the smart contract ERC20 (Token transfer, balance, deployment, Events and Log Processing)
  • Examples of integration testing Ether transfers

quickdemotemplate

Nethereum ERC721, ERC1155 Open Zeppelin and XUnit Projects

Source and more info: https://.com/Nethereum/Nethereum.Templates.SmartContracts.OZ-Erc721-Erc1155

Template to get started creating ERC721 NFTs - ERC1155 and DAO Governor using OpenZeppelin For more information:

156877329-9f799c56-a4e4-4314-9169-489370c73e73Shop1155-hd

Nethereum Blazor Metamask Wasm-Server Projects

Source and more info: https://.com/Nethereum/Nethereum.Templates.Metamask.Blazor

This projects provides the quick start example/template on how to integrate Metamask + Nethereum using Blazor interop. The project allows you to work both in Wasm and Server side, so you can create a fully decentralised application using Wasm or semi-decentralised using server hosted components (Web3+Web2).

Both project types include and example on how to:

  • Configure Metamask as a UI host provider
  • Connect to Metamask
  • Interact with Ethereum using simple Web3 rpc calls (Blockhash and ChainId)
  • How to create a generic component for ERC20 token transfer including simple validation using FluentValidation
  • How to use the EthereumAuthenticationStateProvider and the claim role "EthereumConnected" with connected account
  • How to override the default styles of the Metmask component

quickdemo

Nethereum Blazor SIWE Wasm/Server/RestApi Projects

Source and more info: https://.com/Nethereum/Nethereum.Templates.Siwe

The Nethereum SIWE template provides an starting point of signing and authentication using Ethereum accounts and the standard SIWE message. The templates provides the following use cases, and how SIWE can be implemented using the Nethereum libraries.

  • Rest Api
  • Blazor Wasm + Rest Api
  • Blazor Server side (standalone)
  • Maui (Future template with Rest Api)
  • Avalonia (Future template with Rest Api)

demoAuthentication

Wallets and End to End examples

Blazor / Maui Hybrid Explorer wallet (Desktop, Mobile)

Source and more info: https://.com/Nethereum/Nethereum-Explorer-Wallet-Template-Blazor

Nethereum Explorer is a .Net Blazor Wasm SPA, Desktop Windows and Mac, Android and iOS light blockchain explorer and simple wallet Template.

You can try it here: https://explorer.nethereum.com

browserwasmandroid

Desktop wallet (Avalonia)

Source and more info: https://.com/Nethereum/Nethereum.UI.Desktop

Functional sample of a Reactive Cross platform desktop wallet connecting to Ethereum using Nethereum, Avalonia and ReactiveUI.

The aim of the starter kit is to provide a continous improving shell allowing to focus only on the developing the specific screens that provide the integration with smart contracts.

The main example for this is the Standard Token component which provides the desktop views and view models

simpleDemo

Unity 3D project

Unity package

Nethereum can be installed as a Unity Package using the following git repository: https://.com/Nethereum/Nethereum.Unity

Getting started (Unity3d Net472 / Netstandard Sample)

Source and more info: https://.com/Nethereum/Unity3dSampleTemplate

  • Output to the log the current BlockNumber using Unity.UI both in Async and coroutines
  • Ether transfer using Web3 and coroutines
  • Smart contract deployment (ERC20), Transactions (Transfer) and Querying (Balance)
  • Using 1559 Suggestion strategies or Legacy mode when tranfering Ether
  • Cross Platform architecture for both Coroutines and Task to enable the reuse of your code using different deployments Native /Desktop or Browser using Metamask)
  • Metamask connectivity in browser

Desktop demo

Unity3dDestopSample)

Browser demo

Unity3dBrowserSample)

Unity WebGl

Source: https://.com/Nethereum/Nethereum.Unity.Webgl

Example on how to integrate a WebGl unity project with Metamask, Deploy an ERC721 smartcontract (NFT) and interact with the smart contract minting a token and retrieving the asset (image) associated with it.

MMUnity2021 gif

Pinned Loading

  1. NethereumNethereumPublic

    Ethereum .Net cross platform integration library

    C# 2.2k 735

  2. Nethereum.BlockchainStorageNethereum.BlockchainStoragePublic

    Library for processing the storage of the Ethereum blockchain in Azure Table Storage

    C# 42 29

  3. Nethereum.UI.Wallet.SampleNethereum.UI.Wallet.SamplePublic

    Cross platform wallet example using Nethereum, Xamarin.Forms and MvvmCross

    C# 75 41

  4. Nethereum.Game.SampleNethereum.Game.SamplePublic

    Crossplatform game sample using Nethereum and UrhoSharp

    C# 25 21

  5. abi-code-genabi-code-genPublic

    Generic code generator from abi

    HTML 22 4

  6. Nethereum.WorkbooksNethereum.WorkbooksPublic archive

    Nethereum tutorials using workbooks

    C# 19 16

Repositories

Showing 10 of 89 repositories
  • Nethereum Public

    Ethereum .Net cross platform integration library

    Nethereum/Nethereum’s past year of commit activity
    C# 2,203 MIT 735 105 5 UpdatedMay 9, 2025
  • . Public
    Nethereum/.’s past year of commit activity
    1 2 3 1 UpdatedApr 21, 2025
  • nethereum.com Public

    Nethereum website

    Nethereum/nethereum.com’s past year of commit activity
    HTML 0 0 0 0 UpdatedApr 21, 2025
  • Nethereum/account-abstraction’s past year of commit activity
    TypeScript 0 GPL-3.0 723 0 0 UpdatedApr 4, 2025
  • Unity3dSampleTemplate Public

    Unity3d sample template to work with Nethereum

    Nethereum/Unity3dSampleTemplate’s past year of commit activity
    C# 87 MIT 45 14 6 UpdatedApr 1, 2025
  • Nethereum/WebGLThreadinger’s past year of commit activity
    C# 0 MIT 13 0 0 UpdatedApr 1, 2025
  • Nethereum.Uniswap-Example Public

    Uniswap V2, V3, V4 Universal Router, Permit2 get started to work with Nethereum

    Nethereum/Nethereum.Uniswap-Example’s past year of commit activity
    Solidity 33 Apache-2.0 14 9 1 UpdatedMar 17, 2025
  • Nethereum/nethereum..io’s past year of commit activity
    CSS 0 0 0 0 UpdatedFeb 13, 2025
  • nethereum.com.old Public archive

    The project website

    Nethereum/nethereum.com.old’s past year of commit activity
    HTML 0 1 0 0 UpdatedFeb 13, 2025
  • Nethereum.Unity Public

    Nethereum.Unity 472/Netstandard package

    Nethereum/Nethereum.Unity’s past year of commit activity
    JavaScript 7 MIT 5 0 0 UpdatedFeb 10, 2025