A good old wallet from before Ethereum fragmentation, just send tokens, no multichain nonsense.
A wallet from before Ethereum fragmentation—just send tokens, no multichain complexity.
Features:
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:
The Good Old Wallet: simple UX, powerful multichain orchestration underneath.
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.

