Empowering Innovation: ERC-4337 Account Abstraction Grant Round Recipients

The Ethereum Foundation is pleased to announce the successful conclusion of the ERC-4337 Account Abstraction grant round. This grant initiative will support 18 teams in their efforts to build diverse projects centered around ERC-4337, also known as Account Abstraction.

Each team's project uniquely aligns with the goals of the ERC-4337 AA grant, and we believe that the outcomes of these endeavors will ripple through the ecosystem, inspiring new ideas and opportunities for collaboration.

The passionate and talented individuals driving these projects are at the heart of this grant round's success, and have demonstrated a deep understanding of the Ethereum ethos and a commitment to pushing the boundaries of what's possible. This round’s grantees encompass a diverse range of skills and experiences, uniting under the shared objective of advancing Ethereum's capabilities.

For insight into the individual projects and the teams steering them, we encourage you to explore the project overviews outlined below, provided by the teams themselves (listed in no particular order). As these projects move forward, we eagerly anticipate their progress and the potential impact they will have on Ethereum's trajectory.

Stay tuned for further updates as the projects develop. Together, we are charting the course for the next 1 billion users on Ethereum, one step at a time.

ZeroDev Kernel

ZeroDev Kernel, or Kernel for short, is a smart contract account designed from the ground up to be:

  • Used in AA wallets – Kernel is compatible with ERC-4337

  • Efficient – We took great care to optimize its gas usage

  • Modular – Kernel can be extended with “plugins”

Plugins are smart contracts that customize the behavior of the account.  We recognized that it’s impossible to predict what a user will need from their smart contract account, since over the course of using the account they will interact with many different DApps.  Therefore, the only solution is to make the account extensible, so the user can add new functionalities to their account over time.

At the moment of writing, Kernel is the most widely used AA account on all major EVM networks (Ethereum/Polygon/Arbitrum/Optimism/Base).  Kernel is a project of ZeroDev, which builds infra and tooling for developers to integrate AA.  Our CTO Taek Lee is the mastermind behind Kernel and he writes about Kernel on our blog.

Team members: Derek Chiang | Taek Lee

Links: Website | Twitter

Etherspot’s Skandha Bundler

ERC-4337 introduces a distinct mempool designated for activities performed by account abstraction wallets. Additionally, it presents a novel concept called a "bundler," which amalgamates users' operations into the conventional transaction framework. This bundler-driven approach enables the enforcement and execution of account abstraction without altering the underlying protocol. This mechanism also lays the groundwork for potential seamless integration in the future. The importance of a P2P interface in the bundler becomes evident in this context. By incorporating the P2P interface, UserOps that are received by a particular bundler, are propagated across all interconnected peers. As a result, even in situations where a specific bundler exhibits faulty behavior or engages in transaction censorship, these UserOps remain viable for processing through alternate bundlers within the network.

The Etherspot team has helped Ethereum Foundation with the protocol specification for the shared mempool and is piloting the implementation of the shared mempool (P2P interface) using Etherspot’s implementation of the bundler. Etherspot’s bundler is called Skandha. It’s already available on six testnets and eleven mainnets, including Ethereum, Polygon, Optimism, Arbitrum, Fuse, Mantle, Gnosis, Base, Avalanche, BNB, and Linea.

More about Skandha: https://medium.com/etherspot/introducing-etherspots-skandha-erc-4337-bundler-service-f2570b2d7dc6

Team members: Partha | Utkir | Ardian

Links: Website | Dev Docs | Twitter | Discord | Telegram

MynaWallet

We are developing MynaWallet, a Contract Account that integrates with the Japanese Government-Issued ID Card (Myna Card), currently owned by approximately 100 million residents. We are leveraging the familiar method of tapping the card, enabling users to seamlessly make token payments, transfer or receive NFTs, and execute any transaction supported by their account, all without being conscious of crypto.

This has the potential to make crypto accessible to the great majority of Japanese residents. We would be delighted if this initiative serves as a precedent to inspire similar experiments in other countries to connect their national ID infrastructure to Ethereum and onboard their residents to crypto.

Demo Videos:

Team members: Hiro | Hide | Shin | Dan

Links: Github

