Tutorial: How to Create a Monero Multisig Wallet | DNM Links
DNM Links
Home PGP Tool

Setting Up a Monero Multisig Wallet

Learn how to create a secure shared account (e.g., 2-of-3) using the new GUI tool or the traditional CLI method.

What is Multisig?

A Multisignature (Multisig) wallet requires more than one person (or device) to sign a transaction before funds can be moved.

This guide covers setting up a 2-of-3 scheme (3 participants, 2 signatures required). You can choose between the easy GUI method (recommended for most users) or the advanced CLI method.

Understanding Stagenet vs. Mainnet

Stagenet (Testing)

Stagenet behaves exactly like the real Monero network but uses worthless "test coins". It is designed for practice. We highly recommend you start here to learn the process without risking money.

Mainnet (Real Money)

Mainnet is the live Monero blockchain carrying real value. Once you are comfortable with the steps on Stagenet, you repeat the exact same process on Mainnet to secure your actual funds.

Important Prerequisites

  • All participants must be on the same network (all Stagenet OR all Mainnet).
  • All participants must communicate over a secure channel (e.g., Signal or Session) to exchange keys.
  • Do not use a wallet that already contains funds to create the multisig; always start with fresh wallets.
RECOMMENDED

Option A: Using Monero Multisig GUI

A community-developed tool called Monero Multisig GUI simplifies the complex coordination process. It provides a visual interface for generating wallets and managing transfers.

1. Install the Application

Download the tool from the official GitHub repository. Choose the version matching your OS.

Linux Users

Download the AppImage, make it executable, and run it:

chmod +x Monero_Multisig_GUI-*.AppImage
./Monero_Multisig_GUI-*.AppImage

Windows Users

Download the Zip file from the Release page, extract it, and run:

appmonero-multisig-gui.exe
Download from GitHub

2. Create & Coordinate

  1. Open the app and select "Create Multisig Wallet".
  2. Network Selection: Look for the network toggle. Ensure it is set to Stagenet for practice, or Mainnet for real funds.
  3. Define your scheme (e.g., 2 signers out of 3 participants).
  4. The app will generate a "Transport Address" or exchange string.
  5. Copy & Paste: Unlike the CLI, this tool often simplifies the rounds of exchange. Follow the on-screen prompts to paste the data strings received from your peers.

3. Making Transfers

The GUI handles the complex "Import/Export" logic automatically behind the scenes.

  • Go to the "Transfers" tab.
  • Create a proposal (enter address and amount).
  • The app generates a partially signed transaction file.
  • Send this file to a co-signer. They open it in their GUI, review the details, and click "Sign".

Option B: Using Monero CLI (Advanced)

Choose Your Network

When launching the wallet CLI, you determine the network via a flag:

For Stagenet (Practice) ./monero-wallet-cli --stagenet
For Mainnet (Real Money) ./monero-wallet-cli (No flag needed, mainnet is default)

1 Step 1: Create and Prepare Wallets

Each participant creates a new wallet. Inside the wallet, run these commands:

# Enable multisig feature

set enable-multisig-experimental 1

# Generate initialization data

prepare_multisig

Copy the output string (starts with MultisigxV2...) and send it securely to the other participants.

2 Step 2: Make the Multisig Wallet

Combine the strings received from your peers. For a 2-of-3 setup, the threshold is 2.

make_multisig 2 <data1> <data2>

The CLI gives you a new data string. Share this new string with the other participants again.

3 Step 3: Exchange Keys (Finalize)

Because this is 2-of-3 (N-1/N), an extra round is needed. Take the strings from Step 2:

exchange_multisig_keys <data1> <data2>

If successful, you will see: Multisig wallet has been successfully created.

How to Spend (CLI)

1. Sync Key Images

Co-signer runs:

export_multisig_info key_file_name

Spender runs:

import_multisig_info key_file_name

2. Create & Sign Transaction

Spender creates unsigned file:

transfer <address> <amount>

Co-signer signs file:

sign_multisig multisig_monero_tx

3. Submit to Network

submit_multisig multisig_monero_tx

Troubleshooting

Error: "Multisig info import failed" (CLI)

This usually happens if you try to import info from a wallet that hasn't been refreshed (synced) recently. Ensure all participants run the refresh command in their CLI before exporting their multisig info.

GUI App Crashes or Won't Open (Linux)

If the AppImage fails to launch, you might be missing FUSE support or Wayland plugins. Try running it with this platform flag: ./Monero_Multisig_GUI-*.AppImage --platform xcb

"Double Spend" or Rejected Transaction

This often occurs if too much time passes between syncing key images and submitting the transaction. If a transaction fails, restart the process from the "Sync Key Images" step (CLI) or create a fresh proposal (GUI) to ensure all data is current.

Wrong Threshold Input

If you accidentally typed make_multisig 3 instead of 2 in a 2-of-3 setup, the wallet generation will fail or create an unusable wallet. There is no "undo." You must delete the wallet files and start over with fresh seeds.

Conclusion

You have now established a highly secure shared account setup. The CLI offers granular control, while the GUI makes the complex rounds of data exchange much easier to visualize. Remember to always practice on Stagenet first!

Back to Tutorials