MultiFactor Wallet Defensive Tooling User Experience

The problem MultiFactor Wallet solves

MultiFactor Walle provided a Web2-like experience to Web3 authentication while preserving user security and privacy.

Currently, the market of similar tooling is filled with players that try to monetize on the infrastructure. The existing solutions host 2 out of 3 Shamir Secrets Sharing shares in their databases. Other solutions have a closed-source secure enclave where user wallets are accessed. Even worse most of these solutions do not allow for a seamless exit and are not censorship-resistant, meaning that providers can block access to the server.

The MultiFactor Wallet uses a MFKDF algorithm to construct the wallet’s private key from the user’s own credentials such as email, passwords, or TTP applications (Google Auth etc). This allows a PK to be stored nowhere but on the user’s device, preserving full self-custody of the wallet while maintaining a Web2-like experience with familiar authentication methods.

Challenges you ran into

Currently, the only API to connect the dApp is WalletConnect which requires a lot of work and is error-prone.

Technology used

The current implementation is created as a TypeScript web application using React. It uses a JavaScript implementation of MFKDF https://github.com/multifactor/MFKDF to manage the private key encryption and recovery. WalletConnect is used for connecting the wallet with dApps.