Replace MetaMask

Alright so we’ve got Moralis functions for just about everything the MetaMask browser extension or other WalletConnect flavor does:

  • List all native and ERC20 token balances and prices in local fiat.
  • List historical transactions for native and ERC20 assets.
  • Send or receive native and ERC20 tokens.
  • Create token swap auth/Tx’s via 1Inch (using a Moralis plug-in).
  • Buy/sell crypto to/from fiat (using the Moralis OnRamper plug-in)
  • Secure Tx authentication with 2FA.

That’s great, but the problem is the reverse: MetaMask does all that already, plus they’ve got better on-boarding guidance than we do. And their onboarding material doesn’t report user progress. It just “sends users back” to us if/when they survive. There’s no way to interject our guidance or encouragment into the process. We can’t see where the users are within it.

What’s the market use for our “wallet” dap if MetaMask is sitting right there doing all that wallet interface functionality anyway? Dap marketing wants to get MetaMask completely out of the picture and give our wallet daps some perceived purpose. The idea being to keep our end-users that we bought with our marketing/ onboarding/ crypto education money from ditching our “wallet” dap for MetaMask before we can recoup expenses.

Really all that’s missing from our Moralis dap to enable a true wallet project is the “keychain” behavior. We need to be able to securely:

  • Generate completely randomized private key/address pairs
  • Store private keys in the system (be it browser or OS).
  • Sign transactions using the retrieved private keys.
  • Export private keys to system-authenticated (and 2FA cleared) users.

I don’t see any Moralis development efforts along those lines. Until we do Moralis is not enough to build a true web3 “wallet”, and needs to stop using the term in the marketing. Those aren’t “wallets” we’re building. They’re just daps.

While we wait, does anyone know of an open-source, “crypto keychain” project that would cover the gap? Say something in React or better yet: React-Native?

Rule #1 in cryptocurrency development: “never roll your own cryptography or security code”. So yeah, I get why you guys dare not tread here. And neither would I. Except I’ve need to now. Practically MetaMask can only take crypto as far as web3. WalletConnect can only take crypto as far as “native” mobile aps. But to spread crypto into IoT or VR will require at least one new lightweight, system-security-aware “keychain” library each for those embedded systems. Better: a diversity of keychain libraries to harden the system vs. single points of failure. Even simple web3 needs a diverse keychain ecosystem for that reason.

GitHub’s got 98 “wallet ethereum react” suspect repositories, few of which are recent or active, and maybe 10 sound useful. I need a more expert opinion to find the right needle in that haystack while we wait for Moralis to officially address the issue.

Otherwise there’s really no point of taking a Moralis “wallet” project to market with MetaMask spanning all gaps.

-The Bubble Guy
CTO, “USA Wallet”.

1 Like

Hi @TheBubbleGuy

I’m not sure if your post belongs to the right category since it is listed in the “Javascript”. I guess the right category is “Ideas and suggestions”.

Moralis provides a huge number of tools and ready-made solutions for fast dapp and MVP development. It’s possible to create a big number of different type dapps using Moralis only. You can cover a large percentage of your needs, but there are also specific needs like you have, you need to do yourself.

As you said, your needs relate to private keys. Moralis doesn’t interact with private keys and will not. The main focus now is on solving the most common problems in dapp development.

Best regards
Dmitry Yomoo