Introducing Safe7579
Safe is now compatible with the growing ERC-7579 module ecosystem
Safe is now compatible with the growing ERC-7579 module ecosystem
Safe is now compatible with ERC-7579. You can build on Safe and any other 7579 smart accounts while accessing a growing ecosystem of ERC-7579 modules, tools, and services.
Modular smart accounts are the next composable platform for open innovation. Modules are self-contained smart contracts that extend the functionality of smart accounts — i.e., apps for smart accounts. This modularity allows any developer to access the programmable validation and execution of account abstraction and build powerful onchain products with seamless UX.
But there are multiple initiatives required to unlock the module marketplace:
At Rhinestone, we’re actively pushing the community forward on all three fronts. Most notably, we’ve dedicated significant resources and time to align the wider account abstraction community around a new standard for modular smart accounts: ERC-7579. This standard sets out the minimum requirements for modules to be easily interoperable between smart account implementations.
Initially, we attempted to address the incompatibilities between smart account implementations using purpose-built execution managers. These adapters transformed module functions to meet the requirements of the target account. While this approach was effective, it introduced significant technical overhead within the Rhinestone tech stack. It also led to a poor developer experience for certain module types that couldn’t easily be compatible with all account implementations. And in many cases, a significant amount of complexity needed to live onchain, increasing the gas cost for users.
We exposed these limitations to our account vendor partners, which led to the development of ERC-7579. At its launch, this standard had the backing of Biconomy, ZeroDev, and OKX, a collection of leading account abstraction players.
Today, we are excited to launch the Safe7579 Adapter and officially welcome Safe to the ERC-7579 ecosystem. The Safe7579 Adapter is what it says on the tin. It’s an interoperability layer between Safe and the emerging marketplace of smart account apps built on top of ERC-7579 accounts. This project was co-developed by Safe and Rhinestone and is just the tip of the iceberg for what this partnership can unlock.
Safe is the modular smart account OG. The design of Safe’s account was incredibly prescient. They pioneered executor modules (just called “safe modules” in the Safe ecosystem), hook modules (called “guards”), and a fallback system to make Safe infinitely extensible. The Safe7579 Adapter utilizes these fallback and executor mechanisms to make Safe fully compliant with the ERC-7579 ecosystem.
Safe7579 Adapter has many benefits for the Safe Ecosystem:
Rhinestone is dedicated to building an open module ecosystem. To facilitate this, we built ModuleKit, an abstraction library for building, testing, and deploying modules. ModuleKit’s killer feature is to enable developers to create a module that is instantly compatible with any ERC-7579 account. Build once, deploy everywhere.
We’re also building the ModuleSDK, a typescript library for using ERC-7579 modules within any application built for modular smart accounts. At launch, this SDK will provide easy access to 12 modules. These include table-stakes features like an ownable (ECDSA) validator, a multi-factor authentication module, and a social recovery module. They also include more advanced modules like a flash loan module, scheduled orders, and a cold storage hook. ZeroDev has contributed a passkeys module, and Biconomy will offer a session key module.
Modular smart accounts are not just composable platforms, they also present a novel distribution opportunity. Modules can become linchpin components to products delivered directly to the user’s account. To help facilitate this, Rhinestone is developing the Module Store, a module distribution point for any developer building products native to smart accounts. An early demonstration of this is ZK Email, which developed a recovery module that hooks into their services to provide a private email recovery service for smart account users.
Finally, Rhinestone is building the Module Registry. Its primary function is to enforce standards and security guarantees for users and developers when installing and using third-party modules. The Module Registry stores onchain security assertions (“attestations”) made by independent security entities. These attestations are queried during module installation and run time to ensure the right security thresholds have been met. The Module Registry will build upon ERC-7512 and play a pivotal role in unlocking an open ecosystem of modules by solving trust delegation in a permissionless manner. To dive into the technical specifications of the Module Registry, check out ERC-7484.
Head over to permissionless.js to get started with Safe7579. From launch, this adapter can be used as a drop-in replacement for the existing Safe4337 module or to launch new Safe accounts that are ERC-7579 compliant from the outset. To get started with pre-built modules, head over to ModuleSDK.