Please note: this feature is only available from version 1.7.0 of the Safe web interface.
Over the last two years, many applications started implementing off-chain signature flows, that allow you to interact with them without creating an on-chain transaction and without the consequential need to pay network fees. With our new signed messages feature we now enable our users to utilize this gasless signature flow with dApps that are compatible with off-chain messages in the Safe context.
What is a signature?
Each EOA has a private key and this private key can be used to sign messages. The resulting signature verifies the integrity of the message signed and the account it was signed by.
However, smart contracts like the Safe have no private key. In order to create a signature via the Safe, an on-chain signature transaction needs to be executed or each owner needs to individually sign the same message and those signatures be combined into one.
What is a signature used for?
Signatures are used for a variety of things. The Safe uses signatures to verify that owners have confirmed a transaction, for example. dApps use signatures for authorisation and verification of ownership; confirmation of DEX orders, voting on proposals, etc.
How do I create a signed message?
If a dApp supports off-chain signing, interaction will mirror that of on-chain signature transactions.
Confirming a DEX order, for example, will open a signing window:
Signing this message with your wallet will verify that you agree to (in this case) the execution of the respective order. If your Safe has a 1/n policy, the order will be immediately valid.
This signed message will then be added to your “Messages” in the “Transactions” section of the Safe UI. Once all required signers have signed the message, the message can be utilized to execute the intended order.