Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Guides

Setting Up a Multi-Sig Treasury for Fundraising Proceeds

A practical developer tutorial for deploying and configuring a multi-signature wallet to securely hold and manage capital from an NFT or token sale.
Chainscore © 2026
introduction
INTRODUCTION

Setting Up a Multi-Signature Treasury for Fundraising Proceeds

A secure treasury is the foundation for managing capital raised from token sales, grants, or community funding. This guide explains how to implement a multi-signature wallet as your primary treasury.

A multi-signature (multi-sig) wallet is a smart contract that requires multiple private keys to authorize a transaction, such as transferring funds or upgrading a contract. For a project treasury, this distributes control and establishes a trust-minimized governance model. No single individual can unilaterally access the funds, which is a critical security and operational requirement for handling significant capital. Popular multi-sig implementations include Safe (formerly Gnosis Safe) and the OpenZeppelin Governor contract, which can be configured with custom signing thresholds.

The core decision when setting up a multi-sig is defining the signer set and approval threshold. A common configuration for a DAO or core team is a 3-of-5 setup: five trusted signers (e.g., project leads, community representatives) are designated, and any three must approve a transaction for it to execute. This balances security against the risk of a signer becoming unavailable. The threshold should be high enough to prevent collusion but low enough to ensure operational resilience. These parameters are immutable once the contract is deployed, so careful planning is essential.

Deploying a multi-sig involves several technical steps. First, choose an EVM-compatible network like Ethereum Mainnet, Arbitrum, or Optimism where your funds will reside. Using the Safe{Wallet} interface at app.safe.global, you can deploy a new Safe by connecting the signers' wallets, defining the threshold, and paying the network gas fee. The process creates a new smart contract address—this becomes your official treasury address. All fundraising proceeds should be sent directly to this contract, not to an individual's wallet.

Once deployed, treasury management involves creating and confirming transactions through the multi-sig interface. To send funds, an initiator (one of the signers) proposes a transaction with details like recipient address, amount of ETH or ERC-20 tokens, and a descriptive note. The other signers are notified and must connect their wallets to review and sign the proposal. Only after the required number of signatures is collected can any signer execute the batch, finalizing the on-chain transfer. This workflow creates a transparent, auditable log of all treasury actions.

Integrating the multi-sig with your project's broader infrastructure is a key next step. The treasury address should be the owner or admin of other critical smart contracts, such as your project's token contract, staking pool, or vesting schedule. This ensures that privileged functions—like minting tokens or pausing a contract—also require multi-party consent. Furthermore, you should document the signer identities (using ENS names or a public roster) and establish clear off-chain governance procedures for when and how to propose transactions, ensuring operational clarity for all stakeholders.

prerequisites
PREREQUISITES

Setting Up a Multi-Sig Treasury for Fundraising Proceeds

Before deploying a multi-signature wallet to secure your project's funds, you need to establish the foundational components and understand the key decisions involved.

A multi-signature (multi-sig) wallet requires multiple private keys to authorize a transaction, significantly enhancing security over a single-key wallet. For a fundraising treasury, this creates a trust-minimized structure where no single individual can unilaterally access funds. You must first decide on the signature threshold, such as 2-of-3 or 3-of-5, which defines how many signers are required to execute a transaction. This choice balances security against operational agility. Popular on-chain solutions include Gnosis Safe (now Safe) on Ethereum and its L2s, and Squads on Solana.

You will need to designate the signer addresses for your multi-sig. These should be controlled by trusted, independent parties, such as core team members, advisors, or community representatives. Each signer must have a funded wallet on the target network to pay for their share of the gas fees required to submit approvals. It is critical that signers use secure, non-custodial wallets like MetaMask, Phantom, or hardware wallets. The public addresses of these wallets are immutable once the multi-sig is deployed.

Selecting the correct blockchain network is a strategic decision. Consider where your fundraising occurred (e.g., ETH on Ethereum, SOL on Solana) and where you intend to deploy capital. For Ethereum-based funds, deploying the multi-sig on an L2 like Arbitrum or Optimism can drastically reduce future transaction costs. Ensure all signers have their wallets configured for this network. You will also need a small amount of the native token (e.g., ETH, MATIC, SOL) in a deployer wallet to pay the one-time creation fee for the multi-sig contract.

