28

Disclaimer: this is written for the pre-release version and for testing purposes only (at the present moment). Use at your own responsibility and don't play with big amounts. To test yourself, you must build the linked multisig branch. I will remove this disclaimer once the multisig functionality will be in the release version.

I want to use 2/2 or 2/3 multisig. How do I set-up the multisig wallet? How do I monitor the balance? How do I spend from it?

Note: one answer for 2/2, other for 2/3. scroll down =)

6
  • Is the process similar for say 2/3 or 3/3 multisig? Or (n-1)/n sig?
    – JohnHanks
    Jul 24, 2017 at 19:39
  • It's almost the same for 3/3, it just involves collecting 2 bits of data from other parties instead of 1, and passing the file for signature one more time (made by A, passed to B who signs and passes to C who signs and sends). The 2/3 and (n-1)/n are outlined here, but not yet available for testing. As soon as it will be out, I plan to make a similar guide.
    – JollyMort
    Jul 24, 2017 at 19:42
  • @JollyMort Is there a view only multisig, and is there a cold signing process? Feb 8, 2018 at 2:33
  • You can make a view-only from the viewkey and address. It won't even know it's multisig and it'll show you incoming TX-es. For cold signing, I don't know. You can test :)
    – JollyMort
    Feb 8, 2018 at 7:54
  • Is it possible to create a multisig wallet where only one of the addresses can see the balance and history?
    – B T
    Apr 5, 2018 at 1:22

2 Answers 2

23

Monero 2/2 Multisig

First, the wallet to be converted to multisig must be empty. It is best to use a brand-new walllet for the purpose, although not required. It is strongly advised to make a copy of the wallet files first, just in case something goes wrong.

Set-up

Step 1 Initiate Creation of Multisig Wallet and Exchange Data

Person A commands:

[wallet 47HSuD]: prepare_multisig

The output will be something like:

    MultisigV1WHyBiEPV5rv3jgU59QUv2ZYTvmN3pwzCL8mp5jTDxkkhRzDjL1T8A2dHTYLmprbUsiLzvPLqRc1GkFHp3mq7dFq6BiE98Ur5cD6P46YYLd5QwD4diqe4VRSiS7GYHATbL4cLGidyNUbWha4EU7ET2jfJ7UKUVZRhNb5prZxfsJddbzaw
Send this multisig info to all other participants, then use make_multisig <info1> [<info2>...] with others' multisig info
This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants

Copy the entire line Multisig...bzaw be sure to capture the whole thing when copying. Send this line to person B.

Person B does the same and sends his output to person A. Person B commands:

[wallet 48e86K]: prepare_multisig

Person B gets the output

MultisigV1ZST26VmNuozbbHL9PeDuqiLDuMLCmaCRxBBLoK7yuxsHXyUiMr2SjxXgnsWrbmVRpghFTtcHEDLDnbPcqdoSuum1bLCFvmoFGrK7z3AtizKPTG96ukb4mzzqPcCD55ZCb1Y8cUL4RipVtcB4YbzZyK5eZdRLxAKi8TvyTD9h3QjVraXs
Send this multisig info to all other participants, then use make_multisig <info1> [<info2>...] with others' multisig info
This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants

and sends it to person A.

Step 2 Create Multisig Wallets

Both person A and person B now have the Multisig... text from the other one. With that, each of them can create their part of the multisig wallet. Before you proceed, note that the wallet will lose access to the underlying account when converted to multisig. This is not really a problem, since we started with an empty one, and if all goes ok with this step, you won't ever need it unless you want to go through the process again for whatever reason (like HDD died, but you have the seed mnemonic of the underlying account and want to reconstruct the multisig wallet).

Person A commands:

[wallet 47HSuD]: make_multisig 2 MultisigV1ZST26VmNuozbbHL9PeDuqiLDuMLCmaCRxBBLoK7yuxsHXyUiMr2SjxXgnsWrbmVRpghFTtcHEDLDnbPcqdoSuum1bLCFvmoFGrK7z3AtizKPTG96ukb4mzzqPcCD55ZCb1Y8cUL4RipVtcB4YbzZyK5eZdRLxAKi8TvyTD9h3QjVraXs

