I am trying to sign transactions and move funds on a private Ethereum Blockchain with my Ledger Nano S on MetaMask. So far I have tried to do so in Ganache and via blockchain setup via custom RPC.

And I have failed.

These are my screen caps:

enter image description here

enter image description here

And this is the segment of my metamask log

          "note": "transactions:tx-state-manager#fail - add error",
          "op": "add",
          "path": "/err",
          "timestamp": 1582819262703,
          "value": {
            "message": "Error: Ledger: The transaction signature is not valid",
            "stack": "Error: Ledger: The transaction signature is not valid\n    at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:1227764\n    at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:1229279\n    at n (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/background.js:1:205090)"
          "note": "txStateManager: setting status to failed",
          "op": "replace",
          "path": "/status",
          "timestamp": 1582819262706,
          "value": "failed"

3 Answers 3


I found out that its a problem with the Ledger Nano S firmware. It doesn't sign transactions when you connect through RPC to an Ethereum network.

I followed the same steps on a Trezor wallet and it just works.

  • Can you tell me more about this and where do you find the information ? Commented Jun 4, 2020 at 13:25
  • That Trezor works? I bought one and tested it on my private eth network.
    – Jackson Ng
    Commented Jun 4, 2020 at 13:30

Anyone got a solution for this?

Got the same problem: cannot successfully sign a transaction via a Ledger connected to Metamask, which is pointed at a local ETH fork via the RPC.


Most probably, the problem is you are using a private ethereum blockchain.

Each blockchain app in your ledger device can only sign transactions for its associated blockchain (by the chain ID).

That is why if open your ledger ethereum app (chain id 1) and you try to sign a binance smart chain transaction (chain id 56) the ledger won't generate a valid signature.

Solution: Enable developer mode on your ledger live, and install the göerli or ropsten apps. Then use the chain id of the app you intend to use on your private blockchain.

NEVER use chain id 1 or any other production blockchain chain id on your tests, as if someone gets hold of your test txn, and re-broadcast them on the production blockchain.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.