Safe Wallet Support in Enscribe
We’re excited to announce that Safe smart account wallet support is now live in Enscribe. Whilst Enscribe already has support for commonly used wallets like Metamask and Coinbase, Safe was not fully compatible..
This update enables deploying a new contract and setting an ENS name for it or naming an existing contract with your Safe wallet with full control over transaction approval and execution.
Why Safe Wallet?
Safe is commonly used as a multi-signature wallet in the Ethereum ecosystem. A Safe wallet account can have multiple Ethereum accounts configured as signers behind it. When a transaction is to be approved and executed, all signers must sign & execute that transaction.
This process can happen asynchronously without waiting for approvals from all the signers. This is unlike executing transactions with a wallet like Metamask where every transaction request will block until it is either approved or rejected.
It’s ideal for workflows where transparency and decentralized control are required.
What You Can Do with Safe in Enscribe
Enscribe now enables you to:
- Deploy new contracts with ENS names set using your Safe wallet.
- Name existing contracts with ENS names from your Safe address.
Supporting Safe required a different approach from the typical MetaMask-style interactions, where each transaction prompts a popup that demands immediate attention. With Safe, Enscribe queues transactions, so they can be approved via the Safe App.
How to Connect to Safe Wallet in Enscribe
Connecting to a Safe wallet is slightly different from connecting to Metamask or Coinbaser wallet. To connect to your Safe wallet, click on the Connect button on the top right corner on Enscribe:
On the Connect a Wallet popup, select WalletConnect
Now click on the OPEN button to open the WalletConnect modal
Click on Copy link and go to your Safe wallet app. Click on the WalletConnect icon on the top bar
Now paste the copied link in the Pairing code field in the popup
You should now see Enscribe as connected app
Once connected, you’ll see your Safe wallet account shown as connected in Enscribe as well as in the Safe App.
Kicking off Transactions
With Safe wallet, our naming-related transactions are sent to the Safe wallet queue without waiting for them to complete. This is because Safe wallet intercepts our Enscribe transactions & executes them in its own multisig transactions. Therefore, Enscribe doesn’t have knowledge of these transactions whilst pending.
Enscribe differentiates between a Safe wallet and a wallet like Metamask and will modify the behavior of waiting for transactions to complete accordingly. This is how pending transactions look like in the Safe wallet:
On executing the above pending transaction to set the primary name of a contract, we can see the contract details in Enscribe:
We can also rename the contract we just deployed. Let’s say we rename it to safewallet13.testapp.eth. Like before, two transactions - setting forward resolution and setting reverse resolution - will be kicked off in the Safe wallet app:
And we see two transactions in the Safe wallet app that we can bulk execute:
We see our contract now has a new name:
Having full support for Safe ensures that teams protecting key contracts with a multisig can properly name their contracts with Enscribe.
If you have Safe controlled contracts you wish to name, you can try naming your contracts with Safe wallet at app.enscribe.xyz!
Happy naming! 🚀