and the output will be something like:

2/2 multisig address: 47RGRFeLPT51qvDWuw7SGf57JK7AziAVqYucct8z5yEDQ1XqU8zKEjidWjqPXk7PuHP3MJDN2AJATKy9PH7zaGV7MB8X6CH

Person B commands:

[wallet 48e86K]: make_multisig 2 MultisigV1WHyBiEPV5rv3jgU59QUv2ZYTvmN3pwzCL8mp5jTDxkkhRzDjL1T8A2dHTYLmprbUsiLzvPLqRc1GkFHp3mq7dFq6BiE98Ur5cD6P46YYLd5QwD4diqe4VRSiS7GYHATbL4cLGidyNUbWha4EU7ET2jfJ7UKUVZRhNb5prZxfsJddbzaw

and the output should be something like:

2/2 multisig address: 47RGRFeLPT51qvDWuw7SGf57JK7AziAVqYucct8z5yEDQ1XqU8zKEjidWjqPXk7PuHP3MJDN2AJATKy9PH7zaGV7MB8X6CH

Now exchange addresses and compare, they must be the same.

Receiving

Step 1 Fund The Multisig Account

This is simple. Just send to the shared address. You can send multiple times, same like normal wallet. You can use payment ID as well, or generate an integrated address to receive funds.

Best part, whomever is sending the funds won't be able to tell that the address belongs to a multisig wallet since it looks as any other.

Step 2 Check Multisig Account Balance

Just open the wallet and command refresh. Once completed, both persons can verrify that the funds arrived.

Person A commands:

[wallet 47HSuD]: show_transfers and can see all incoming transfers.

 1357156     in      07:50:35 PM       0.100000000000 88ba687dc79a0b39e6de6d0763eda8363d33d9f58ec9a096171bd9a7f1dae873 0000000000000000 - 
 1357161     in      08:00:18 PM       0.100000000000 d6ac845b9400759525519cdc5d514eb8f5b1d265b24d1c016e75b20ed3b4b7da 0000000000000000 - 

Person B can do the same:

[wallet 48e86K]: show_transfers and will see the same:

 1357156     in      07:50:35 PM       0.100000000000 88ba687dc79a0b39e6de6d0763eda8363d33d9f58ec9a096171bd9a7f1dae873 0000000000000000 - 
 1357161     in      08:00:18 PM       0.100000000000 d6ac845b9400759525519cdc5d514eb8f5b1d265b24d1c016e75b20ed3b4b7da 0000000000000000 - 

Spending

Step 1 Syncronizing Key Images

Without this step, it will not be possible to create a spending transaction.

Person A commands:

[wallet 47HSuD]: export_multisig_info testmp1 where testmp1 can be any filename. The output will be:

Multisig info exported to testmp1

The file testmp1 will be located in the shell working folder*

Person A sends that file to Person B.

Person B does the same and commands:

[wallet 48e86K]: export_multisig_info testmp2 and the output will be:

Multisig info exported to testmp2

The file testmp2 will be located in the shell working folder*

Person B sends that file to person A.

Now, they must both import each other's file.

Person A commands:

[wallet 47HSuD]: import_multisig_info testmp2 (the wallet will look for it in the shell working folder*) and the output will look like:

2 outputs found in testmp2
Height 1357156, transaction <88ba687dc79a0b39e6de6d0763eda8363d33d9f58ec9a096171bd9a7f1dae873>, received 0.100000000000
Height 1357161, transaction <d6ac845b9400759525519cdc5d514eb8f5b1d265b24d1c016e75b20ed3b4b7da>, received 0.100000000000

Person B commands:

[wallet 48e86K]: import_multisig_info testmp1 (the wallet will look for it in the shell working folder*) and the output will look like:

