Good Old Wallet

A good old wallet from before Ethereum fragmentation, just send tokens, no multichain nonsense.

Good Old Wallet

Created At

ETHGlobal Buenos Aires

Project Description

A wallet from before Ethereum fragmentation—just send tokens, no multichain complexity.

Features:

  • ENS for easier flows
  • Filecoin backups to preserve customization
  • X402 × Circles CRC for top-ups

The Good Old Wallet restores a simple interface. Many wallets add complex UIs, and sending money often requires multiple transactions, bridges, and chain selection.

We simplified it.

When you want to send money, you don’t care if it’s USDC on Mainnet, Arbitrum, Optimism, or Base. You just want to send money. That’s what the Good Old Wallet does.

In the UI, you see your portfolio across major chains: total value in dollars, tokens with amounts and dollar values—no chain information, just your tokens, accessible in one click.

To send money, select a token, enter an ENS name (or address), and send. The wallet handles the rest, choosing the cheapest and fastest path across chains.

Example: You want to send $100. You have $20 on L1, $20 on Arbitrum, and $60 on Optimism. The wallet sends from all three chains automatically. The recipient receives $100—no chain context needed.

Extended features:

  • Filecoin backups: When you set up MetaMask on a new browser, accounts, names, and customization are gone. The Good Old Wallet backs up to Filecoin. When you restore on any machine, your customization is restored. Settings are encrypted with AES-GCM using a key derived from your account 0 private key, stored on Filecoin Calibration via the Synapse SDK, and automatically restored when you import your seed phrase.
  • X402 × Circles CRC top-ups: Top up your wallet using Circles CRC tokens through the X402 payment protocol. Create a Safe multisig transaction to transfer wCRC tokens; the backend verifies Safe signatures, validates wCRC contracts via Circles RPC, and executes the transaction on-chain for instant settlement. After successful payment, DAI tokens are automatically deposited to your wallet address, converting Circles CRC payments into spendable DAI through the Circles trust network using Safe Organization accounts as payment processors.
  • ENS resolution: Send to human-readable .eth domain names instead of raw addresses. The wallet automatically resolves ENS names to Ethereum addresses using ethers.js, making transactions more user-friendly.

The Good Old Wallet: simple UX, powerful multichain orchestration underneath.

How it's Made

The project consists of three components: a Chrome extension wallet, a Node.js/TypeScript backend API, and a Next.js demo/testing frontend.

Wallet Extension (Chrome Extension)

Built with TypeScript, Bun, and React. Security: seed phrases are encrypted with PBKDF2 (100,000 iterations) + AES-GCM and stored in chrome.storage.local. During operations, decryption happens in memory only, and sensitive data is immediately wiped using fill(0) to prevent memory leaks. The extension supports sending money to ENS names, topping up with x402 and multiple accounts derived from a single seed phrase, with account metadata (indices, colors, names) backed up to Filecoin.

Backend (Node.js/TypeScript API)

Handles portfolio balance tracking, multi-chain transaction planning (finds cheapest/fastest routes), and implements the X402 payment protocol for Circles CRC checkout. Uses MongoDB for user balance tracking and Filecoin storage integration for wallet backup retrieval. Supported chains: Ethereum Sepolia, Arbitrum Sepolia, Base Sepolia, Optimism Sepolia, and Gnosis Chain.

Partner Technology Integration:

ENS: The thing making our flow even easier <3 - Integrated in the SendScreen component to resolve .eth domain names to Ethereum addresses using ethers.js's resolveName() method, enabling users to send transactions using human-readable names instead of raw addresses.

Filecoin (via Synapse SDK): The thing providing a feature even the best wallets lack <3 - Stores encrypted wallet settings on Filecoin Calibration network. When restoring a wallet from a seed phrase on a new device, the system queries the backend for the latest CID, downloads the encrypted backup, and decrypts it using the account 0 private key to restore all wallet settings seamlessly.

X402 × Circles CRC: Enables seamless wallet top-ups via Circles CRC payments <3 - Users create Safe multisig transactions to transfer wCRC tokens; the X402Service verifies Safe signatures, validates wCRC contracts via Circles RPC, and executes transactions on-chain for instant settlement. After successful settlement, the backend automatically transfers an equivalent amount of DAI tokens directly to the user's wallet address, converting Circles CRC payments into immediately spendable DAI through the Circles trust network using Safe Organization accounts as payment processors.

Transparency Note: As of submission, we've encountered one remaining bug in the X402 payment flow that prevents it from being fully operational. The core architecture and integration are in place, but the final end-to-end execution needs one more fix.

background image mobile

Join the mailing list

Get the latest news and updates

Good Old Wallet | ETHGlobal