modular-accounts

Install and manage ERC-7579 validators, executors, hooks, and session keys on smart accounts in .NET.

2.3k|744|Updated Nov 23, 2015
One-click install
npx skills add https://github.com/Nethereum/Nethereum --skill modular-accounts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: modular-accounts
Source: https://github.com/Nethereum/Nethereum/tree/main/plugins/nethereum-skills/skills/modular-accounts
Command: npx skills add https://github.com/Nethereum/Nethereum --skill modular-accounts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires Nethereum.Web3, Nethereum.AccountAbstraction.

What problem does it solve?

Configuring ERC-7579 modular smart accounts in .NET requires assembling module init data, choosing correct module types, and avoiding misconfigurations like invalid thresholds or removed last validators, which is error-prone without guidance.

Core Features & Use Cases

  • Validator Installation: Configure ECDSA single-signer, OwnableValidator multisig, and social recovery guardians with thresholds using Nethereum.AccountAbstraction.
  • Executors and Session Keys: Install OwnableExecutor delegates and SmartSession session keys with scoped permissions, ERC-20 spending limits, and paymaster policies.
  • Module Lifecycle Management: Check installation status, uninstall modules, and bake modules into account creation via SmartAccountBuilder.
  • Use Case: A user wants a 2-of-3 multisig smart wallet with social recovery guardians and a session key limited to ERC-20 transfers; this Skill provides the exact C# configuration code for each module.

Quick Start

Ask the assistant to install a 2-of-3 OwnableValidator multisig on your ERC-7579 smart account using Nethereum in C#.

Frequently Asked Questions about modular-accounts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I install a multisig validator on an ERC-7579 smart account in C#?

Use OwnableValidatorConfig.Create with the validator address, threshold, and owner addresses, then call InstallModuleAndWaitForReceiptAsync on the account service. A shortcut method InstallOwnableValidatorAndWaitForReceiptAsync is also available in Nethereum.AccountAbstraction.

How to create session keys with scoped permissions using Nethereum?

Use SmartSessionConfig.Create with the session module address, validator address, and salt, then chain methods like WithERC20TransferAction, WithUserOpPolicy, and WithPaymasterPermission. Install the resulting config as a module on the smart account.

What NuGet packages are needed for ERC-7579 modular accounts in .NET?

You need Nethereum.Web3 and Nethereum.AccountAbstraction. The ERC-7579 module types and configuration classes live in the Nethereum.AccountAbstraction.ERC7579 and Nethereum.AccountAbstraction.ERC7579.Modules namespaces.

What are the ERC-7579 module types and their purposes?

ERC-7579 defines four module types: Validator (type 1) controls who authorizes operations, Executor (type 2) defines allowed actions, Fallback (type 3) handles unrecognized calls, and Hook (type 4) intercepts calls before or after execution.

Why does my modular smart account stop working after module changes?

Common causes include installing a module under the wrong type, setting a threshold higher than the owner count, or removing the last validator so no one can authorize operations. Verify module type constants and keep at least one validator installed.