Finally, establish clear internal governance procedures before deployment. Document the process for proposing transactions, how signers communicate approvals, and the protocol for adding or removing signers if a key is compromised. Tools like Safe's transaction builder and dedicated Discord/Telegram groups for signers are common. This preparatory work ensures the multi-sig operates smoothly as a secure, decentralized custodian for your project's treasury from day one.

key-concepts-text
KEY CONCEPTS

Setting Up a Multi-Signature Treasury for Fundraising Proceeds

A multi-signature (multi-sig) wallet is a secure vault requiring multiple approvals for transactions, making it the standard for managing significant funds like fundraising proceeds. This guide explains how to set one up effectively.

A multi-signature wallet is a smart contract that requires a predefined number of signatures (e.g., 2-of-3) to execute a transaction. For a project treasury holding funds from a token sale or NFT mint, this mitigates single points of failure like a compromised private key. Popular solutions include Gnosis Safe (now Safe{Wallet}) on Ethereum and its L2s, and Squads on Solana. These are not simple EOAs but audited, non-upgradeable contracts that provide a user interface for managing signers, transaction queues, and asset visibility.

The first step is determining the signer configuration. A common setup for a 5-person core team is a 3-of-5 multi-sig, meaning any three signers must approve a transaction. Signers should be held by distinct individuals using hardware wallets for maximum security. Consider including a trusted, non-team community member as a signer for decentralization. The configuration is set during deployment and can only be changed via a new multi-sig transaction, ensuring no single signer can alter the rules unilaterally.

Deployment varies by platform. For a Gnosis Safe on Ethereum mainnet, you would connect to app.safe.global, create a new Safe, and define the signers and threshold. You'll pay a one-time gas fee for contract deployment. On L2s like Arbitrum or Optimism, fees are significantly lower. The process creates a unique contract address for your treasury. All subsequent actions—sending ETH, approving token transfers, interacting with DeFi protocols—must be proposed by one signer and confirmed by the others.

For managing fundraising proceeds like ETH or stablecoins, integrate the treasury with your operational workflow. Use the multi-sig's transaction queue to propose regular budget payouts to operational wallets. For investing in yield protocols, proposals should include the exact contract call data. Most multi-sig interfaces allow adding human-readable descriptions to each transaction for accountability. It's critical to maintain an off-chain record of the rationale for each treasury transaction, creating a transparent audit trail for token holders.

Security best practices are paramount. Never use a multi-sig signer key for any other purpose. Regularly verify the recipient address and calldata in pending transactions. Consider setting a spending limit for the connected operational wallets. For extremely large treasuries, use a time-lock feature (available in some multi-sigs) to delay execution of approved transactions, providing a final safety window. Remember, the multi-sig secures the assets, but the signers must secure their own keys and follow rigorous operational procedures.

KEY CONSIDERATIONS

Multi-Signature Platform Comparison

A comparison of popular multi-signature wallet platforms for managing fundraising proceeds, focusing on security, cost, and developer experience.

Feature / MetricSafe (formerly Gnosis Safe)ArgentBraavos

Deployment Network

Ethereum, Polygon, Arbitrum, 15+ L2s

Starknet, Ethereum

Starknet

Account Abstraction

Via Safe{Core} SDK & modules

Native

Native

Social Recovery

Transaction Gas Sponsorship

Via Relay Service (paid)

Via Argent Paymaster (free for users)

Via Braavos Paymaster (free for users)

Setup & Transaction Fees

~$50-200+ (network gas)

~$0 (sponsored)

~$0 (sponsored)

Required Signer Devices

Any EOA (Metamask, Ledger, etc.)

Guardian model + Argent app

Braavos app + signers

Open Source Audit Status

Extensively audited

Audited

Audited

Daily Withdrawal Limit Config

step-1-deploy-safe
MULTI-SIG SETUP

Step 1: Deploy a Safe Wallet via the Web Interface

This guide walks through deploying a Safe smart contract wallet to serve as the secure, multi-signature treasury for your project's fundraising proceeds.

