Next generation payment infrastructure for agents, merchants and users.
Unwallet
Unwallet is a privacy-first smart account platform that enables seamless agent-to-agent payments with programmable automation. Built on ERC-7579 modules and stealth address technology, Unwallet provides:
- Privacy by Default: All transactions use stealth addresses for enhanced anonymity
- Agent-Ready: Native support for Google's A2A payment standard with x402 protocol
- Automated Yield: Smart accounts automatically deploy funds to yield-generating protocols
- Gasless Transactions: Sponsored transaction infrastructure for seamless UX
- TEE Security: Trusted Execution Environment for secure address generation and verification
Key Differentiators:- Dual Resolution: Both decentralized ENS and centralized TEE address resolution
- Programmable Modules: Auto Earn, Auto Swap, and zkEmail Recovery modules
- Agent Integration: SDK abstracts complex A2A implementation
- Privacy-First: Stealth addresses for all user and agent transactions
Target Market: AI agents, DeFi protocols, and privacy-conscious users requiring automated, private fund management with seamless agent interoperability.
---
This repository contains multiple components of the Unwallet ecosystem organized as a monorepo:
## Core Components
- `kernel/` - Core ZeroDev Smart Account Contracts for ERC-7579 Auto Yield Generating and Swap module. Contains the main kernel implementation, validators, and factory contracts for smart account functionality.
- `server-unwallet/` - TEE (Trusted Execution Environment) implementation of the stealth address generating server. Provides secure stealth address generation and Safe smart account prediction services with Express.js API.
- `ui/` - Unwallet client application UI (submodule from [unwallet-client-app](https://github.com/vwakesahu/unwallet-client-app)). Next.js-based frontend with wallet integration and user interface components.
## Development & Examples
- `unwallet-sdk-example/` - SDK usage examples demonstrating how agents/merchants can send and receive payments using the Unwallet SDK.
- `example-ui/` - Example UI application with AI chat functionality that automatically invokes other agents using 8004 standard and x402 API. Showcases integration patterns and AI-powered interactions.
## External Dependencies
- `x402-arbitrum/` - x402 payments protocol implementation for Arbitrum (submodule from [x402-arbitrum](https://github.com/vwakesahu/x402-arbitrum)). A payments protocol for the internet built on HTTP with multi-language support.
## Project Structure
- `kernel/` - Core ZeroDev Smart Account Contracts for ERC-7579 Auto Yield Generating and Swap module
- `server-unwallet/` - TEE implementation of stealth address generating server with Express.js API
- `ui/` - Unwallet client application UI (submodule from [unwallet-client-app](https://github.com/vwakesahu/unwallet-client-app))
- `unwallet-sdk-example/` - SDK usage examples for payment integration for agents and mercahnts
- `example-ui/` - Example UI application with AI chat functionality and wallet integration
- `x402-arbitrum/` - x402 payments protocol implementation for Arbitrum (submodule from [x402-arbitrum](https://github.com/vwakesahu/x402-arbitrum))
## How Unwallet Makes Privacy-First Smart Accounts Possible
### Overview
Unwallet provides privacy-by-default smart accounts with programmable ERC-7579 modules, enabling users and agents to manage funds privately while accessing automated features like yield generation and token swapping.
### Core Architecture
#### 1. User Onboarding & Wallet Creation
When users or agents join the platform:
- Embedded Wallet Creation: Users can create wallets using email, phone number, or connect existing wallets
- Privacy Configuration: Upon login, users configure desired modules (Auto Earn, Auto Swap, zkEmail Recovery)
- Stealth Address Generation: System pre-computes stealth addresses for enhanced privacy
#### 2. Stealth Address System
Address Pre-computation Process:
1. User signs a message upon login
2. System uses ECDH and ECDSA to generate two key pairs:
- Spending Public Key + Viewing Private Key → Generate stealth addresses
- Spending Private Key + Viewing Public Key → Generate private keys for fund access
3. TEE pre-computes all addresses and generates new ones on request
#### 3. Module System (ERC-7579)
Our platform uses ERC-7579 modules built on Kernel accounts:
Available Modules:-
- Auto Earn: Automatically deposits received funds into yield-generating protocols
- Auto Swap: Swaps received tokens to user's default token (set during config)
- zkEmail Recovery: Enables recovery for all stealth smart accounts
Module Installation:- Modules are installed on smart accounts based on user configuration
- Each module executes only its designated function (security by design)
- Swap module → token swapping only
- Earn module → vault deposits only
#### 4. TEE Integration
Current & Future State:-
- Current: Hosted on traditional server (AWS EC2)
- Future: Full TEE (Trusted Execution Environment) deployment
TEE Benefits:
- Payers can verify TEE attestation
- Ensures funds are sent to correct addresses
- Validates proper address computation
- Enhanced trust and security
#### 5. Agent Compatibility
Google A2A Integration:-
Supports Google's A2A (Agent-to-Agent) payment standard using x402
- SDK abstracts A2A implementation
- Provides smart account features + modules + privacy through stealth addresses
- Seamless agent integration
### System Flow
#### Basic Data Flow
User data (SpendingPublicKey, ViewingPrivateKey, UserName, Config) flows from User/Agent to TEE, which is used by the TEE to create stealth addresses for future payments.
#### Smart Account Module Structure
zkEmail, auto_earn, and swap_module components integrate into the Smart Account, with the create3Proxy function generating the final account address.
#### Agent Communication Flow
The agent communication flow demonstrates how two agents can securely exchange data with payment verification. This process supports two different address resolution methods, both providing the same result:
Step-by-Step Process:
1. Data Request: Agent requests specific data from Agent1
2. Payment Request: Agent1 responds with a payment requirement ($1 on agent.unwallet.eth)
3. Address Resolution (Two Methods):
Method A - Decentralized ENS-Based Resolution:
- Agent1 queries ENS (Ethereum Name Service) for "agent.unwallet.eth"
- ENS performs an off-chain lookup to the TEE
- TEE returns the resolved address (0xabc)
Method B - Direct TEE-Based Resolution:
- Agent1 directly queries the TEE for "agent.unwallet.eth"
- TEE performs the address resolution internally
- TEE returns the same resolved address (0xabc)
*Both methods provide identical results, ensuring consistency regardless of the resolution path chosen.
4. Address Delivery: TEE returns the resolved address (0xabc) to Agent1
5. Payment Execution: Agent sends $1 to the resolved address (0xabc)
6. Data Delivery: Agent1 delivers the requested data to Agent after payment confirmation
#### TEE Smart Account Deployment
The TEE listens to contract events and, as soon as it detects that a smart account has received funds that can enable modules, it deploys the auto_earn Smart Account using session keys, contract integration, and Aave protocol interaction.
### Key Features
#### Privacy by Default- All transactions use stealth addresses- Enhanced anonymity for users and agents- Private fund management
#### Programmable Smart Accounts- ERC-7579 module standard- Customizable automated features- Secure, function-specific modules
#### Agent-Ready- A2A payment standard support- Simple SDK integration- Seamless agent-to-agent transactions
#### Yield Generation- Automatic fund deployment to secure vaults- No manual intervention required- Configurable yield strategies
### Gasless Transactions
Unwallet provides gasless transactions through our relayer infrastructure:
- Relayer Account: [0xAF9fC206261DF20a7f2Be9B379B101FAFd983117](https://sepolia.arbiscan.io/address/0xAF9fC206261DF20a7f2Be9B379B101FAFd983117) on Arbitrum Sepolia
- Gasless Execution: Users can execute transactions without holding ETH for gas
- Sponsored Transactions: Relayer covers gas costs for enhanced user experience
### Technical Implementation
The platform combines:
- Stealth Address Privacy: ECDH/ECDSA key generation
- Smart Account Programmability: ERC-7579 modules on Kernel
- TEE Security: Trusted computation and verification
- Agent Integration: A2A standard with x402 protocol
- Gasless Transactions: Relayer infrastructure for seamless UX
This creates a comprehensive solution for private, automated, and agent-compatible fund management.
We were able to create 7579 module-based kernel smart accounts (zero-dev) and write end-to-end tests for them. You can check the code in the kernel/ folder of our monorepo. We also built NFC card-based private payments.
We have already reached out to 50+ AI builders from the Arbitrum AI Builders group and are also receiving support from the Ethereum Foundation team, specifically the proposers of ERC-8004 and ERC-5564. Additionally, we have closed two customers who have signed MOUs confirming that they will be using us on mainnet