ERC-4337 Account Abstraction

Smart Wallets & UX

Production-grade ERC-4337 implementation featuring smart contract wallets, gas sponsorship paymasters, session keys for seamless dApp interactions, and guardian-based social recovery.

Technology Stack

SolidityERC-4337OpenZeppelinHardhatUUPS Proxy

Key Features

Architecture

┌──────────────┐     ┌──────────────────┐     ┌────────────────┐
│   User/dApp  │────▶│  Bundler (RPC)   │────▶│   EntryPoint   │
└──────────────┘     └──────────────────┘     └───────┬────────┘
                                                      │
                     ┌────────────────────────┬────────┴────────┐
                     │                        │                 │
           ┌─────────▼─────────┐   ┌─────────▼──────┐  ┌──────▼──────┐
           │   SmartAccount    │   │  Verifying      │  │   Token     │
           │  (User Wallet)    │   │  Paymaster      │  │  Paymaster  │
           └─────┬───────┬─────┘   └────────────────┘  └─────────────┘
                 │       │
      ┌──────────▼──┐  ┌─▼──────────────┐
      │ SessionKey  │  │  SocialRecovery │
      │   Module    │  │     Module      │
      └─────────────┘  └────────────────┘

Code Sample

SmartAccount.sol

contract SmartAccount is
    BaseAccount, UUPSUpgradeable, Initializable {

    address public owner;
    IEntryPoint private immutable _entryPoint;

    // Execute a transaction from this wallet
    function execute(
        address dest,
        uint256 value,
        bytes calldata data
    ) external onlyEntryPointOrOwner {
        (bool success,) = dest.call{value: value}(data);
        require(success, "execution failed");
    }
}

Project Metrics

10

Smart Contracts

7

Test Suites

EIP-4337

Standard

Related Products

Blocknetics builds automated tools alongside our consulting practice:

Work With Us

This project represents the kind of production-grade blockchain engineering Blocknetics delivers. Whether you need a similar solution or want to extend an existing one, our team is ready.

Discuss Your Project → ← All Projects