Blocto: Support for AA in web3.js

Foremost, the Blocto team is both honored and humbled to be a recipient of the ERC-4337 AA grant. We believe our Web3.js project not only aligns with the goals of the ERC-4337 AA grant, but also plays an essential role in the broader landscape of dApp development.

In order to push the development of ERC-4337 forward, we decided to share 4337-specific RPC methods such as sendUserOperation, estimateUserOperationGas, getUserOperationByHash, getUserOperationReceipt, and supportedEntryPoints through Web3.js. By doing this, developers can use these methods to focus on what they truly care about: their amazing dApps. For example, if dApps want to provide a better user experience, they can change the call method from sendTransaction to sendUserOperation as long as the wallet provider supports this function.

Blocto is a firm believer in streamlining these processes to foster the growth of a supportive dApp ecosystem, and ultimately catalyze a new era of decentralized applications that are not only functional, but also both dev-centric and user-centric.

We cordially invite developers and other interested persons to join us on this exciting journey to shape the future of a decentralized web together.

Learn more about Web3.js, Blocto, and the core team👇

Project Github: https://github.com/web3/web3.js/pull/6302

Team members: Hsuan Lee | Jimmy Pan

Links: Website | Twitter | Github

Silius

Silius is a modular and highly efficient ERC-4337 bundler implementation in Rust. The project fully aligns with the broader ERC vision and ecosystem - staying up-to-date with spec changes and supporting up-and-coming features such as P2P protocol and alternative mempools. The bundler is structured in a way its core building blocks - main components and libraries - can be reused as Lego bricks in other AA projects in the ecosystem. Silius also contributes to the Rust Ethereum Ecosystem by building on and extending other Rust libraries and projects.

Team members: Vid Kersic | Will Q

Links: Github | Hackmd

Schnorrkel.js

We should highlight the fact that Schnorr signatures are enabled through account abstraction. If it wasn’t account abstraction, each dapp would have to write Schnorr signatures handling in his contracts and explain to the world and EOA wallets why they have to sign two messages (the ECDSA for the mempool and Schnorr for the actual transaction), making it extremely clunky to use. All resolved thanks to Account Abstraction. Just sign your UserOperation with Schnorr and pass it on to the paymaster. Schnorr signature validation is handled on the AA smart contract. In other words, AA enables different signature schemes.

Why multisig schnorr?

  • Complexity is offchain, making on-chain schnorr validation extremely cheap (around 3k gas)

  • Privacy - on-chain no one knows the number of participants since they are represented by a single address

QR-Seal is a fully ERC-4337 compatible Schnorr multisignature wallet using the Schnorr library that won the grant, the Ambire Wallet contracts for AA and Pimlico for paymasters. We participated in the ETH Prague hackathon and won the ETH Future category with QR seal. The hack highlights how two people can create a multisignature wallet, passing data through QR codes.

Team members: Borislav Itskov | Kaloyan Kosev | Cvetan Mihaylov

Links: Website | Github | Demo video

Ambire: self-custodial email/password authentication via DKIM

Email registration is a viable approach for onboarding new users to crypto, as it presents a familiar flow for using email for access and recovery. We are going to provide an easy and more native way to add a recovery mechanism or transaction signing for Account Abstraction wallets, that’s also more secure. Such a type of recovery or transaction signing will enhance self-custody and UX for new users in Web3.

Such a library will minimize the effort of other developers who are focused on AA solutions to provide more friendly UX applications to their users.

Also, we believe that such applications will significantly onboard new users in the Web3 world.

The library will be fully open-source and licensed with a permissive license like MIT, as are all our current efforts on DKIM verification or email/password accounts.

Ambire is a web-based account abstraction wallet launched in late 2021, the first to offer self-custodial account creation using email/password authentication, thanks to an underlying 2/2 multisig.

After one year of running on Mainnet and other EVM networks, we believe that email/password accounts demonstrate how account abstraction makes Ethereum more inclusive. We found out that email-based registration is perfect for onboarding people who aren't technical or patient enough to deal with seed phrases or browser extensions.

Ambire Smart Accounts provide options for multiple signers. We support two types of signers. The first one is email/password signers, and the second one is EOAs, like hardware wallets, browser extensions (Web3 wallets), etc.

