{{Title| title=How-to: Use Monero with Multisig }} {{Header}} {{#seo: |description=Multi signature better security. |image=Moneroheader.png }} [[File:Monero-symbol-1280.png|thumb|60px|128px|alt=Monero|link=Monero|Monero Logo]] = Introduction =
Multisig feature is only available via a command line wallet. You should be familiar with the CLI wallet before playing with multisig.
Credits: based on [https://web.archive.org/web/20230131013606/https://monerodocs.org/multisignature/ Multisignature instructions] by [https://web.archive.org/web/20240222090354/http://monerodocs.org/ monerodocs.org] and [https://monero.stackexchange.com/questions/5646/how-to-use-monero-multisignature-wallets-2-2-2-3 How to Use Monero Multisignature Wallets (2/2 & 2/3)] by [https://monero.stackexchange.com monero.stackexchange.com] user [https://monero.stackexchange.com/users/57/jollymort jollymort]. The following addresses and seed phrases on this wiki page are functional. Do NOT use them. Do NOT send funds there. {{stub}} = Warning = [https://www.reddit.com/r/Monero/comments/qlsf5u/can_monero_multisig_be_combined_with_hardware/ Quote] [https://www.reddit.com/user/XMR2020/ XMR2020], /r/Monero moderator:
Without a commercial solution, doing it safely on your own would require being an experienced monero dev. Would not be sane. Monero multisig in general carries a high risk of foot gunning yourself for regular users.
= Setup = '''Note''': In monero-wallet-ws-1. {{CodeSelect|code= monero-wallet-cli --offline }} Monero Wallet CLI will show:
This is the command line monero wallet. It needs to connect to a monero
daemon to work correctly.
WARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy.

Monero 'Oxygen Orion' (v0.17.2.3-release)
Logging to monero-wallet-cli.log
Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created.
Wallet file name (or Ctrl-C to quit):
Enter the name of the wallet, for example: wallet1 Monero Wallet CLI will ask:
No wallet found with that name. Confirm creation of new wallet named: wallet1
  (Y/Yes/N/No):
Type Y and press enter. Monero Wallet CLI will ask:
Generating new wallet...
Enter a new password for the wallet:
Confirm password:
Enter a password or leave it empty. Arguably how useful it is when using [[Full Disk Encryption]] on the host operating system. Re-enter password to confirm. Monero Wallet CLI will ask:
List of available languages for your wallet's seed:
If your display freezes, exit blind with ^C, then run again with --use-english-language-names
0 : Deutsch
1 : English
2 : Español
3 : Français
4 : Italiano
5 : Nederlands
6 : Português
7 : русский язык
8 : 日本語
9 : 简体中文 (中国)
10 : Esperanto
11 : Lojban
Enter the number corresponding to the language of your choice:
Enter 1 recommended. In the opinion of the author this is the most common language and least likely to suffer from potential restoration issues in a few decades. Optional: choose a language of your choice. Monero Wallet CLI will show:
Generated new wallet: 496qfvthZzy99adqviEhoDdFivmwcDH3vBZvPRSX8V6VScBTkR2VuMdb8xEgeMjyPqCigRfBK4cfrEXiX6YEdkF55rWD2Rq
View key: 89298e00f35bd89928b23d8a199bcfb49c61d63e242ffe0ca6b235cc0ddb8706
**********************************************************************
Your wallet has been generated!
To start synchronizing with the daemon, use the "refresh" command.
Use the "help" command to see a simplified list of available commands.
Use "help all" command to see the list of all available commands.
Use "help " to see a command's documentation.
Always use the "exit" command when closing monero-wallet-cli to save
your current session's state. Otherwise, you might need to synchronize
your wallet again (your wallet keys are NOT at risk in any case).

NOTE: the following 25 words can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control.

launching okay honked putty zoom zoom people grunt
ajar cylinder sake gypsy comb dexterity ethics square
sincerely fictional glide equip fierce january journal kisses zoom
**********************************************************************
The daemon is not set up to background mine.
With background mining enabled, the daemon will mine when idle and not on battery.
Enabling this supports the network you are using, and makes you eligible for receiving new monero
Do you want to do it now? (Y/Yes/N/No): :
Backup the 25 words seed phrase as Monero Wallet CLI requested above. Press n to disable mining. Monero Wallet CLI will show:
Background mining not enabled. Set setup-background-mining to 1 to change.
If you are new to Monero, type "welcome" for a brief overview.
Error: wallet failed to connect to daemon: http://localhost:18081. Daemon either is not started or wrong port was passed. Please make sure daemon is running or change the daemon address using the 'set_daemon' command.
Background refresh thread started
[wallet 496qfv (no daemon)]:
[wallet 496qfv (no daemon)]: represents the Monero Wallet CLI command prompt. Optional. Disable Monero Wallet CLI timeout. https://monero.stackexchange.com/questions/11737/how-can-i-slow-down-or-disable-cli-wallets-automatic-locking-due-to-inactivity Run the following command. {{CodeSelect|code= set inactivity-lock-timeout 0 }} '''x.''' prepare_multisig
Every participant independently generates initialization data. This is not an address.
Every participant sends his initialization data manually to all other participants over secure channel.
prepare_multisig by running the following command. {{CodeSelect|code= prepare_multisig }} Monero Wallet CLI will show something similar to:
MultisigV1E3JYRrTjFnbJpfGZdmcwX8YRbQzjGCF9YXzrKwnjoX72E39odmpQPVhMNjmdaxD5bZTvVEcwQyBoyUE5PyTvL56vRNspFfoPYRYd1JqMhofhcDfeHz7Dokw81ej3vsdy7ekdKFUoGP1KbzjY69cV4aoXSJLD3Dzb1kQeeRLLR8QfsmCD
Send this multisig info to all other participants, then use make_multisig   [...] with others' multisig info
This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants
---- '''Note''': In monero-wallet-ws-2. The steps for monero-wallet-ws-2 are similar to the steps for above monero-wallet-ws-1. * Wallet name: wallet2 * Also backup the 25 words seed phrase which will be different.
Generated new wallet: 48Xy1mAiMjYPVikauazPPwExzaNdMwCuHXX5Dd7KGCwcCSqAbQtNdy1YBYw7K8NVcMaDHfsuBrJVSe2W8VuNNGFqRDQFV72
View key: afc72bea71f59402e1967a3d080694ac9f175bcf7a24f073b6b6d909a2e1b80d

NOTE: the following 25 words can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control.

innocent berries because romance tuition fuming number react
inroads buying bids bite koala unsafe myth pawnshop
aplomb snout usual dying ornament petals artistic banjo aplomb
{{CodeSelect|code= prepare_multisig }}
MultisigV1AzBrfK5HC5VAnqxaUxw99P2tEqgVmbKjs5KSt16WxVPSQUR2UaH8VfPdX7FG16ahWwJWcvr8dpb38JWvMQ2269tz8sTfmJ5H3EYENxdSzQkh68U5CDfgAZ2LPN4TG1djwuHCd7FxdSkWhP3DAaqZGReRN3PQGwcpezj6hcMJgSgHJQP8
Send this multisig info to all other participants, then use make_multisig   [...] with others' multisig info
This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants
---- '''Note''': In monero-wallet-ws-1. Run the following command: '''Note''': Replace MultisigV1...replace-with-MultisigV1-from-monero-wallet-ws-2 with the actual MultisigV1 from monero-wallet-ws-2. {{CodeSelect|code= make_multisig 2 MultisigV1...replace-with-MultisigV1-from-monero-wallet-ws-2 }} Example command. Note: Do not use!
make_multisig 2 MultisigV1AzBrfK5HC5VAnqxaUxw99P2tEqgVmbKjs5KSt16WxVPSQUR2UaH8VfPdX7FG16ahWwJWcvr8dpb38JWvMQ2269tz8sTfmJ5H3EYENxdSzQkh68U5CDfgAZ2LPN4TG1djwuHCd7FxdSkWhP3DAaqZGReRN3PQGwcpezj6hcMJgSgHJQP8
Example printout. Note: Do not use this multisig address!
2/2 multisig address: 47MUEkfUt16EeANKFtpkAqBJfXtW2c6kFCRv7bRjvi2CV7HmKbYYL748BLjwgikHBbK17rKexSVmxE3x8aqvhT7H4pts3F8
---- '''Note''': In monero-wallet-ws-2. Run the following command: '''Note''': Replace MultisigV1...replace-with-MultisigV1-from-monero-wallet-ws-1 with the actual MultisigV1 from monero-wallet-ws-1. {{CodeSelect|code= make_multisig 2 MultisigV1...replace-with-MultisigV1-from-monero-wallet-ws-1 }} Example command. Note: Do not use!
make_multisig 2 MultisigV1E3JYRrTjFnbJpfGZdmcwX8YRbQzjGCF9YXzrKwnjoX72E39odmpQPVhMNjmdaxD5bZTvVEcwQyBoyUE5PyTvL56vRNspFfoPYRYd1JqMhofhcDfeHz7Dokw81ej3vsdy7ekdKFUoGP1KbzjY69cV4aoXSJLD3Dzb1kQeeRLLR8QfsmCD
Example printout. Note: Do not use this multisig address!
2/2 multisig address: 47MUEkfUt16EeANKFtpkAqBJfXtW2c6kFCRv7bRjvi2CV7HmKbYYL748BLjwgikHBbK17rKexSVmxE3x8aqvhT7H4pts3F8
---- '''Note''': In monero-wallet-ws-1. finalize_multisig seems not required for this 2/2 multisig.
Error: This wallet is already finalized
= Offline Signing Considerations = Transactions cannot be spent while being offline. All signatories's Monero Wallet CLI need to have seen the transactions they are intending to spend and run the export_multisig_info command to "sync" the wallets. Source: https://www.reddit.com/r/Monero/comments/o1ervn/rpc_transfer_method_returns_no_transaction_created/
to do a sync with empty wallets, i.e. before the arrival of the first funding transactions, does not do anything useful, because there are no outputs yet with the need of exchanging any info :)
= Hardware Wallet Considerations = Can Monero Multisig be combined with Hardware Wallets? Would that be sane? Or would it be considered that so few people are doing it that it would actually be more risky to lock oneself out form one's coins? Asked on [https://www.reddit.com/r/Monero/comments/qlsf5u/can_monero_multisig_be_combined_with_hardware/ Can Monero Multisig be combined with Hardware Wallets?], answer by [https://www.reddit.com/user/XMR2020/ XMR2020], /r/Monero moderator (underline added):
It's possible, infact, Casa a bitcoin multisig self custodial service was working on an implementation in 2019. https://medium.com/casa/a-monero-multisig-users-guide-b313cf92a2b1 They pivoted to bitcoin only and abandoned the project. Without a commercial solution, doing it safely on your own would require being an experienced monero dev. Would not be sane. Monero multisig in general carries a high risk of foot gunning yourself for regular users.
Quote [https://web.archive.org/web/20190220000401/https://medium.com/casa/a-monero-multisig-users-guide-b313cf92a2b1 A Monero Multisig User’s Guide (archived incomplete version)] Incomplete:
We’ve moved our blog! To keep reading this article, visit the link below:
That link is also down and no archived version available.
Disclaimer: There was [https://github.com/monero-project/monero/issues/4793 a bug] in the M/N multisig implementation that sometimes prevents spending from M/N wallets. It was fixed after the latest release version of Monero (v0.13.0.4), so be sure to test your wallet workflow before storing significant funds with it. The process in this guide works reliably on the Monero master development branch.
= TODO = * Restoration. * Receiving. * Spending. = See Also = * [[Money]] * [[Monero]] * [[Monero Wallet Isolation]] = Donations = After installing the Monero with multisig, please consider making a donation to Monero and {{project_name_long}} project ([[Donate]]) to help keep it running for many years to come. {{Pay_Monero_Specific}} = Footnotes = {{reflist|close=1}} {{Footer}} [[Category:Documentation]]