AA Wallet Integration

Table of Contents

As a complement to the keystore rollup itself, we built an adapter to integrate the identity data with ERC-4337 smart contract wallets on L2.

Design Overview

To authenticate ERC-4337 AA wallets via identity data from the keystore rollup, the validation phase of the 4337 lifecycle needs to read the keystore rollup state and use it to validate userOps. Since the keystore state root is committed to L1 storage, the read can be facilitated by two Merkle proofs:

  • Storage proof from keystore state root to L1 blockhash
  • Merkle proof from identity data to keystore state root

To integrate into modular smart accounts, we provide a ERC-6900 and ERC-7579 compatible validation module, which:

  • Verifies identity data read from the keystore against the claimed identity data in the userOp.
  • Checks the freshness of the identity data using the timestamp in which the keystore state root was accessed.

We provide a more detailed specification of the validation module here.