A Safe (formerly Gnosis Safe) is a smart contract wallet that requires a predefined number of owners to confirm a transaction before it can be executed. This multi-signature (multi-sig) security model is the industry standard for managing significant assets like fundraising capital, as it eliminates single points of failure. For a project treasury, you might configure it so that 2 out of 3 designated team members must approve any withdrawal, ensuring collective oversight and reducing the risk of theft or error.

To begin, navigate to the official Safe web app. You will be prompted to connect a wallet, such as MetaMask. Use an existing externally owned account (EOA) that you control; this will be the first signer/owner of the new Safe and will pay the initial deployment gas fee. The Safe contract itself will be deployed on the blockchain network you select (e.g., Ethereum Mainnet, Arbitrum, Optimism). The cost is a one-time network fee and varies based on current gas prices.

Once connected, click "Create new Safe". You will be guided through a three-step process. First, name your Safe (e.g., "ProjectXYZ Treasury"). Second, define the list of owners. Add the Ethereum addresses of all individuals or entities who should have signing authority. You can add more later. Third, set the confirmation threshold. This is the minimum number of owner signatures required to execute a transaction. A common starting configuration for a 3-owner treasury is a threshold of 2.

Before final deployment, the interface will present a final review screen summarizing the Safe name, owner addresses, and threshold. Carefully verify all details. You will then submit a transaction from your connected EOA to deploy the Safe contract. After the transaction is confirmed on-chain, your new Safe address will be generated. This address is your treasury address and should be used to receive funds from your fundraising round.

It is critical to store your new Safe address securely and share it with co-owners. The deployment transaction only creates the wallet; you must now fund it. Send a small test amount (e.g., 0.001 ETH) to the Safe address from one of the owner accounts. Then, within the Safe web app, propose a transaction to send that amount back out, requiring the set threshold of confirmations. This end-to-end test verifies that the setup works correctly before you deposit substantial fundraising proceeds.

step-2-programmatic-deployment
TREASURY SETUP

Step 2: Programmatic Deployment with Safe SDK

This guide explains how to deploy a Safe multi-signature wallet programmatically using the Safe SDK, enabling you to automate the creation of a secure treasury for managing fundraising proceeds.

After defining your governance model, the next step is to create the treasury wallet itself. While you can deploy a Safe through the official web interface, a programmatic deployment using the Safe SDK is essential for automation, integration into your project's infrastructure, and ensuring a reproducible setup. The SDK provides a TypeScript/JavaScript library that interacts directly with the Safe smart contracts on your chosen network, such as Ethereum Mainnet, Arbitrum, or Polygon.

To begin, install the required packages in your project: @safe-global/safe-core-sdk and an Ethereum provider library like ethers. You will need the addresses of the Safe proxy factory and singleton contracts for your network, which are publicly documented. The core deployment flow involves three steps: initializing the SDK with a signer, configuring the Safe (setting threshold and owner addresses), and finally deploying the contract. The owners are the public addresses of the keyholders you identified in Step 1.

Here is a simplified code example for deploying a 2-of-3 Safe on Goerli testnet:

javascript
import { EthersAdapter, SafeFactory } from '@safe-global/safe-core-sdk';
import { ethers } from 'ethers';

const provider = new ethers.providers.JsonRpcProvider(RPC_URL);
const signer = new ethers.Wallet(PRIVATE_KEY, provider);
const ethAdapter = new EthersAdapter({ ethers, signerOrProvider: signer });

const safeFactory = await SafeFactory.create({ ethAdapter });
const safeAccountConfig = {
  owners: [
    '0x123...',
    '0x456...',
    '0x789...'
  ],
  threshold: 2, // Requires 2 out of 3 confirmations
};
const safeSdk = await safeFactory.deploySafe({ safeAccountConfig });
const safeAddress = safeSdk.getAddress();
console.log('Safe deployed at:', safeAddress);

This script outputs the newly created Safe's address, which becomes your official treasury.

Programmatic deployment ensures your setup is version-controlled and auditable. You can integrate this step into a CI/CD pipeline or a one-time setup script. After deployment, fund the Safe address with the raised capital. All subsequent transactions—whether distributing funds to vendors, transferring tokens to a vesting contract, or making investments—will require the predefined number of owner signatures, enforcing the governance rules from day one. The SDK also facilitates creating and executing those transactions later.

step-3-fund-and-verify
SECURING THE TREASURY