When using email/password signers, Ambire creates a 2/2 multisig under the hood for you, where one of the keys is on your device and encrypted with the password, while the other is responsible for verifying email confirmation codes and “lives” on a back-end HSM. Both keys are necessary to control the account, but one is enough to trigger the timelocked recovery procedure.

We provide a recovery option for email/password accounts in case the password or email access is lost. If a transaction was signed with only one of the keys, the contract triggers a time-lock recovery for 72 hours. After 72 hours, the missing key from the transaction will be replaced with a new one provided by the user in the same transaction.

For more details, read our security model or more generally, our whitepaper.

Team members: Ivo Georgiev | Gergana Mihaylova | Petromir Petrov

Links: Website | Twitter

IoTeX: ZKP-based account abstraction wallet

Leveraging zero-knowledge proofs (ZKPs), our ZKP-based account abstraction wallet enhances and broadens the potential of on-chain gaming, DeFi, DeSocial, DePIN, among other applications, establishing the interoperability between Ethereum and real-world applications.

The wallet uses zkSNARK to confirm account access: If users have the right password, they can use a prover to generate a valid proof that unlocks the account. The on-chain smart contract then verifies this proof to authenticate the transaction.

Our forward vision involves incorporating ZKPs across multiple facets of the account abstraction wallets, including wallet operations via web2 authentication, social recovery using web2 social media status, and initializing 0-balance wallets using prevalent web2 payment channels.

The project team consists of two senior researchers from the IoTeX team.

Progress

We have already completed many infrastructure projects for account abstraction at the IoTeX network, such as bundler, paymaster and ZKP/P256 smart accounts etc. And also we have completed the MVP version of this project, below is the code repository:

  1. Smart contracts - https://github.com/iotexproject/zkp-wallet-contracts

  2. ZKP circuits - https://github.com/iotexproject/zkp-wallet-circuits

  3. UI - https://github.com/iotexproject/zkp-wallet-ui

  4. Live demo - https://zk-wallet-demo.iotex.io/

Team members: Dr. Xinxin Fan | Leo Yang

Links: Website | Twitter

SixdegreeLab: On-chain Data Analysis

The original vision of this project is to equip Web3 data analysts with the necessary knowledge and skills to adapt to the changes in the Ethereum and EVM chain data structure caused by ERC-4337, and maintain effective on-chain data analysis. Specifically, this project will:

  1. Provide several data metrics dashboards to help account abstraction practitioners understand the ecological data situation. Also, create an aggregated data table to assist analysts.

  2. Provide an educational tutorial document that covers the impact of account abstraction on on-chain data analysis, which will be accessible to Web3 data analysts, equip them to adapt to the new data structure, and perform on-chain data analysis effectively in Web3.

  3. As more and more players engage in Account Abstraction, including infrastructure, dApps, and mainstream users, we need a data perspective report to illustrate the state of current ERC-4337 adoption. This is what we will do based on the above analysis.

By addressing the impact of ERC-4337 on on-chain data analysis and exploring the native account abstraction mechanism in other Layer2 and EVM chains, this project can provide valuable insights and resources for data analysts working in the Ethereum ecosystem. This, in turn, can lead to more effective identification and mitigation of vulnerabilities and performance issues on the Ethereum platform, helping to ensure its continued success and growth.

Overall, this project can help to ensure that on-chain data analysis remains a valuable and effective tool for the Ethereum community, and contribute to the growth and success of the Ethereum ecosystem by providing insights and resources for data analysts working in both Ethereum, Layer2 and EVM chains.

Check out what the team has accomplished so far!

Metrics Dashboard & Aggregated Table

What’s next?

ERC4337 Analysis Tutorial

  • conceptual of account abstraction

    • Explain the EntryPoint contract
  • AA Players Analysis - User, bundler, paymaster, wallet factory

  • Advanced analysis - gas, called contract operation

Account Abstraction Report

  • Half-Year Report of Account Abstraction

Team members: Louis Wang | Spring Zhang | Julyan | 0xbi | 0xetwas

Links: Website | Twitter

Jam: Picnic’s DeFi Transaction Batcher

