Wasted a lot of time researching wallets, they're all bad.
Metamask - bugs, unreliable HW support, bad UX.
Rainbow - no custom RPC support, hides metadata too much.
Rivet - no ledger support, dapp-dev focused, stagnant 2 mo.
XDefi - Swaps I don't need, more defi than tech.
Keplr - good multi-chain, bad multi-account, why?!
GridPlus - expensive hardware, doesn't fix browser UX.
Status - social stuff I don't need in a place that shouldn't have it.
MyCrypto - joined metamask, RIP.
Ambire - not an extension, walletconnect, no custom networks.
MEW Enkrypt - better metamask, still too non-technical.
Frame - github stagnant 2 mo. Window management issues.
Rabby Desktop - seems ok, very recent, trying it out.
Can I have a wallet that doesn't hide what it is doing?
How am I supposed to trust if I can't see?
Most users might not be interested in what happens under the hood, but I am.
And where are the real technical features?
Wishlist:
- Log of RPC calls, tx hashes, etc?
- Account management that isolates each account?
- Introspection of signing requests?
- Network customization that actually works?
- Different local network configs with the same port?
- Different RPCs for the same chain.
- Network-selection not stuck when current RPC is offline.
- User-choice for insertion as window.ethereum or EIP6963.
- Wallet-connect support as a last-resort, not as a default.
- Choice of different RPC endpoints to serve different RPC methods?
- Blocking RPC requests until manual ACK.
- Allows more than 1 chain to be active, across different windows?
- Dumping data to JSON / CSV as first-class feature.
- Makes transactions readable by decoding ABI calls.
- Allows for simulation of the transaction, with clear state-changes, before signing.
- Doesn't try to override the fee settings of a tx after you modify them.
- Provide cast commands to inspect/debug data?
- Logs state-changes along with transaction data, before it becomes archive-only data.
- Allows me to copy transaction/receipt contents without going to etherscan.
- Provides easy etherscan/blockscout/etc. explorer links.
- Provides me with a clear idea of the canonical chain.
- Supports light-clients or cross-RPC checks to not get trapped by lying RPC provider.
- Provides me with clear confirmation-distance / finality info.
- Allows you to label addresses that are not yours. And export/import label books.
- Allows you to pull address labels from etherscan/nansen/other.
- Can show you history as a graph of transactions.
- Makes transaction-nonces very clear, and allows you to override them.
- Understands queues of transactions.
- Allows you to re-submit a tx, even to a different RPC, without signing it again.
- Shows you clear historical basefee data.
- Shows you clear historical priority-fee data.
- Shows you clear historical block gas-usage / capacity data.
- Allows you to turn a dapp tx request into a multi-call, to append side-effects.
- Has "dotfiles" you can export/import for common chain interactions, like WETH wrap/unwrap.
- Allows you to *record* dapp interactions and turn them into a forge script for repeat/customized execution.
- Hides web3 accounts from websites you visit
- Provides read-only mode, does not require online keys.
- Doesn't rely on centralized data indexers.
- Runs outside browser as much as possible.
- Tells me if a signing/RPC request was closed by the dapp and got stale.
- Shows a clear overview of in-flight transactions.
- Supports monitoring of tx-hashes and nonce-increments across different RPCs, to get extra quick confirmation.
- Doesn't hide blockhashes / account addresses / technical metadata.
- Doesn't have a big supply-chain attack-surface.
- Doesn't auto-update with some app-store.
- Minimal javascript reliance. Not an electron app.
- Is very clear about local storage usage.
- Does not have a token.
- Doesn't have telemetry.
- Does not sell my orderflow.
- Does not sell my data.
- Does not force in their bridging.
- Does not force in their swaps.
- Is not owned by mega corp.
- Is open-source.
I don't care about an NFT gallery in my wallet.
I don't care about auto-updating ERC20s in my wallet.
I care about transparency and dev-level ownership over my own wallet.
Is there some wallet out there I don't know about?
How big was the opportunity cost of focusing on the protocol, and not fixing the above?
How much defi did I miss? How many airdrops? Degen'ing feels a lot a safer with a good wallet.
Should I just create my own web3 wallet? I know I can build all of the above, given enough weekends.
And no, I'm not contributing to your wallet if it's JS/TS/mobile.
Is there really nothing like this?