I'm a solidity developer for Decent DAO working on building Fractal, a framework that leverages Gnosis Safes & Zodiac.

Ideally, we would like to be able to deploy a Gnosis Safe and setup guards / modules all in one transaction.

I've looked at doing this through the setupModules function, but it doesn't seem possible to use this function since it executes through a delegateCall, so the msg.sender won't be the Gnosis Safe, so this function won't be able to call setGuard or enableModule.

I've also looked at using the createProxyWithCallback function within the GnosisSafeProxyFactory. However, the context for msg.sender here will still not be the Gnosis Safe, so doesn't seem like this could work either.

Is what we're trying to do here possible?


1 Answer 1


I believe you can set up module during safe deployment using the initializer as described in this answer! Deploying a contract that inherits GnosisSafe from another smart contract Hopefully this helps :D

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.