Gnosis Safe Multisig Signing Guide
Signing messages from a multisig using the method in this guide requires submitting an on chain transaction and payment of gas fees.
MakerDAO and GovAlpha will not take responsibility for any negative outcome experienced by people that are following this guide.
You are responsible for your own funds.
If you are uncomfortable or unsure of how to proceed, stop what you are doing and ask for help.
The Atlas and Governance Scope require signed messages from both AVC Members and Aligned Delegates in order to become "recognized". Signed messages are also required for other actions such as AVC Decisions. Currently, there is no easy-to-use method of signing a message from a Gnosis Safe, unlike with an EOA where multiple tools exist.
We understand that many participants prefer to use Gnosis Safes to manage addresses with multiple keys for either personal OpSec reasons or when more than one individual is responsible for the decisions being made by an address, such as a delegate contract that is controlled by a team rather than an individual.
After consulting with Jetstream, we recommend the following process for multisig users to send messages using a Gnosis Safe Multisig. Please follow the instructions as written, as we cannot take any responsibility for any adverse outcomes if people do not follow the instructions verbatim. A worked example is provided as a demonstration. Please note that sending messages using this method will require a gas fee. This is due to limitations of Gnosis Safes and is not in the control of MakerDAO.
Note that adding message signing functionality to Safes is actively being worked on, and this will hopefully be a short-term solution only.
Are you communicating a AVC Decision, or simply verifying control of an address? Make sure the message text contains all of the required information for your use case. You will need to provide the exact text that you have included in your message for verification, so make sure you keep it safe.
For our example, we will be sending a message that contains the following text:
T e s t
If using the linked tool, set Character Encoding to
ASCIIand Output Delimiter String to
In our example, we can see that the output string from our input of
T e s tis
Add the prefix
0xto your message.
In our example
Open the Transaction Builder App either by clicking the link on your Safe's homepage or by accessing the Apps menu.
Please note the following important points. The above image should be used as a reference.
- 1.Ensure that Custom data is active.
- 2.Enter the "receiving" Ethereum address. This address must be an EOA, not a multisig or contract address. a. We strongly recommend that you use an address that you control in this section.
- 3.Enter the ETH value for the transaction. a. We strongly recommend that you set this to 0. b. If a non-zero value is selected and the transaction is executed, that amount of ETH will be sent from your multisig. This could result in you losing your ETH, especially if you have not followed the advice in 2a.
- 4.Paste your hexadecimal message into the Data field. a. Make sure you have followed the instruction in section 3 of this guide.
Make absolutely sure that all the information is correct and you have followed all the steps above.
If you see the Success message, then there are no issues with the data you entered.
Note that this does not mean that you are not accidentally sending ETH if you have not entered
0as the value in the previous steps.
If you see the following message, the transaction will fail, and your gas will be wasted. It is most likely that the recipient address is not appropriate. Remember to enter an EOA, not a multisig or contract address.
Other signers can review the transaction details before signing and executing the transaction.
Once the transaction has executed the data can be accessed from the transaction on Etherscan.
- Click "Click to show more".
- Click "Decode Input Data"
- Your message data is in the
2 datafield. There may be some extra
0s on the end of the string - this is not a problem.
The tool should reveal text that is identical to your input text from 1 and has been verifiably sent from your multisig wallet.
Page last reviewed: 2023-08-03 Next review due: 2023-11-03