# Plain Wallet — a wallet you can read Source: https://plainwallet.app Kiwi News: https://news.kiwistand.com/stories/Plain-Wallet-a-wallet-you-can-read?index=0x6af24d555eb471b6fdf89da5fb22a3c1d701c718b1146b76e50cddc2f1af36b65f7cc2ed Submitted by misha on 2026-11-09 UTC, 2 upvotes, 1 comment ## Summary Plain Wallet is a minimal EVM wallet, about 2,850 lines of TypeScript with three runtime dependencies, no servers and no analytics, released under the MIT license. Its stated design goal is that users see exactly what they sign: every signature requires a click in the wallet's own window, and the full transaction is prepared before signing. The wallet shows recipient, amount and maximum fees before signing, describes token approvals in plain sentences, and flags unlimited approvals in red. It is available for Chrome, Firefox, Safari, Android, iPhone and Mac, with the Firefox add-on still awaiting review. The project states that it has not been audited and that users should not keep funds they cannot afford to lose in it. ## Article A very minimal EVM wallet for Chrome, Firefox, Safari, Android, iPhone and Mac. About 2,850 lines of TypeScript — small enough to read in an evening, or have your agent read in a minute. 3 runtime deps no servers no analytics MIT You see what you sign. Every signature needs a click in the wallet's own window. The transaction is fully prepared first, and exactly that is signed. Know what you send Recipient, amount and the most it can cost in fees, before you sign. Approvals, spelled out Token approvals and transfers become a plain sentence. Unlimited ones are flagged in red. Risky signatures stand out Permits and orders that can move your assets carry a warning, showing only the fields that are hashed. Install Don't trust it — check it. That's the point of keeping it small. For Chrome Brave, Edge too Install it from the Chrome Web Store, then pin it from the puzzle-piece menu so it stays in the toolbar. It updates automatically. For Android Android 11+ A browser with the wallet built in. Type a site and it gets Plain Wallet, with the same approvals as the extension. Star the sites you use to keep them on top of the wallet, and unlock with your fingerprint if you like. APKs from GitHub releases are signed with this certificate (SHA-256):1F:EC:2B:63:39:34:74:21:B0:C5:64:AB:19:EE:66:34:39:16:F7:FE:B0:81:62:C3:5F:C3:5C:9F:B5:9F:CB:83 For Mac and Safari macOS 14+ · Mac App Store One app, two ways to use it: the wallet in a window of its own, and the Plain Wallet extension for Safari, sharing the same wallet. After installing, open Safari → Settings → Extensions, turn on Plain Wallet and allow it on websites; sites then get it as their wallet, with the same approvals as the Chrome extension. It locks when your Mac sleeps or locks its screen. For iPhone iOS 18+ · App Store Like the Android app: a browser with the wallet built in. Type a site and it gets Plain Wallet; star the sites you use, and unlock with Face ID or Touch ID if you like. For Firefox LibreWolf too · add-on in review Plain Wallet is waiting for review on Firefox Add-ons. Until it's listed, build it yourself, then load it temporarily from about:debugging, or in LibreWolf or Firefox Developer Edition/Nightly turn off xpinstall.signatures.required and open the zip renamed to .xpi. git clone https://github.com/backmeupplz/plainwallet cd plainwallet npm ci && npx wxt zip -b firefox --mv3 # → .output/plainwallet--firefox.zip For AI agents review first Paste this into Claude Code, Codex, Cursor or any agent that can run a shell. Install the Plain Wallet browser extension for me from https://github.com/backmeupplz/plainwallet — but review the code before you install or build anything. 1. Clone the repo. Don't run npm install yet: dependencies have install scripts. 2. Read all of the source: entrypoints/, lib/, wxt.config.ts, package.json and package-lock.json. It's about 2,850 lines of TypeScript. 3. Look for anything that could leak seed phrases or private keys, send data anywhere other than the user's chosen RPC, weaken the vault encryption, or sign without an explicit approval. Check the dependencies for anything unexpected. 4. Report what you found, with file and line references. If anything is suspicious, stop and ask me. 5. If it's clean: npm ci && npm test && npm run build 6. Tell me how to load it: in Chrome, chrome://extensions → Developer mode → Load unpacked → .output/chrome-mv3. For Firefox, build with npx wxt zip -b firefox --mv3 and follow the README. For humans Or build the extension from source for Chrome, Brave, Edge and other Chromium browsers, or Firefox. Clone and build: git clone https://github.com/backmeupplz/plainwallet cd plainwallet npm ci && npm run build Open chrome://extensions, turn on Developer mode, click Load unpacked and pick .output/chrome-mv3. Firefox / LibreWolf: npx wxt zip -b firefox --mv3, then load it as described above. Not audited. Don't keep funds in it that you can't afford to lose. Support Email questions to plainwallet@borodutch.com, or put bug reports and feature requests on the GitHub issue tracker; the developer answers both. Never post your password, seed phrase or private key there, or anywhere else. Forgot your password? It can't be recovered: the wallet is encrypted with it on your device and nobody else has a copy. Reset the wallet from the unlock screen, then import your seed phrase or private key again and choose a new password. Lost your seed phrase? While the wallet still unlocks, export it in Settings with your password and write it down. Without it and the password, nobody can restore the wallet, including us. ## Comments **tim**: So I actually ended up reading the code and I have to say that it’s still kind of a mess. These 2k LOC or so are very long lines. There is still a lot of stuff going on, it’s not easy to audit this. Anyways, it’s the right idea IMO and my hope is that we’ll get something even simpler soon. We need this. I think a super simple wallet would scale really well socially