Metask + Ledger + Compound Issue


I’m new to compound although I’ve been around the DeFi space. Having an odd issue that I can’t seem to fix. Any guidance would be really appreciated as am at my wits end.

  1. I connect my ledger to compound via metamask
  2. I am able to supply crypto to compound and the transaction goes through metamask to ledger and I am asked to approve which shows up on my ledger and I do and it processes.

Now here is the part that I can’t sort out.

  1. I then attempt to borrow against the crypto supplied which is showing as a balance on compound. I set up the transaction and submit it. Metamask asks for an approval so it is seeing the transaction. But when I hit confirm the Metamask window disappears and it brings me back to compound with the transaction still pending but not submitted.

I’ve attempted to withdraw the crypto and same issue. So basically the supply is stuck and I can’t do anything with it. Metamask is showing data “Cannot read properties of undefined (reading ‘map’)”. But as I said supplying worked via Metamask with the ledger but now borrowing or withdrawing don’t.

Thanks for any help!

Regarding the toLowerCase and map undefined errors in MetaMask when attempting to withdraw from Compound:

This is not something Compound developers have the ability to fix, it is an issue within MetaMask.

The MetaMask team has been informed and they have responded with the following:

I appreciate you letting us know about this error; this is a known bug currently being investigated.

In the meantime, re-installing MetaMask and restoring your wallet from the secret recovery phrase should resolve the issue. You may also use another browser/device using your SRP if you do not want to re-install. This is the only workaround we have at this time for this current bug.

Another solution users have pointed out is that you can use a different wallet provider, like Rabby.

Edit: Also users have said that using Ledger alone without MetaMask has solved their problem.

1 Like

For that particular case, another solution can be used as well. While on the compound frontend, disconnect Metamask and connect ledger directly. Than proceed as normal by creating transaction, it will bypass metamask and you will be able to confirm it on your ledger device. You don’t really need Metamask to interact with Compound, as it can be done with Ledger device itself. After that if you wish so, disconnect ledger and reconnect metamask back to compound frontend.

1 Like

Thank you both for the solutions. All sorted.