Before starting this tutorial, beware because theres vulnerabilities in the multisignature. I only had to follow this tutorial to do it without issues/bugs. This is not a common multisig method it does by secret-splitting methods.

Step 1 - Creating wallets

  • ./monerod --offline (you need to create new keypairs for a multisig)
Inside the wallet’s console
  • set inactivity-lock-timeout 0 (deactivate the wallet autolock feature)
  • set enable-multisig-experimental 1 (to unlock multisig)

Step 2 - Preparing the multisig

  • prepare_multisig will return you an “intitialization key” (starting with MultisigxV2R) . Do it on each wallet you want in the multisig and note theses somewhere.

Step 3 - Make the multisig

  • make_multisig (how many keys to unlock the signature) init-key-2 init-key-3 (ect..).
Be sure you do this on every wallet. Don’t add the init-key belonging to the same wallet (add init-key of the wallet 2 and 3 to the wallet 1 ect…)
The console will again return you a new key (starting with MultisigxV2R) on each wallet you need to note somewhere.

Step 4 - Exchanging multisig keys

  • exchange_multisig_keys key-2 key-3
The console will again return you a new key (starting with MultisigxV2R) on each wallet you need to note somewhere.

Step 4.1 - Exchanging (a second time multisig keys)

  • exchange_multisig_keys key-2 key-3
The console will return you the multisig’s type and the multisig’s address
Once you did that (on every wallet) it will diplay:
  • Multisig wallet has been successfully created.
  • Current wallet type: n/n
  • multisig address: (a xmr address)

Step 5 - Receive funds

Just generate a new address by typing

  • address new

Step 6 - Sign a multisig transaction

In first, refresh your balance

  • refresh
6.1 Exporting partial key-images

On every wallet, do:

  • export_musig_info a-filename-you-choose
6.2 Importing partial key-images

Now import partial key images in every wallet

  • import_multisig_info a-filename-you-choose a-filename-you-choose (you can add multiple keys at the same time)
Once it’s done your spendable outputs will be verified & ready to be spent.
6.3 Signing the transaction
  • transfer <address> <amount>
Once the transaction is “confirmed” by entering the password, it’ll generate a partially signed transaction with the multisig_monero_tx filename. Now sign the transaction with each wallet (required to treshold):
  • sign_multisig multisig_monero_tx
And then you can broadcast it
  • submit_multisig multisig_monero_tx
It’ll return the TransactionID

Step 7 - Backup a multisig wallet

A multisig mnemonic is very specific. It’s not words it’s a long key so beware of how you store it.

  • seed
Write the key somewhere safe
7.1 Restoring the multisig wallet
  • ./monerod --restore-multisig-wallet
Write the key when it’s prompted, refresh the wallet and go back to the Step 6.1 if you want to spend funds.

Here’s an example of a 2/3 multisig