A programmable crypto wallet with Lua scripting capabilities
β οΈ SECURITY NOTICE: This project is currently in Phase 0 (Foundation) development. Do NOT use with real funds until security audit is complete.
Automata Wallet empowers users to automate and customize their crypto experience through secure, sandboxed Lua scripts. Think of it as "Tasker for Web3" - enabling everything from portfolio tracking to automated trading strategies.
Current Phase: Phase 0 - Foundation & Technical Validation (Week 1/3)
- Project & Infrastructure Setup
- WASM-Lua Proof of Concept
- Go/No-Go Decision
- Phase 0: Foundation & Technical Validation (3 weeks) β We are here
- Phase 1: Secure Core Wallet (5 weeks)
- Phase 2: Enhanced Wallet Features (3 weeks)
- Phase 3: Lua Scripting Foundation (5 weeks)
- Phase 4: State-Changing Operations (3 weeks)
- Phase 5: Security Hardening (3 weeks)
- Phase 6: Beta Preparation (2 weeks)
- Phase 7: Beta Launch & Iteration (6+ weeks)
Estimated Beta Launch: 24 weeks from project start
Security is our top priority. Our approach:
- β Sandboxed script execution (WASM + Web Workers)
- β User approval required for all state changes
- β WebCrypto API for encryption (AES-GCM)
- β BIP-39/BIP-44 standard compliance
- β External security audit planned (Phase 5)
- β Bug bounty program post-launch
- β Content Security Policy (CSP) enforcement
- β No external network access without explicit permission
- Create/import wallet from seed phrase
- Send/receive ETH and ERC-20 tokens
- Transaction history
- Multi-network support (Ethereum, testnets)
- Portfolio tracking with USD values
- Monaco-based script editor with syntax highlighting
- Read-only API (balances, contract reads, network data)
- State-changing API (transactions with user approval)
- Script templates and examples
- Real-time execution console
- Multi-chain support (Polygon, Base, Arbitrum, etc.)
- Script marketplace
- Scheduled script execution
- Mobile app
- Team/shared wallets
- Frontend: React 18 + TypeScript + Vite
- Styling: Tailwind CSS
- Blockchain: ethers.js v6
- Scripting: Lua (WASM-compiled via Fengari/Emscripten)
- Extension: Chrome Manifest V3
- Testing: Vitest + Testing Library
- CI/CD: GitHub Actions
- Error Tracking: Sentry
- Security: WebCrypto API, CSP headers
automata-wallet/
βββ src/
β βββ background/ # Service worker (MV3)
β βββ content/ # Content scripts
β βββ popup/ # Extension popup UI
β βββ components/ # Shared React components
β βββ hooks/ # Custom React hooks
β βββ lib/ # Core libraries
β β βββ crypto/ # Key management, encryption
β β βββ wallet/ # Wallet operations
β β βββ lua/ # Lua sandbox integration
β β βββ api/ # Lua API implementation
β βββ types/ # TypeScript definitions
β βββ utils/ # Helper functions
βββ public/ # Static assets
βββ docs/ # Documentation
β βββ architecture/ # ADRs and design docs
β βββ api/ # Lua API reference
β βββ security/ # Security model & audits
β βββ guides/ # Development guides
βββ scripts/ # Build and deployment scripts
βββ tests/ # Test suites
β βββ unit/
β βββ integration/
β βββ e2e/
βββ wasm/ # WASM modules (Lua)
- Node.js 18+
- pnpm (recommended) or npm
- Chrome/Chromium browser
# Clone repository
git clone https://github.com/Pulseonix/Automata_Wallet.git
cd Automata-Wallet
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build for production
pnpm build
# Run tests
pnpm test
# Lint code
pnpm lint
- Open Chrome and navigate to
chrome://extensions/
- Enable "Developer mode" (top-right toggle)
- Click "Load unpacked"
- Select the
dist/
folder from the project
- Unit Tests: Critical crypto and wallet operations (100% coverage goal)
- Integration Tests: Lua sandbox, API bridge, transaction flows
- E2E Tests: Full user workflows with Playwright
- Security Tests: Sandbox escape attempts, XSS, injection attacks
- Performance Tests: Script execution benchmarks, memory profiling
This project is currently in early development. Contributions will be welcome after Phase 3 (Lua Scripting Foundation) is complete.
- Code style enforcement via ESLint + Prettier
- All PRs require passing tests and security checks
- Security-sensitive changes require review by 2+ maintainers
For production repository:
main:
- Require pull request reviews (2 approvers for security-critical code)
- Require status checks to pass (CI, tests, linting, security scan)
- Require branches to be up to date
- Require signed commits
- No force pushes
- No deletions
develop:
- Require pull request reviews (1 approver)
- Require status checks to pass
- Require branches to be up to date
[TBD - Likely MIT or Apache 2.0 after beta]
- Documentation: [Coming Soon]
- Discord: [Coming Soon]
- Security Policy: [Coming Soon]
- Bug Bounty: [Coming Soon - Post Security Audit]
This software is provided "as is" without warranty. Users are responsible for:
- Securely backing up their seed phrases
- Understanding the risks of automated trading
- Verifying script behavior before execution
- Never sharing private keys or seed phrases
NEVER use this wallet with significant funds during beta testing.
Built with β€οΈ for the Web3 community