2 outputs found in testmp1
Height 1357156, transaction <88ba687dc79a0b39e6de6d0763eda8363d33d9f58ec9a096171bd9a7f1dae873>, received 0.100000000000
Height 1357161, transaction <d6ac845b9400759525519cdc5d514eb8f5b1d265b24d1c016e75b20ed3b4b7da>, received 0.100000000000
Multisig info imported

Step 2 Preparing Spending Transaction

Either person A or person B can do this, it doesn't matter. To avoid weird things from happening only do it for 1 transaction at a time.

Person A performs the usual transfer command:

[wallet 47HSuD]: transfer 47wbKEXBGnyHohezMGpD6y2SFNczrSpeSfQgFW5cMxMziFuHpBWM9yjBLJ1iTv31AwN6daPg1QXfRKBJGq2XZDekNqv8gsP 0.15

The output will look like:

Unsigned transaction(s) successfully written to file: multisig_monero_tx*

Check in the folder where you started monero-wallet-cli from*. There should be a file named multisig_monero_tx.

Send the file multisig_monero_tx to the person B.

Person B must finish the signature. Person B copies the file to the same folder from where he started (or will start) monero-wallet-cli*.

Then, Person B commands:

[wallet 48e86K]: sign_multisig multisig_monero_tx and a prompt will be displayed to allow person B to check the transaction before signing:

Loaded 1 transactions, for 0.200000000000, fee 0.015570240000, sending 0.150000000000 to 47wbKEXBGnyHohezMGpD6y2SFNczrSpeSfQgFW5cMxMziFuHpBWM9yjBLJ1iTv31AwN6daPg1QXfRKBJGq2XZDekNqv8gsP, 0.034429760000 change to 47RGRFeLPT51qvDWuw7SGf57JK7AziAVqYucct8z5yEDQ1XqU8zKEjidWjqPXk7PuHP3MJDN2AJATKy9PH7zaGV7MB8X6CH, with min mixin 4. Is this okay? (Y/Yes/N/No):

If ok, answer Y, and the output will look like:

Transaction successfully signed to file multisig_monero_tx, txid bb998b00dad0c245b45b975277d9b685592b412fd5fb58b2c1805091418c8b49.

Finally, person B submits the transaction to the network by commanding:

[wallet 48e86K]: submit_multisig multisig_monero_tx and there will be a confirmation prompt:

Loaded 1 transactions, for 0.200000000000, fee 0.015570240000, sending 0.150000000000 to 47wbKEXBGnyHohezMGpD6y2SFNczrSpeSfQgFW5cMxMziFuHpBWM9yjBLJ1iTv31AwN6daPg1QXfRKBJGq2XZDekNqv8gsP, 0.034429760000 change to 47RGRFeLPT51qvDWuw7SGf57JK7AziAVqYucct8z5yEDQ1XqU8zKEjidWjqPXk7PuHP3MJDN2AJATKy9PH7zaGV7MB8X6CH, with min mixin 4. Is this okay? (Y/Yes/N/No):

If ok, answer Y, and the transaction will be sent. The output will look like:

Money successfully sent, transaction: 
<bb998b00dad0c245b45b975277d9b685592b412fd5fb58b2c1805091418c8b49>

The person B could also send the signed TX to person A, who could then submit it to the network himself.

If you want to make another one, you have to go back to step 1 of spending (sync the key images again).

*Note on folders and file locations, as it could create some confusions. The wallet will look for the files and export them to the folder from where it was started, ie where your command prompt / shell was when you called monero-wallet-cli. It may or may not be the same folder as your actual wallet files or monero-wallet-cli, depending on how you go about it.

For example, your wallet could be on some USB drive like f:\temp\, and your wallet software on c:\monero\ and your shell working folder could be c:\.

If you remain in c:\ with the shell, you could start the wallet by its full path and specify the wallet file location: c:\monero\monero-wallet-cli.exe --wallet-file f:\temp\mywallet. In this case, all the import/export stuff would be read/written to c:\ because that's still your shell's working folder.

