Vibe3 Wallet - AI-Powered Smart Wallet
Vibe3 Wallet is an AI-powered smart wallet, featuring an integrated Agent tool system that enables users to interact with their wallet through natural language commands.
๐ Key Features
๐ค AI Agent System
- Natural Language Interaction: Operate wallet through natural language commands
- Intelligent Tool Integration: Complete wallet functionality toolset built-in
- Multi-step Operations: Support complex DeFi operation workflows
- User Confirmation Mechanism: All transaction operations require user confirmation
๐ฐ Wallet Functionality
- Multi-chain Support: Support for Ethereum, Polygon, BSC, and other major blockchains
- Token Management: Complete token balance query and management
- Transaction Sending: Secure transaction sending and confirmation
- DeFi Integration: Built-in Swap and Bridge functionality
๐ง Agent Toolset
Query Tools (No Confirmation Required)
getBalance- Balance queriesgetTokenBalance- Token balance queriesgetTransactionHistory- Transaction history queriesgetTokenPrice- Token price queriesgetAllAssets- All assets queries
Transaction Tools (Confirmation Required)
sendTransaction- Send transactionsapproveToken- Token approvals
Advanced DeFi Tools (Confirmation Required)
swapTokens- Token swapsbridgeTokens- Cross-chain bridging
Browser Automation Tools (No Confirmation Required)
navigateToUrl- Navigate to web pagesclickElement- Click web elementsfillForm- Fill out formswaitFor- Wait for page conditionsscrollPage- Scroll page contenttakeScreenshot- Capture screenshotsswitchTab- Switch browser tabscloseTab- Close browser tabselementSelection- Visual element selectionelementAnalysis- Element accessibility analysisfindElements- Find page elementshighlightElement- Highlight elements
๐ Quick Start
Install Dependencies
npm install
Start Development Environment
npm run dev
Build Production Version
npm run build
๐ Usage Guide
Natural Language Interaction Examples
Query Operations
User: "Check my wallet balance"
Agent: Calls getBalance tool
User: "What's the price of ETH?"
Agent: Calls getTokenPrice tool
User: "Show recent transaction history"
Agent: Calls getTransactionHistory tool
Transaction Operations
User: "Send 0.1 ETH to 0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6"
Agent: Calls sendTransaction tool, displays confirmation interface
User: "Approve USDC for Uniswap"
Agent: Calls approveToken tool, displays confirmation interface
DeFi Operations
User: "Swap 1 ETH for USDC"
Agent: Calls swapTokens tool, displays swap details and confirmation interface
User: "Bridge 0.5 ETH from Ethereum to Polygon"
Agent: Calls bridgeTokens tool, displays bridge details and confirmation interface
Browser Automation Operations
User: "Go to Uniswap and connect my wallet"
Agent: Calls navigateToUrl, then clickElement for wallet connection
User: "Fill out the swap form with 1 ETH to USDC"
Agent: Calls fillForm with swap parameters
User: "Take a screenshot of the current page"
Agent: Calls takeScreenshot tool
User: "Find all buttons on the page"
Agent: Calls findElements with button criteria
๐ Documentation
- Agent Tools User Guide - Detailed tool usage instructions
- API Reference Documentation - Complete technical interface documentation
๐๏ธ Architecture Design
Core Components
ToolRegistry
- Tool registration and management
- Caching mechanism and performance optimization
- Usage statistics and monitoring
Web3Action
- Wallet functionality execution engine
- User confirmation mechanism integration
- Error handling and retry logic
ConfirmationManager
- Transaction confirmation workflow management
- Risk assessment and user notifications
- Security mechanism safeguards
BrowserAutomationController
- Browser automation and web interaction
- Element selection and analysis
- Screenshot and tab management
- Form filling and navigation
Technology Stack
- Frontend: React + TypeScript
- Wallet: Based on Rabby wallet
- AI: LangChain + OpenAI
- Blockchain: Web3.js + Ethers.js
- Browser Automation: Puppeteer + Chrome Extension API
- Caching: In-memory cache + persistent storage
๐ Security Features
User Confirmation Mechanism
- All transaction operations require user confirmation
- Detailed transaction information display
- Risk assessment and warning notifications
Permission Control
- Sensitive operations require additional verification
- Permission level management
- Operation audit logging
Risk Control
- Transaction amount limits
- Slippage protection
- Price impact checks
- Malicious contract detection
๐งช Testing
Run Tests
npm test
Test Coverage
- Unit Tests: Tool functionality testing
- Integration Tests: Agent system testing
- End-to-End Tests: User interaction testing
- Browser Automation Tests: Web interaction testing
๐ Performance Monitoring
Performance Metrics
- Tool execution time statistics
- Cache hit rate monitoring
- Error rate and success rate tracking
- User behavior analysis
Monitoring Dashboard
- Real-time performance metrics
- Tool usage statistics
- System health status
- Anomaly alert mechanism
๐ค Contributing
Development Environment Setup
- Fork the project
- Create a feature branch
- Commit code changes
- Create a Pull Request
Code Standards
- Use TypeScript
- Follow ESLint rules
- Add unit tests
- Update relevant documentation
Vibe3 Wallet - Making blockchain interaction smarter, safer, and simpler!
Log in or sign up for Devpost to join the conversation.