Gnosis Safe WalletConnect – How to Use web3.eth.personal.sign with WalletConnect and Gnosis Safe

gnosis-safewalletconnect

I'm developing a dapps that uses web3.eth.personal.sign to sign data from users. The problem is, when I use Gnosis Safe with WalletConnect, the value received from the function is just "0x" instead of the full signature.

Are there any ways to get the data from the web3.eth.personal.sign with Gnosis Safe WalletConnect

Best Answer

As the Safe is a smart contract based wallet you will not get a ECDSA signature that can be recovered to a Safe address. The Safe uses EIP-1271 to support message signing.

In the current implementation the Safe confirms the message on-chain. Therefore it only returns 0x as the signature. To check if the message was successfully signed you would use isValidSignature (as defined in EIP-1271) to check with the Safe if your specific message/signature combination is valid.

Related Topic