It would be probably feel more natural to cd into the wallet folder. Do f: to change drive and then cd f:\temp\. Then, simply start the wallet from that location by its full path again: c:\monero\monero-wallet-cli.exe --wallet-file mywallet. Notice how you don't have to write the full wallet path now as you're already there with your shell. In this case, all the files mentioned above would be written or read from the same folder as the wallet files.

2
  • 1
    Awesome description. You may want to clarify two points. First, do testmp1 and testmp2 need to be saved to the folder where monero-wallet-cli is located, in order to import them? Second, let's say the initial deposits were 5 XMR each, so now there's over 9 XMR left after the multisig spend. Does Spending: Step 1: Synchronizing the Key Images have to occur after the change output is received, in order to be able to initiate the next Transfer transaction? Jul 23, 2017 at 16:16
  • I'll experiment a bit and come back to update. I think it always stores testmp1 to the folder where you were when you started monero-wallet-cli and NOT the location of the actual binary (you can call it with a full path). For spending step 1, yes, you gotta do it again whenever you receive. Anyways, if it's required the wallet won't let you do transfer and will ask for it.
    – JollyMort
    Jul 23, 2017 at 17:02
12

Disclaimer: this is written for the pre-release version and for testing purposes only (at the present moment). Use at your own responsibility and don't play with big amounts. To test yourself, you must build the linked multisig branch. I will remove this disclaimer once the multisig functionality will be in the release version.

First build the multisig branch. If you've got all dependencies installed, it's as simple as:

git clone https://github.com/moneromooo-monero/bitmonero.git

cd bitmonero

git checkout multisig

make

and the wallet binary will be found in <yourPath>/bitmonero/build/release/bin.

Monero 2/3 Multisig

First, the wallet to be converted to multisig must be empty. It is best to use a brand-new wallet for the purpose, although not required. It is strongly advised to make a copy of the wallet files first, just in case something goes wrong.

Overview

In short, the process is:

Wallet Creation
  1. All parties command prepare_multisig and send data to ALL other parties
  2. All parties command make_multisig <treshold> <data1> <data2> and send 2nd batch of data to ALL other parties
  3. All parties command finalize_multisig <data1> <data2> with the data from ALL other parties.
Receiving
  1. All parties can type address to see the created multisig wallet address. The address will, of course, be the same for all parties since they're all watching the same wallet.
Preparation for Sending
  1. To prepare for sending all parties command export_multisig_info <filename> and send the file to all other parties
  2. To complete preparation, all parties command import_multisig_info <filename1> <filename2> and import files from other parties
Sending
  1. To send, any party can use the usual transfer command, but the result will be a file named multisig_monero_tx which must be sent to any 1 other signer
  2. The other party commands sign_multisig multisig_monero_tx and the file is updated with the signature.
  3. The completely signed file is pushed to the network with use of submit_multisig multisig_monero_tx

Below is a step-by-step walkthrough.

Wallet Creation

Step 1 - Prepare Multisig

Here some data will be shown to the user, which has to be exchanged with ALL other parties.

Person 1 commands:

[wallet 46yeyn]: prepare_multisig

The output will be something like:

MultisigV1cR7X7ZAfa5ncRmQv1hpt4P1DmmnhinhokhDMqsmuWXmHFrb6xUr3FtBGygCfMScxnKJvXK1vvPNahXNWfYWVquieBErr98sFtgs24c2YuYrQT78uxV8oYx1A9bKeHSUfYzCniN5kMznEfvKCw3FiomjLvw364gg98ZWp16zA7pUVozid
Send this multisig info to all other participants, then use make_multisig <threshold> <info1> [<info2>...] with others' multisig info
This includes the PRIVATE view key, so needs to be disclosed only to that multisig wallet's participants

Copy the entire line Multisig... be sure to capture the whole thing when copying. Send this line to person 2 & 3.

Persons 2 & 3 do the same and send the line to other 2.

Step 2 - Make Multisig

