I made an open-source EVM Wallet - CLW

I made this wallet in the course of two weeks based on Ethers, Ionic and Vue. Right now, it is built solely as a chrome extension wallet, but I used Ionic in case I will make later from the same code base a mobile/desktop variant.

It implements Metamask API and should work with most websites. I used my main address to do a few transactions on Polygon, Optimism, and Gnosis.

It has a nice set of refreshing features, like wiping all data, controlling all security settings, and importing or exporting a JSON with accounts.

It will work only with private keys and doesn't accept seeds like other wallets. It is a design choice since a seed phrase is a private key bundled with a derivation method to get multiple private keys from one seed phrase.

So similar to Metamask, you'll have only one selected account and one selected network at a time. The difference is that websites can directly query this information from your wallet, so the connect request has been removed. Now differently than the other wallets, websites will only get your selected address and not all addresses in your wallet. This behavior is mainly for privacy since I don't know why websites should be able to fingerprint you.

For absolute control, you can have your wallet keys stored in the storage unencrypted, encrypted using a password (encryption is native web crypto salted 256 AES-GSM with 5k iterations), with or without Auto-lock(2 to 120 min), with or without perma-lock.

Auto-locking will clear PKs from storage when a specific time has passed, forcing the user to input the password if the PKs are unavailable when they try to do a new TX.

Perma-lock will clear the PK immediately after the tx/sign process is executed, forcing the user to input a password each time they need to do a TX or sign something like a message or a typedSign.

Also, unlike Metamask, this wallet won't let you do a tx that throws a contract error since those are 99% supposed to fail, and Metamask will incorrectly put a high gas and allow you to do such TX, which can empty your wallet. Instead, CLW will show you the contract error without allowing you to send such a transaction.

Full article link on Mirror:

Chrome extension Link:

GitHub Repo: 

How do you rate this article?



Personal website: Personal blog: Wallet I made:

Thoughts on Crypto Ecosystem
Thoughts on Crypto Ecosystem

Everything is visible on the blockchain, but with large TPS many things will slip unnoticed.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.