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.
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
2. Create & Coordinate
- Open the app and select "Create Multisig Wallet".
- Network Selection: Look for the network toggle. Ensure it is set to Stagenet for practice, or Mainnet for real funds.
- Define your scheme (e.g., 2 signers out of 3 participants).
- The app will generate a "Transport Address" or exchange string.
- 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:
./monero-wallet-cli --stagenet
./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.
Where to Spend XMR
The following verified markets exclusively accept Monero (XMR) to ensure maximum privacy for all transactions.
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