~ walletbeat

An open repository of EVM-compatible wallets.
Definitions & Methodology

Disclaimer: in its current state walletbeat is an MVP meant to kickstart transparent benchmarking of wallet features. It only covers a small sample of features and may contain inaccurate data. A high score does not necessarily mean better performance, it just means more available features. Finally, some features should be available but were not working while testing (e.g. testnets on Rainbow).

Wallets

The wallets listed are popular wallets compatible with EVM chains. Contribute to the Github repo to add more wallets.

Chains

Seven of the most popular EVM chains were selected to benchmark chain compatibility. Only chains that are present in the wallet by default or that can be added without custom configuration are considered.

Chain configurability, i.e. the ability to add custom chains, is also benchmarked. Finally, autoswitch refers to the ability to automatically switch between chains without prompting the user.

ENS

Mainnet: whether a user is able to send transactions to a standard ENS (e.g. user.eth) on mainnet.

Subdomains: whether a user is able to send transactions to an ENS subdomain (e.g. hot.user.eth) on mainnet.

Offchain: whether a user is able to send transactions to an ENS with an offchain resolver on mainnet.

L2s: whether a user is able to send transactions to an ENS on an L2 (tested on Optimism).

Custom: whether a user is able to send transactions to an ENS with a custom domain on mainnet (e.g. user.cb.id).

Usernames: whether a user can get a free (offchain) ENS inside the wallet.

Backup

Cloud Backup: whether a user is able to back up their keys on a personal cloud account like Google Drive.

Manual Backup: whether a user can export their private keys manually.

Social Recovery: whether a user can recover their account through a trusted third party like a friend.

Security

Multisig: whether a user can set a threshold of multiple signers required to approve a transaction.

MPC: whether the private key is split and stored as shards.

Key Rotation: whether the user can change the private keys controlling their account.

Scanning: whether the wallet simulates transactions and warns users on suspicious transactions.

Limits: whether the user can enable spending limits and timelocks.

Hardware: whether the wallet can be used with hardware wallets (e.g. Ledger).

Connection

WalletConnect: whether the wallet can connect to dapps using WalletConnect.

Injected: whether the wallet can connect to dapps using a provider injected into the browser window.

In-App Browser: whether the wallet can connect to dapps using an in-app browser.

Devices

Which types of devices and platforms the wallet is compatible with - mobile, browser (extension), desktop.

Type

Type of the underlying account - EOA, 4337, Safe.

Modularity

Whether the wallet allows for modules and plugins to add new features to the wallet.

Testnets

Whether the wallet is compatible with testnets.

License

Open Source: any license that is defined as open source by the Open Source Initiative.

Source Visible: any license that allows users to view the source code of the wallet.

Proprietary: any license that does not allow users to view the source code of the wallet.

Why walletbeat?

Walletbeat is an MVP built out of necessity. There currently isn't any repository transparently listing wallet features. Many features such as full ENS compatibility should be standard across all wallets, but unfortunately aren't yet. Walletbeat aims to change this by providing a transparent repository of feature availability, encouraging wallet providers to improve their offering.

Contribute by adding a wallet or updating existing data with a PR in the project GitHub.

an open source project instigated by Fluidkey
reach out at hey@fluidkey.com