Jam is an open-source API that generates DeFi operations for ERC-4337 applications. Our goal is to enable developers to easily offer a wide variety of DeFi products through a simple API while making DeFi more accessible to end users. You ask Jam on how to execute a particular DeFi operation and receive the calldata that executes all the required steps in a single transaction.

Example: Going from token A to a staked liquidity pool of tokens B and C
Example: Going from token A to a staked liquidity pool of tokens B and C

We (Picnic) have been working with various DeFi integrations over the last 2 years and have felt the hurdles of maintaining this kind of infrastructure. We believe the best way to move forward is to turn this into a public good and the Ethereum Foundation grant is an amazing way to coordinate along the community. A more detailed description of the project and relevant links can be found at: http://jam.usepicnic.com

Team members: João Ferreira | Pedro Brandão | André Thiessen

Links: Website | Twitter

TokenSight: Account abstraction MFA using WebAuthn

The problem we are trying to solve is related to on-chain smart contract wallet security, and our approach is focused on two overlapping directions - creating an ERC-4337 smart contract wallet with a WebAuthn device, and providing developer tooling for adding WebAuthn device as a multifactor transaction authorization mechanism to existing ERC-4337 wallets.

Our approach is based on full on-chain implementation for a gas cost optimized WebAuthn signature verification scheme without utilizing any kind of MPC architecture, thus providing maximum security and decentralization.

