Introducing Safe7579

Safe is now compatible with the growing ERC-7579 module ecosystem

Engineering
Kurt Larsen
July 5, 2024
All posts
Share this:

TL;DR

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.

The Module Marketplace

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:

  1. Interoperability between smart accounts and modules
  2. Module security while minimizing centralized dependencies
  3. Simple tooling for distribution, discovery, usage, and monetization of modules.

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.

Safe Officially Joins the 7579 Ecosystem

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.

Impact on the Safe Ecosystem

Safe7579 Adapter has many benefits for the Safe Ecosystem:

  • Module interoperability: All modules built for the ERC-7579 account ecosystem can now be incorporated into any Safe dapp to unlock new functionality and experiences for Safe users. There are already 35 reusable modules in the 7579 ecosystem, with 12 audited and production-ready from us at Rhinestone and more built by our partners.
  • Modular validation: The Safe7579 Adapter introduces modular validation, allowing the Safe account to break out from the m-of-n validation scheme and introducing powerful features like Passkeys and Session Keys.
  • A bigger TAM for Safe developers: Safe developers who build with the Safe7579 adapter now have an expanded TAM, including all the major 4337-native accounts (Biconomy, Kernel, and OKX smart accounts). Many more wallet providers are adopting ERC-7579.
  • Increased Safe portability for users: Safe users can now access a broader set of smart account first dapps built for the ERC-7579 ecosystem. For example, any dapp built for the Biconomy V3 or Kernel V3 can now adopt the Safe7579 adapter to serve Safe users.
  • Access to ERC-7579 tooling: The authors of ERC-7579 and the community are dedicated to building a rich set of tools for module and dapp developers, such as ModuleKit, permisionless.js, and ModuleSDK. These tools are now applicable to Safe developers.

ERC-7579 Tooling

ModuleKit

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.

ModuleSDK

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.

Module Distribution

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.

Module Security

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.

Start building with Safe7579

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.

Follow us for further updates

Share this:
Engineering

Sign up for the latest insights from the bleeding edge. All killer, no filler.

Thanks. We'll be in touch.
There was an error. Please try again.

Read another

No items found.

$5m Seed Led by 1kx to Unlock the Next Era of Smart Accounts. With participation from Circle Ventures, Alchemy Venture.

Engineering