All 3 persons now have the Multisig... text from the other 2. With that, each of them can create their part of the multisig wallet. Before you proceed, note that the wallet will lose access to the underlying wallet when converted to multisig. This is not really a problem, since we started with an empty one, and if all goes OK with this step, you won't ever need it unless you want to go through the process again for whatever reason (like HDD died, but you have the seed mnemonic of the underlying wallet and want to reconstruct the multisig wallet).

Person 1 commands:

[wallet 46yeyn]: make_multisig 2 MultisigV12EHtuvxFyAYDNcDsbDqWHDfkRr4JZchSdf8eZQSFwiMKDk15CYEJeQyEwtSnqUZdRr2BsEaT9z2biUdDTEQM4T3N625owvKMDoyhbRj3bwkBtceLKimap8DBAiUmSABpdf62HnPYiRtLW4JdVFmfqjndhWjYBypx1duvpi3qwfSrBY9a MultisigV1TqQ8Gt5Sb3GYtVJa1fQrK7e7hPm59XbooNvLxPSBR4856bW9jtD1hEyWy4yULKrX7reZZ6vrKdBCdSdk4nfApCGYJAA2WP4pKNwHDyKTuLEeuoDhqno8keEVeEF9AZsWXvng1avUTRREmy11h8wu8pdjopC4AguQKiHCJCN7aT9W6b8C

Notice how there are 2 strings starting with Multisig.... One is from person 2 and other from person 3. The number at the beginning is the minimum required number of signatures. Since it's a 2/3 scheme - it's 2.

and the output will be something like:

Another step is needed
MultisigxV1PKCwmVrucV8bXi18VnHFqRXcnAq4osFL3ahzPHCiN48zhs28u6jmEhy7ktZbUEGfRtTuFjjKzJYb61fnFwnysBBnNXsUtCgFMXPa7FyNKVy2AnUg3ePEnKqWkgKVvA81axTS8r9EX1DmVPXgFKkFzw4Yj4ZtMcJVo77b5ayuMzjFtsaijko9X2bjd9AVfFVGBFMCSLa4xXhNVNz19CTUJx5gpoPG
Send this multisig info to all other participants, then use finalize_multisig <info1> [<info2>...] with others' multisig info
[wallet 41fJjQ (out of sync)]:

With 2/3 there's an additonal step to be done here. The new "Multisig..." info must be passed to ALL other participants (persons 2 & 3).

Persons 2 & 3 do the same as above and send the info to other 2 parties.

Note how the first 6 chars of the address changed from 46yeyn to 41fJjQ. They will change again when the final step is done.

Step 3 - Finalize Multisig

Here we do one last command to make the wallet ready for receiving. It requires the 2nd batch of "Multisig..." strings received from other parties.

Person 1 commands:

[wallet 41fJjQ]: finalize_multisig MultisigxV1Vg1tsRLurvAc5aSA9Hd9God3MQhijCFoE1rPDFzx7ufwhs28u6jmEhy7ktZbUEGfRtTuFjjKzJYb61fnFwnysBBnfYm4xJWcJ4qM4khSb2KkyAKDuT39pTvdmemhojNjeYCmgSQ1NZLyBj48R1tVpiGNxa7TDnGbSgLuKBq35AX6jfu5PECAcDDn22CFQbJZip7xnBbn89Szzh27xeozfxcLiqqm MultisigxV14xDZBGACz3iUh2aVKGE5q5VzcvJdg2qCvZECgUWCdy5QNXsUtCgFMXPa7FyNKVy2AnUg3ePEnKqWkgKVvA81axTSfYm4xJWcJ4qM4khSb2KkyAKDuT39pTvdmemhojNjeYCmCNaRSsDEcemLLL8wCvzsy5R6hhkhWLYkD9vhZwprSFFKMZ7tfRko2VfMBoKQhB7PKXbf1npk2xceVKu2y7kExywb

and the output will be something like:

Wallet password: 
[wallet 42feih]:

There's no indication that the process was successfully completed (for now), but you can notice the first 6 letters changed from 41fJjQ to 42feih. All 3 persons do the same, and all 3 wallets will show the same address after this step.

