gnosis-safe

Execute multi-signature transactions through Gnosis Safe wallets using Nethereum in .NET and C#.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires Nethereum.GnosisSafe.

What problem does it solve?

Executing transactions through a Gnosis Safe multi-signature wallet requires handling EIP-712 signing, signature ordering, nonce management, and Safe-specific transaction encoding, which is complex to implement manually in .NET applications.

Core Features & Use Cases

  • SafeAccount Integration: Create a SafeAccount so every contract service automatically routes transactions through the Safe with transparent execution.
  • Manual Transaction Building: Build Safe execTransaction calls with EIP-712 signatures, collect signatures from multiple owners off-chain, and combine them in the required signer-address order.
  • MultiSend Batching: Batch multiple contract calls into a single Safe transaction using typed MultiSendFunctionInput wrappers.
  • Use Case: A treasury team needs two-of-three owner approval to move ERC-20 tokens. Use this Skill to build the Safe transaction, collect signatures from each owner separately, combine them in order, and execute the transfer on-chain.

Quick Start

Use the gnosis-safe skill to execute an ERC-20 token transfer through my Gnosis Safe multi-sig wallet using Nethereum in C#.

Frequently Asked Questions about gnosis-safe

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

FAQPage Schema
How do I execute a transaction through a Gnosis Safe in C#?

Create a SafeAccount with the Safe address, chain ID, and private key, then build a Web3 instance from it. Every contract service created from that Web3 automatically routes calls through the Safe's execTransaction with EIP-712 signing.

How to collect Gnosis Safe signatures from multiple owners?

Compute the Safe transaction hash with GetSafeHashes, have each owner sign independently with SignEncodedTransactionDataAsync, then combine signatures using GetCombinedSignaturesInOrder, which sorts them by signer address as Safe requires.

Does Nethereum Gnosis Safe support batching multiple transactions?

Yes, MultiSend batching is supported via MultiSendFunctionInput<T> and BuildMultiSendTransactionAsync. The method sets Operation to DelegateCall, which the MultiSend contract requires, and encodes each call automatically.

What is the difference between SafeAccount and ChangeContractHandlerToSafeExecTransaction?

SafeAccount routes all contract services from that Web3 instance through the Safe. ChangeContractHandlerToSafeExecTransaction switches only one specific contract service to Safe execution while others execute directly.

Why does my Gnosis Safe signature fail validation?

Safe uses a custom V format offset by 4 from standard Ethereum signatures. Pass convertToSafeVFormat: true when signing, and ensure combined signatures are ordered by signer address in ascending order.