Cover photo

Issue One - Hot wallets

Important note - All of the information in all of my posts is only for educational and entertainment purposes. None of this is financial or technical advice, or any kind of advice for that matter. Please use your head and research everything yourself before use any of the code or projects described here.

This post assumes that you have some knowledge of blockchains, specifically Ethereum like blockchains even though most of the concepts also works for Bitcoin like blockchains. The goal of the post is to give you an idea of the difference between hot and cold wallet, the tradeoffs and lastly I want to introduce you to a somewhat new hot wallet that I think is pretty awesome.

What is a cold wallet?

When you want to store your crypto for a longer time frame it’s generally recommended to store them on a so called cold wallet. A cold wallet is more of a general concept rather than a specific wallet program, as these have different implementations across the different cold wallet solutions.

The most popular choice for everyday people is a hardware wallet suchs as Trezor or Lattice1, but it can also refer to paper wallets or simply wallet software running on a ‘air-gapped’ computer (A computer with a fresh operating system, that has never touched the internet) depending on the owners level of paranoia and need for operational security.

A hot wallet

is a wallet software where you store amounts that you are ‘willing to lose’. Think of cold wallets as your bank account and a hot wallet of the cash you carry around in your physical wallet. A hot wallet is used for everyday purposes like paying for services, trading on decentralized exchanges or other activities that you ‘do every day’.

Normally you would use a mobile application like Rainbow Wallet, a browser extension like Metamask or old school applications like Electrum. Every one of those options have a somewhat high risk profile, as most peoples phone are fairly easy to hack and most laptops as well. Browser are notorious unsafe, even though its getting better in recent year and just generally the operational security is lower across all these hot wallet options.
Metamask, and maybe some of the other alternatives, does offer the option to connect via hardware wallets, but in recent times Metamask has, in my opinion, shown itself to care less and less about freedom and decentralization and more about profits and market share.

A new player on the scene i Frame.sh. Unlike Metamask, it doesn’t offer to create a new address for you (at least I couldn’t find a option) you will need to generate a private key elsewhere and then import that. You can also connect a hardware wallet to it, pretty easily. It has extremely nice and smooth multichain support (meaning you can shift from Ethereum to Optimism (or any of the other supported chains) for example) and most importantly for me, you can choose your own RPC provider.

RPC providers

A RPC provider is your gateway to the blockchain.
If you want to connect to Ethereum you can run software on your device. These are called ‘Client’ or ‘node’. This software comes in two forms: Either a full archive node meaning everything that has ever happened on Ethereum ever. Or a lighter version that just runs through everything that has ever happened, validates it and stores the validation proofs. For most day to day life you will want to run the second option as a full archive node gets pretty big (You will need about 14 terabytes of spaces [Link] as of writing this). But in actually every day to day , most people will want to use a RPC provider. The most well known are Infura and Alchemy and both are pretty great but a update to Infuras privacy policy had the community a bit on the edge. Infura would start to collect IP addresses and transaction data [Link]. Now if this doesn’t matter to you they are still the most used RPC provider out there and Frame.sh comes with it as standard. But it’s easy to change to a RPC provider that aligns with your ideals and philosophies. I do think it is also possible to do that on Metamask, but it’s way harder.

Another great feature for a desktop user is that Frame.sh kind of just live in the background. You can bring it to front with a keyboard shortcut or, if you have enabled it, simply by moving your mouse to the right of your screen. It is extremely convenient. It also has a rather nice looking aesthetic and are generally pretty user friendly (but still maybe not for beginners).

Finally a really convenient feature of Frame.sh is its accompanying browser extension. It doesn’t do much in of itself but since most modern dApps are supporting Metamask this browser extension allows you to inject Frame.sh as if its Metamask, making the change from Metamask to Frame.sh pretty smooth.

The problems

Even though Frame.sh has been pretty awesome and feels extremely natural to use, it still uses Javascript and with this comes a lot of dependencies and some Critical vulnerabilities. I don’t know how big of a problem this is in reality, but installing it had me a feeling a bit uneasy.