Now command:

[wallet 42feih]: address

to see the full address of the completed multisig wallet. The output will be something like:

0  42feihwun8KZEqPhErYCEvDqRLeqegLzEW79grAqPQmaEjytd7R1N1EZRebxJBJjCcQLEQTMqKQdD9htL9DXRY2zPTarG92  Primary address

Receiving

Step 1 Fund The Multisig Account

This is simple. Just send to the shared address. You can send multiple times, same like normal wallet. You can use payment ID as well, or generate an integrated address to receive funds.

Best part, whomever is sending the funds won't be able to tell that the address belongs to a multisig wallet since it looks as any other.

Step 2 Check Multisig Account Balance

Just open the wallet and command refresh. Once completed, all persons can verrify that the funds arrived.

For example, Person 2 commands:

[wallet 42feih]: show_transfers and can see all incoming transfers.

pool     in      08:52:33 PM       0.032797750000 e55eefb051106f6e680d5436c544621cb3b2ffc58bbbe98d7c1433c1e9894f46 0000000000000000 0 - 

Preparation for Spending

Step 1 - Export Multisig

Without this step, it will not be possible to create a spending transaction. As a minimum, the sender needs to get a partial key image from the same person who will sign the transaction with him later. He could get from both parties immediately and then later decide with whom to sign.

Person 1 commands:

[wallet 42feih]: export_multisig_info minf1 where minf1 can be any filename. The output will be:

Multisig info exported to minf1

The file minf1 will be located in the shell working folder*

Person 1 sends that file to other persons. Persons 2 & 3 do the same.

Step 2 - Import Multisig

Now, they must all import each other's file so they can be ready to make a TX later.

For example, Person 2 commands:

[wallet 42feih]: import_multisig_info minf1 minf3 (the wallet will look for files in the shell working folder*) and the output will look like:

2 outputs found in testmp2
Height 1357156, transaction <88ba687dc79a0b39e6de6d0763eda8363d33d9f58ec9a096171bd9a7f1dae873>, received 0.100000000000
Height 1357161, transaction <d6ac845b9400759525519cdc5d514eb8f5b1d265b24d1c016e75b20ed3b4b7da>, received 0.100000000000

Persons 1 & 3 do the same.

Spending

Step 1 - Transfer (Preparing Unsigned Transaction)

Any of the 3 persons can start a transaction, it doesn't matter. To avoid weird things from happening only do it for 1 transaction at a time. If anything weird happens, do the step 1 & 2 again to fix.

For example, let's say that person 3 will make the TX.

Person 3 performs the usual transfer command:

[wallet 42feih]: transfer 47RGRFeLPT51qvDWuw7SGf57JK7AziAVqYucct8z5yEDQ1XqU8zKEjidWjqPXk7PuHP3MJDN2AJATKy9PH7zaGV7MB8X6CH 0.01
Wallet password: 
No payment id is included with this transaction. Is this okay?  (Y/Yes/N/No): Y
There is currently a 2 block backlog at that fee level. Is this okay?  (Y/Yes/N/No)Y

Transaction 1/1:
Spending from address index 0
Sending 0.010000000000.  The transaction fee is 0.003034980000
Is this okay?  (Y/Yes/N/No): Y

The output will look like:

Unsigned transaction(s) successfully written to file: multisig_monero_tx

Check in the folder where you started monero-wallet-cli from*. There should be a file named multisig_monero_tx.

Send the file multisig_monero_tx to either person 1 or 2.

Step 2 - Sign Multisig

Let's say Person 2 was picked as partner. He must finish the signature. Person 2 copies the file to the same folder from where he started (or will start) monero-wallet-cli*.

Then, Person 2 commands:

[wallet 42feih]: sign_multisig multisig_monero_tx

and he will be prompted to check it first:

