Inspiration

Blockchain is powerful but complex for newcomers. Many wallet apps are either too simplified or too dangerous to play with directly. We wanted to build a safe, no-risk playground where users can explore how wallets, tokens, and transactions work—without ever signing or sending anything.

What it does

SimuWallet lets users:

  • Generate a mnemonic phrase (BIP39)
  • Derive addresses using HD Wallet paths
  • View real-time token balances (ETH, BNB, USDT, etc.)
  • Analyze historical transactions via public RPC
  • Simulate a token transfer transaction:
    • View function signature and calldata
    • Estimate gas fee using RPC
    • Visualize the path from sender to receiver

How we built it

  • Vue 3 + Vite + TypeScript for frontend SPA structure
  • TailwindCSS for elegant and responsive UI
  • ethers.js to handle wallet creation, RPC calls, and smart contract simulation
  • bip39 + ethereumjs-wallet to support mnemonic generation and HD key derivation
  • Chart.js to visualize balance distribution
  • JSON-RPC methods like eth_call, eth_estimateGas, and eth_getLogs to power data

Challenges we ran into

  • Getting accurate token balances without relying on backend indexing services
  • Handling RPC quirks across different chains (e.g. BSC vs Ethereum)
  • Estimating gas usage in a read-only simulation mode
  • Making the UI intuitive for both technical and non-technical users

Accomplishments that we're proud of

  • A full-featured, purely front-end wallet simulator that is safe for users of all skill levels
  • An interactive transaction simulator that shows calldata, gas usage, and routing
  • Educational and developer-friendly tools packaged in a sleek UI

What we learned

  • The power of JSON-RPC to drive real-time Web3 UI/UX
  • How to decode calldata and simulate contract interaction without signing anything
  • The importance of security-first design even in “read-only” apps

What's next for SimuWallet

  • 🧠 Add “wallet health” score based on transaction behavior
  • 📈 Add token price charts with historical tracking
  • 🔒 Support encrypted localStorage wallet backup
  • 🌐 Add Solana & other EVM chains (Polygon, Arbitrum)
  • 🛠️ Export simulated calldata to be used in real dApps

Built With

  • ethers
  • vite
  • vue3
Share this project:

Updates