Safe owners can propose new transactions displayed in official Safe interfaces on web and mobile. An owner should sign the transaction to do so. Some teams need to enable non-owners to propose a transaction. Safe's "delegate key" feature allows to do that.
Can non-owner accounts propose a transaction?
Yes, a non-owner account can propose a transaction if delegated this right by an owner account. Delegates are not stored on-chain. Safe transaction service stores owner delegates off-chain in a database.
Can delegates receive mobile notifications about proposed transactions?
Yes, when a delegate key is authorized by the owner on mobile device, then the mobile device can receive notifications for signature requests on newly proposed transactions.
Can delegates sign transactions instead of an owner?
No, delegates can’t sign transactions. They can only propose a transaction, but owners must sign it to execute it.
How can I create a delegate?
As mentioned above, one of the main uses cases of delegate keys is that they enable receiving push notifications. Users can set their Safes up in a way that all signer accounts added to the app receive push notifications in case of signature requests or to inform them about newly proposed transactions.
On iOS, if you import or generate a key, connect hardware wallet such as Ledger Nano X or Keystone, or add an owner connected via WalletConnect device, the Safe app will allow you to sign a message to receive push notifications for signature requests. In this step, the Safe app generates a delegate key for that owner.
Disclaimer: currently available on iOS only.
On Android, the app currently does not support the delegate accounts, but enables push notifications for signature requests using the private keys added to the app.
How can I view and remove delegates?
(iOS only) You can find owner delegates on the owner key details screen: Settings → Owner keys → Key Details → Receive Push Notifications. If you turn off the switch, then the app will disable the delegate key and remove it. Removing the owner key will also remove the delegate key.
Technically advanced users can use the transaction service to manage delegates.