Loaded 1 transactions, for 0.032797750000, fee 0.003034980000, sending 0.010000000000 to 47RGRFeLPT51qvDWuw7SGf57JK7AziAVqYucct8z5yEDQ1XqU8zKEjidWjqPXk7PuHP3MJDN2AJATKy9PH7zaGV7MB8X6CH, 0.019762770000 change to 42feihwun8KZEqPhErYCEvDqRLeqegLzEW79grAqPQmaEjytd7R1N1EZRebxJBJjCcQLEQTMqKQdD9htL9DXRY2zPTarG92, with min ring size 5, no payment ID. Is this okay? (Y/Yes/N/No): Y

If ok, answer Y, and the output will look like:

Transaction successfully signed to file multisig_monero_tx, txid d2f80092cf83ce471df5e3fde0923267d086a56cf3b0e0db5dc98a529a191463

Step 3 - Submit Multisig

Finally, person with the signed file submits the transaction to the network by commanding:

[wallet 42feih]: submit_multisig multisig_monero_tx and there will be a confirmation prompt:

Loaded 1 transactions, for 0.032797750000, fee 0.003034980000, sending 0.010000000000 to 47RGRFeLPT51qvDWuw7SGf57JK7AziAVqYucct8z5yEDQ1XqU8zKEjidWjqPXk7PuHP3MJDN2AJATKy9PH7zaGV7MB8X6CH, 0.019762770000 change to 42feihwun8KZEqPhErYCEvDqRLeqegLzEW79grAqPQmaEjytd7R1N1EZRebxJBJjCcQLEQTMqKQdD9htL9DXRY2zPTarG92, with min ring size 5, no payment ID. Is this okay? (Y/Yes/N/No): Y

If ok, answer Y, and the transaction will be sent. The output will look like:

Transaction successfully submitted, transaction <d2f80092cf83ce471df5e3fde0923267d086a56cf3b0e0db5dc98a529a191463>
You can check its status by using the `show_transfers` command.

The person 2 could also send the signed TX to person 3, who could then submit it to the network himself.

If you want to make another one, you have to go back to preparation for spending step (sync the key images again).

*Note on folders and file locations, as it could create some confusions. The wallet will look for the files and export them to the folder from where it was started, ie where your command prompt / shell was when you called monero-wallet-cli. It may or may not be the same folder as your actual wallet files or monero-wallet-cli, depending on how you go about it.

For example, your wallet could be on some USB drive like f:\temp\, and your wallet software on c:\monero\ and your shell working folder could be c:\.

If you remain in c:\ with the shell, you could start the wallet by its full path and specify the wallet file location: c:\monero\monero-wallet-cli.exe --wallet-file f:\temp\mywallet. In this case, all the import/export stuff would be read/written to c:\ because that's still your shell's working folder.

It would be probably feel more natural to cd into the wallet folder. Do f: to change drive and then cd f:\temp\. Then, simply start the wallet from that location by its full path again: c:\monero\monero-wallet-cli.exe --wallet-file mywallet. Notice how you don't have to write the full wallet path now as you're already there with your shell. In this case, all the files mentioned above would be written or read from the same folder as the wallet files.

3
  • Awesome description. Point 1) One quick question.What will happen when any party tries to type seed command? Is there any way out to fetch the master seed just like signing transaction function to be used in worst case scenario to recreate the same wallet(ofcourse most probably this newly created wallet would not be a multi-sig wallet). Point 2) Also again how in that case a restored wallet with amount can be converted to multi-sig wallets Nov 24, 2017 at 9:44
  • 1. It depends when the command seed is typed. If after step 2 of creation it will give "error: multisig wallets have no seeds". If before, it will just give you the normal wallet seed. Luigi mentioned there could be some mnemonic for multisig backup but that's not inplemented yet. It will be huge, as we have to encode both keys and some metadata. 2. You need to make it empty first. It's a safeguard so you don't delete the wallet accidentally.
    – JollyMort
    Nov 24, 2017 at 11:00
  • is this released into the main GUI client yet? and does it work with participant's ledger nano s?
    – CQM
    Sep 15, 2018 at 3:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.