AI2Work Native Ethereum Wallet

Android Keystore · Capacitor WebView Bridge · EIP-1559 Signing

Android Device AI2Work APK (Capacitor) WebView ai2work.onrender.com React + wagmi window.ethereum ConnectWallet → wagmi _ai2workWallet @JavascriptInterface Bridge Injecte window.ethereum compatible wagmi / connectkit NativeEthWalletPlugin @CapacitorPlugin EthWalletHelper secp256k1 ECDSA EIP-191 · EIP-1559 Keccak256 + RLP (pure Kotlin) Android Keystore AES-256/GCM · Hardware-backed Remote Web App ai2work.onrender.com Next.js · Tailwind · wagmi Server-side rendering Celo Mainnet Chain ID: 42220 injects HTTPS RPC → EIP-191: "\x19Ethereum Signed Message:\n" Legend WebView / Frontend Capacitor Plugin Crypto Layer JS Bridge Keystore / Network Auth / RPC Flow

Zero-Trust Key Storage

  • • Private key never leaves Android Keystore
  • • AES-256/GCM encryption with hardware backing
  • • No BIP39 mnemonic exposure in memory
  • • Delete wallet = delete Keystore entry

Web3 Compatible

  • • Full window.ethereum shim
  • • wagmi / connectkit auto-detection
  • • EIP-191: personal_sign
  • • EIP-1559: fee-market transactions

No External Dependencies

  • • Keccak256: 200 lines of pure Kotlin
  • • RLP encoder: minimal, Ethereum-specific
  • • ECDSA: BouncyCastle (Android built-in)
  • • No Web3j, no ethers.js on-device