DEV Community

Carlo Miguel Dy
Carlo Miguel Dy

Posted on

Deploy the same Gnosis Safe Address in Multiple Networks

Overview

This is a straightforward guide and just shares how you can exactly deploy the same Gnosis Safe with the exact same address to multiple networks.

Requirements

Here is a list of all the things that you need:

  1. The address of the gnosis safe that you intend to use
  2. The tx hash link of the gnosis safe contract creation with the address you are intending to use
  3. The access of the deployer's account whom have deployed the gnosis safe contract with the same address you are intending to use
  4. Some native funds in those specific networks to cover for the cost of contract deployment
  5. Enabled MetaMask custom hex data when sending a transaction

Steps

In order to demonstrate it in this guide, I have to have a proof that it works.

  1. Update your MetaMask's settings, by enabling custom hex data input when sending transactions to an arbitrary address.

MetaMask Advanced Settings

  1. Given that I have a deployed safe on Polygon which can be found in this transaction here with address 0xCF...faFb, open the tx hash link to find the relevant data we need.

Tx Hash

  1. Open MetaMask in a browser tab and click "Send"

MetaMask opened in browser tab

  1. Now get the "To" address from the transaction link and place it in the input field under "Send To". In this case our recipient should be "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2"

MetaMask Send Custom Tx

  1. Next is we fill in the custom hex input data, we'll get that from our previous transaction link. In the transaction details, click "Click to see more" and find "Input Data" section, then change the formatting view to "Original". It'll look something like this. When you find it, copy the entire hex data.

Tx Original Hex Data

  1. Now back to our MetaMask tab, once you copy the hex data from the transaction, let's fill in the "Hex data" input field. Then finally click "Next".

MetaMask transaction with custom hex data

  1. MetaMask will also check itself if the transaction can go through or not. Other than that best way to find out is just to make the transaction, so click "Confirm"

MetaMask Tx Confirmation

  1. To confirm if it was a success, open Gnosis Safe dashboard and check in the side panel if the safe was already created using the same address in a different network.

Gnosis Safe Dashboard Side Panel

Conclusion

In this guide, we've managed to deploy the same address of a Gnosis Safe that was deployed previously on Polygon Mainnet and have also an existing chain on Avalanche.

If by any chance you have any questions you want to clarify, you can hit me up on Twitter, or in any form of communication medium.

Thanks for making it up here until the end, I hope this helps you! 🤝🎉

Oldest comments (3)

Collapse
 
grow profile image
Anh Le

I can created the Safe but it showed a warning:

This Safe was created with an unsupported base contract. The web interface might not work correctly. We recommend using the command line interface instead.

As their document, the Proxy Factory address is different:
github.com/safe-global/safe-deploy...

Collapse
 
erikmartinez28 profile image
Erik Martínez ☀️

Can confirm that this approach works with oryy.io/ on Songbird

Collapse
 
incrementis profile image
Akin C.

Hello Carlo Miguel Dy,

I saw that you are new here so I want to say hello and thanks for your easy to understand article.

I'm not that interested in blockchain stuff, actually not at all, so maybe my question is very naive:

What is the benefit of deploying the same Gnosis Safe Address in Multiple Networks?