Forking Metamask for multichains

Metamask is a great wallet but it is near impossible to use in the multichain world.

I am thinking about forking Metamask and doing the minimum amount of changes in order to support the following:

  1. For a particular key, the wallet will show the total tokens held on ALL chains. Then, in the detailed view mode the split will appear showing the subamount for every chain.

  2. Moving token from one chain to another will be abstracted out.
    In particular, if you click to use an app running on a particular chain, the required amount of tokens will automatically move to this chain.

  3. Ideally there would be an open discovery process to discover new chains and interchain token transfers.

  4. There will be no chain switching UI, for a particular key all chains will be immediately available.

Comments are welcome )


With the exponential growth in popularity of other chains I think it would be a great user experience improvement. Isn’t Metamask team working on better similar solutions for multichain interactions?

We at SKL would be happy to use it if they did …

Does not seem like this at the moment …

Unfortunately metamask is non-free software. You’re allowed to fork it, but your fork isn’t allowed to be successful.

You could fork the version before they switched to a non-free license but it’ll be pretty old at this point - before EIP1559, for example.

IMHO it’s really unfortunate that we’ve got so much of the ecosystem depending on proprietary software, but it would be good if your efforts could go into a free alternative.

1 Like

Hi Klad,

We definitely are building towards a full multi-chain experience. In fact, to ensure that it works wonderfully, we’ve done a ton of design work, user testing, and refactoring, to make sure that this is not just added, but allows existing applications to continue working while also providing a smooth path to multi-chain dapps.

In the meanwhile, I hope you did notice our EIP-3085 methods for adding & switching chains for the user. They’re made to help hold people over in the meanwhile. RPC API | MetaMask Docs


Hi Klad,

We were able to fork MetaMask in July 2020, before they switched to a non-free license.

We were able to customize it and make it a multi chains wallet, Ethereum, Tron, and currently adding BTC.

The main landing page displays all chains and tokens with balances then total balance of all chains and tokens.

User cannot change the network from the main page but instead in the detailed view.

So yeah it’s doable but I’m not sure about what you meant in your second point .

1 Like

Hey, thank you! Can you point me out to your repo?

1 Like

Hi Klad, please reach me in skype or email :slight_smile:
it’s a private repo, but I can demo to you what we’ve done to accomplish this. :ok_hand:t6:

state management client side on frontends is especially poor to handle multichain states - that may be a real blocker in the short run