Advanced
Multi-Chain Deployment

Deploying Safe Account on Multiple Chains

Why?

Deploying a Safe account on multiple chains can be useful in scenarios such as:

  • Accidental Fund Transfers: If funds are accidentally sent to a chain where the Safe does not exist, having the ability to deploy the Safe on that chain can help recover those funds.
  • Cross-Chain Operations: For users who operate on multiple chains, having the same Safe address on different chains can simplify operations and management.

How?

Apart from building transaction with appropriate parameters to deploy a Safe on multiple chains at the same address, it is also possible to use the following methods:

  • Safe Wallet UI: The Safe Wallet UI allows users to deploy a Safe on multiple chains at the same address.
  • Safe Protocol Kit: The Safe Protocol Kit supports deploying a Safe on multiple chains at the same address. For more details, refer to the Safe Protocol Kit documentation (opens in a new tab).

Deployment Process

The deployment process happens through a Proxy Factory contract using deterministic deployment (that is, the create2 opcode). The address of the deployed Safe depends on the following factors:

  • The address of the factory
  • The singleton contract
  • The salt
  • The initializer data used
  • Proxy creationcode

Exceptions

  • Non-EVM Compatible Chains: Chains that are not EVM compatible (for example, ZKSyncEra) will not be able to use this method.
  • Compatibility: Safe created using v1.3.0 and above are compatible with this method. Safes created from mastercopies v1.0.0, v1.1.1, and v1.2.0 will not be able to use this method.

Considerations

When deploying a Safe on multiple chains, there are several important considerations to keep in mind:

  • Identical Configuration: The Safe deployed on other chains will have an identical configuration, such as owners, threshold, modules, etc., as the Safe on the original chain during deployment. Therefore, to access the Safe on the new chain, the private keys of the other owners should be available.
  • Security: It is not recommended to use this method if the private keys of the initial owners are compromised.
  • Version Consistency: The version of the Safe singleton contract cannot be updated while replaying the deployment on other chains.

References

For more detailed information, refer to the following resources:

By following these guidelines and considerations, users can effectively deploy and manage Safe accounts across multiple chains.

Was this page helpful?