I am deploying a gnosis safe on a L2 and I tried using safe-cli https://github.com/gnosis/safe-cli (using verified factory contracts) and also using https://dev.gnosis-safe.io/.

On both occurrences the resulting proxy address from calling SafeSetup returned by ProxyCreation was a contract with very little ByteCode that I couldn't get verified, could not interact with it through safe-cli and it was not recognized in https://dev.gnosis-safe.io/.

Is this the expected outcome or am I doing something wrong?

1 Answer 1


The deployed code is used the code for the proxy contract which is kept as small as possible to minimize deployment costs. If you use the official ProxyFactory at 0xa6b71e26c5e0845f74c812102ca7114b6a896ab2 the expected bytedcode (queried via eth_getCode) should be


The code that needs to be used to verify this can be found in the GnosisSafeProxy in the safe-contracts repository.

An example for this can be seen on Rinkeby: https://rinkeby.etherscan.io/address/0xfebb1f3f0169dc5cf23e0e3294cdac18568d8031#code

If you have a specific address that is not working for you it would be helpful to share it for further investigation.

General comments on the Safe addresses:

You can see the available Safe related deployments in the safe-deployments repository.

The dev version of the Safe will always deploy the complete set of Safe contracts and therefore you will get a different address.

For the safe-cli you should double check on the addresses with the safe-deployment according to the docs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.