The team behind this project consists of Nasi and Blagoj with many years of combined experience in the blockchain industry. We are passionate about smart contract security, and bringing maximum security with a seamless UX to the users’ funds in their smart contract wallets is something that we believe to be of very high importance in onboarding the next billion users. We are currently building Tokensight (https://tokensight.io/) which will be the first application that will use our open-sourced WebAuthn wallets.

Our goal is to serve smart contract wallet security at the tip of the users’ fingers.

Team members: Blagoj Dimovski | Nasi J.

Links: Website | Twitter

ZK-Team: PriFi Labs’ Privacy-Preserving Account Abstraction for Teams

An invaluable aspect of account abstraction lies in its ability to facilitate shared ownership of an account among team members, enabling them to transact seamlessly as a unified entity. An organization can create an abstract account with predefined rules to manage authorized individuals and their allocated spending limits. In a naive setup, the team members' addresses and their corresponding allowances will likely be written on the blockchain. Doing so raises a valid privacy concern since organizations may prefer not to disclose such sensitive information publicly.

ZK-team is a proof-of-concept of privacy-preserving abstract accounts that allows organizations to manage team members while upholding their individual privacy. By leveraging zero-knowledge proofs, ZK-team enables transactions that ensure the confidentiality of team members' distinct addresses and their associated allowances. We expect our project to be a turnkey solution for organizations to manage teams and assets as well as a reference for Ethereum developers who want to use zero-knowledge proofs for protecting the privacy of information stored in account abstractions.

PriFi Labs is a startup from Toronto, Ontario, Canada that does research on enhancing security and privacy in blockchain applications.

Team members: Thierry Sans | David Liu

Links: Website | Twitter

Rhinestone: Modular Account Abstraction

Account abstraction promises enhanced security and meaningful UX improvements, without compromising the web3 ethos. At Rhinestone, we believe the future of account abstraction is modular, where modules are smart contracts that extend the functionality of smart accounts – enabling a new platform for permissionless wallet innovation.

However, opening up smart accounts to third-party developers via modules increases the attack surface for the user's account. We are developing a standard for registering modules and attestations that assert statements about the security of those modules. This registry serves as a trust delegation mechanism for smart accounts to query before installing third-party modules to increase the security guarantees for users.

Team members: Konrad Kopp | Kurt Larsen | ZeroKnots

Links: Website | Twitter | Github

AAA: Account Abstraction Afterhours

At AAA, our journey began with a simple idea – to promote awareness of AA and 4337. While we may not be hands-on with coding anymore, our passion for technology and commitment to mass crypto tech adoption remain as strong as ever. We firmly believe that account abstraction holds the key to unlocking widespread adoption.

What started as modest developer meetups has blossomed into a series of impactful events across three continents. These events have served as a platform for knowledge-sharing and community-building, aligning perfectly with the goals of the ERC-4337 AA grant.

Looking ahead, we're excited to expand our impact even further. Educational videos and interactive tutorials are on the horizon, allowing us to empower more individuals to engage with and understand crypto technology. We're honored to be part of this journey, and we're dedicated to making a meaningful contribution to the crypto tech landscape.

AAA in Paris 2023
AAA in Paris 2023

Team members: Mirko Garozzo | Francesco Andreoli

Unpacking 4337 - a series of technical articles

I received a grant to understand “what’s happening under the hood” in EIP-4337 components. The aim is to reduce the amount of time & effort needed for developers and researchers to catch up to what’s happening and start focusing on the specific areas they’re interested in contributing to further.

The three topics are:

  1. The user-op lifecycle: Journey of a userOp in a bundler and the different functions the bundler invokes in the entrypoint to validate and finally submit it on-chain.

  2. Understanding different gas parameters: There are multiple gas parameters specified at the bundler, mempool, and userOp level (as listed here). Explaining these parameters and their impact.

  3. Explaining the different calldata parameters:

    1. Input Transaction Calldata

    2. UserOp.Calldata

    3. Multisend Txns Calldata

The articles will be published on JiffyScan’s Blog and/or Medium posts.

You can read the first article here:  4337 Input Transaction Calladata and UserOp Calldata.

Team Members: Aditya Agarwal

Hexlink aims to give all ENS users a ready-to-use AA-compatible smart account with EIP-4972. With Hexlink, a unique AA-compatible smart account that is exclusively deployable by the domain name owner could be derived from each ENS name and used to receive cryptocurrency immediately. Considering that the majority of ENS names are currently controlled by EOA, we believe that this dual-account setup would aid in the migration from EOA to smart accounts by transforming all existing ENS users to AA users, and therefore promote wider adoption of AA.

Team members: Shu Dong | Peter Chen | Zihao Chen

Links: Website | Twitter

UniPass: OpenID Authentication Module

Account Abstraction empowers developers to tailor validation logic and take advantage of a diverse range of internet infrastructure for user authentication. We at the UniPass team are introducing a novel solution for user authentication that verifies on-chain signatures of the ID token from the OpenID Connect protocol - OpenID Authentication Solution for New Users Onboarding and Recovery.

This solution, when combined with ERC-4337, facilitates one-click OAuth login and account creation for new users using social logins such as Google and Apple. Moreover, it streamlines the recovery process in the event of key loss or compromise. This project aims to build a library that enables ERC-4337 wallet developers to easily integrate OpenID authentication into their products.

Follow us - https://twitter.com/UniPassWallet as we are building an AA wallet under stealth mode for now.

Team members: Jason Chai | zz | Aven | kylexyxu

Links: Website | Twitter

Clave: promoting secp256r1 curve support for AA

While account abstraction solutions are coming out, providing a better user experience without compromising security is still one of the principal challenges. Clave team (previously Opclave) is researching and developing tools about utilizing mobile device native software & hardware solutions as signers to bring mobile device wallets to the hardware wallet security level by maximizing the user experience. Here are some goals of the grant scope:

  • Sharing research outputs to utilize solutions such as Secure Enclave, WebAuthn, Passkeys etc.

  • Providing example codes to use these solutions as transaction signers

  • Providing example codes to handle these signed transactions in smart contracts

  • Providing example account contracts managed by these solutions by integrating Solidity verifiers and precompiled contracts

  • Advocating EIP-7212 to improve these solutions for efficient use in the EVM

The Clave team includes developers and researchers who introduced the concept firstly in the “ETHGlobal Scaling Ethereum 2023” hackathon. Now, the team is working on providing account abstraction-powered accounts utilizing mobile devices’ trusted execution environments as signers.

Team members: Baki Er | Eren Yecan | Rafi Ersozlu | Ulaş Erdoğan | Doğan Alpaslan | Farhad Asgarov | Tahir Ozpala | Hamza Karabag | Alim Sahin | Ismail Emin

Links: Website | Twitter | Hackathon Page

🎨 Cover Image Artist: https://viktorhachmang.nl/

Subscribe to erc4337
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.