Starting with Safe contracts version 1.3.0, a transaction guard can be set on a Safe. Transaction guards can be used to perform additional checks before executing a Safe transaction. They are separate contracts implementing this logic.
Please note: Setting a bad transaction guard on a Safe can make it unusable, i.e. all funds would be locked. Please only continue if you know what you are doing.
Transactions guards can only be used start with Safe version 1.3.0. To check the Safe version, navigate to Settings -> Safe details and make sure the version is 1.3.0 or higher.
In order to enable a transaction guard on your Safe, click "New transaction" and then "Contract Interaction".
In the "To" field you need to add the singleton address of your Safe (Called "mastercopy" in previous Safe versions.)
Safe: Singleton 1.3.0
Safe: Singleton L2 1.3.0
The ABI should be pulled automatically. Select
setGuard from the method dropdown.
Now change the "to" to your Safe address.
Add the address of the guard you would like to set as parameter of the
Again, please note: The address must be a contract that implements the logic required for a Safe transaction guard. Please refer to the safe-contracts repo for details. If you set an account or address which is not compatible, you Safe will be bricked and you will not be able to make any transactions with your Safe afterwards. All your funds will be frozen. Please only continue if you know what you are doing.
After clicking "Review" you can initiate and sign the transaction just like any other Safe transaction.
After the transaction is confirmed, you will be able to see (and remove) the guard that you have added in the advanced settings section.
(Note this will only be possible starting version 3.13.0 of the web interface. )