Step 3: Fund the Safe and Verify on Etherscan

After deploying your Safe, the next critical steps are funding it with the raised capital and verifying its on-chain presence for transparency.

With your Safe deployed, you must now transfer the fundraising proceeds to its address. This is typically done by executing a simple transfer transaction from the wallet holding the funds (e.g., the deployer's EOA or a temporary hot wallet) to the Safe's public address. For significant amounts, consider sending a small test transaction first. Use the Safe's interface to confirm the deposit by checking the asset balance on the Assets tab. The Safe now acts as the secure, multi-signature custodian for all project capital.

To establish public trust and transparency, verify your Safe's contract on a block explorer like Etherscan. Navigate to your Safe's address on Etherscan and click the Contract tab, then Verify and Publish. You will need the Safe's factory contract address and the exact deployment parameters used in Step 2. This process decodes the contract's bytecode, making the Safe's configuration—including the owner addresses and threshold—publicly readable. Verification is a best practice that allows donors and partners to independently audit the treasury's security setup.

Post-verification, Etherscan will display the Read Contract and Write Contract interfaces. The Read Contract section is particularly useful, as it allows anyone to query the getOwners() and getThreshold() functions to confirm the signer set and the required approvals for transactions. This public verification step is a key component of E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness), demonstrating your project's commitment to operational security and on-chain accountability to your community and stakeholders.

step-4-governance-procedures
TREASURY MANAGEMENT

Step 4: Establish Governance and Transaction Procedures

After a successful fundraising round, securing and managing the capital is critical. This step details how to implement a multi-signature wallet as your project's treasury, defining the governance rules and transaction procedures for fund allocation.

A multi-signature (multi-sig) wallet is a non-custodial smart contract that requires approval from a predefined number of signers to execute a transaction. For a project treasury, this replaces a single point of failure with a transparent, collaborative governance layer. Popular on-chain solutions include Safe (formerly Gnosis Safe) on Ethereum and its L2s, and Squads on Solana. Setting up a multi-sig ensures that no single team member can unilaterally move funds, providing security for both the project and its contributors.

The first decision is determining the signer composition and threshold. A common structure for a core team is a 3-of-5 setup, where three approvals from five designated signers are required. Signers should include key technical leads, community representatives, and potentially an external advisor. The threshold must balance security (preventing rogue actions) with operational efficiency (avoiding transaction paralysis). This configuration is set during the wallet deployment and can often be modified later via a governance proposal.

Once deployed, you must fund the wallet and establish clear Standard Operating Procedures (SOPs). Document the types of transactions the treasury will handle: payroll, vendor payments, exchange listings, grant distributions, and liquidity provisioning. For each type, define the required supporting documentation (e.g., invoice, grant proposal, quote) and the internal approval process before a transaction is created in the multi-sig interface. This creates an audit trail and ensures disciplined financial management.

Executing a transaction involves a specific workflow. An authorized signer creates a transaction in the Safe or Squads app, specifying the recipient, amount, and calldata for smart contract interactions. This creates a pending transaction that other signers can review. Each subsequent signer must connect their wallet and sign the transaction. Only after the pre-set threshold (e.g., 3 signatures) is met can any signer finally execute the transaction, broadcasting it to the network and moving the funds.

For ongoing governance, integrate your multi-sig with a snapshot or similar off-chain voting platform. This allows your token holders or a broader community to vote on major treasury allocations (e.g., a large grant or investment). The multi-sig signers then become the executors of the community's will, creating the on-chain transaction only after a proposal passes. This hybrid model combines efficient day-to-day operations with democratic oversight for significant decisions, aligning long-term incentives.

step-5-execute-transaction
MULTISIG OPERATIONS

Step 5: Propose and Execute a Transaction

Learn how to use the multi-signature wallet to securely manage and disburse funds raised for your project.

After your fundraising round concludes and funds are secured in the multi-sig treasury, the next critical phase is governance: proposing and executing transactions to allocate capital. This process is intentionally permissioned, requiring a predefined number of signatures from designated signers to authorize any movement of funds. A typical transaction proposal might allocate funds to development teams, pay for infrastructure like AWS credits or RPC services, or distribute tokens to early contributors. Each proposal must include the recipient address, the exact amount of ETH or ERC-20 tokens to send, and a clear description of its purpose for transparency.

Creating a proposal is done directly through the wallet's interface, such as Safe{Wallet}. You'll specify the destination address, the asset (e.g., 50 ETH, 100,000 USDC), and add a descriptive label like "Q3 Development Grant - Frontend Team." The proposal is then submitted to the wallet, where it becomes a pending transaction visible to all signers. At this stage, no funds have moved. Signers can review the proposal details, discuss it on your project's governance forum or Discord, and then individually sign the transaction using their connected wallets. Most multi-sig interfaces show a real-time counter of approvals (e.g., 2 of 4 signatures).

Once the required threshold of signatures is met (e.g., 3 out of 5 signers), any signer can execute the final transaction, broadcasting it to the network. The execution pays the gas fee and moves the funds from the multi-sig's smart contract to the designated recipient. It is a best practice for the executor to use a transaction simulation tool like Tenderly or Safe's built-in simulator beforehand to preview the outcome. After execution, the transaction is recorded on-chain, providing a permanent, verifiable audit trail. This entire workflow ensures that no single individual has unilateral control over the treasury, aligning fund management with the project's collective governance.

MULTI-SIG TREASURY SETUP

Frequently Asked Questions

Common technical questions and troubleshooting steps for developers setting up a secure multi-signature treasury to manage fundraising proceeds.

A multi-signature (multi-sig) treasury is a smart contract wallet that requires multiple private keys to authorize a transaction. For fundraising proceeds, it's a non-negotiable security standard. Instead of a single point of failure (a founder's private key), it enforces M-of-N approval, where a predefined number of signers (M) from a total group (N) must consent. This mitigates risks like:

  • Internal threats: Prevents unilateral access to funds by any individual.
  • External threats: Makes stolen or compromised keys insufficient for draining funds.
  • Governance: Embodies transparent, collective decision-making for fund allocation.

Platforms like Safe (formerly Gnosis Safe) on Ethereum, Arbitrum, and Polygon are industry standards, offering audited contracts and user-friendly interfaces for managing these shared assets.

conclusion
IMPLEMENTATION

Conclusion and Next Steps

You have now configured a secure multi-signature treasury to manage your project's fundraising proceeds. This guide covered the critical steps from selecting a platform to executing the first transaction.

Your multi-sig treasury is now a foundational component of your project's governance and financial security. The configuration you've implemented—choosing signers, setting the threshold, and funding the wallet—establishes a transparent and accountable framework for managing capital. This structure is essential for building trust with contributors and stakeholders, as it ensures no single individual has unilateral control over the funds. The next phase involves operationalizing this setup for day-to-day use.

To effectively manage the treasury, establish clear internal procedures. Document the process for creating, reviewing, and approving transactions. Define roles for proposers and signers, and consider using a tool like Safe{Wallet}'s transaction builder or Gnosis Safe's delegate features for streamlined operations. For on-chain activities, integrate your treasury address into your project's front-end or documentation to enhance transparency. Regularly scheduled reviews of the wallet's activity and signer performance are also recommended.

Consider advanced configurations to increase functionality and security. Explore integrating Safe{Wallet} Modules for features like spending limits, automated payments, or role-based access. For DAOs, connect your multi-sig to a governance framework like Snapshot for off-chain voting or Tally for on-chain execution. It is also prudent to prepare a social recovery or signer replacement plan in case a keyholder loses access. Always test major procedural changes on a testnet before implementing them on mainnet.

The security of your treasury is an ongoing process. Stay informed about updates from your chosen multi-sig provider and the broader Ethereum ecosystem. Monitor for new best practices regarding signer key management, such as using hardware wallets or MPC (Multi-Party Computation) solutions. Regularly verify that all signers' signing devices are secure and up-to-date. Remember, the strength of a multi-sig lies not just in its technology, but in the operational diligence of its human operators.

For further learning, explore the official documentation for Safe{Wallet} or Zodiac for DAO tooling. Engage with developer communities on forums like the Ethereum Magicians or Safe{Wallet} Discord to discuss complex use cases. Your secure treasury is now ready to safeguard your project's future, enabling you to focus on building and growing with confidence.

How to Set Up a Multi-Sig Treasury for Fundraising Proceeds | ChainScore Guides