Problem with Yoroi/ADA and Trezor Model T

Regarding the “staking rights do not match” message, it’s pretty much what it says on the cover:

Your Cardano address consists of “base” part and “staking” part. For Trezor, it is only possible to specify the “base” part in the format of “13th address of 1st account of Trezor” (i.e., as a derivation path).
It is possible to specify the “staking” part in the same way (“13th staking address of 1st account of Trezor”), or you can provide a key hash, which can be any address on the network (including yours).

If you specify a base path, and provide a staking key hash, Trezor takes the base path, computes the matching stake path (so from “13th address” to “13th staking address”) and calculates the expected key hash. If the expected key hash is the same as the wallet sent, all is well. If not, you get the “mismatch” warning.

It’s honestly somewhat weird that Yoroi would do this (set staking key hash instead of staking path) in the first place.
It’s possible that Yoroi does this when it thinks the Trezor doesn’t match the current account – or it might be a bug, or even some malware.

It seems to be a bug indeed, but I’m not sure on what side if it’s Trezor or Yoroi because not even adalite or any other wallet is recognising the old Trezor wallet address. And I also see so many people complaining about the same issue in so many places and forums (like this one Yoroi Trezor "Change address staking rights..." sending problem - #19 by ADAproblems - Community Technical Support - Cardano Forum) and nobody does anything. We are talking about money and security here, how can it be reliable? I’m no longer confident with Trezor nor Yoroi, it’s being a rock on my path for so long and I have no clue on what to do.

Well, you could wait until November, when ADA is supported in Trezor Suite, and avoid using a third party wallet altogether. That’s what I do anyway.

Thank you for very much your replies @Petosiris @matejcik @ pavel.

I tried some brief troubleshooting based on your responses:

  • Trezor bridge is installed and running correctly.
  • Yoroi and Adalite show the same accounts when entering no passphrase, or several different passphrases (whether the one I did use initially, or a random one).
  • The Trezor seed is 100% correct, the only one ever used and all other coins are correctly shown.

Just as @ tiaguinhow says, even when restoring/importing from the same Trezor (in my case with passphrase, in his case without) using another platform e.g. Adalite, the accounts we see are not the one that was initially created when we connected our Trezor to Yoroi. Now all I get are zero balance accounts that I have never used.

Can we narrow the problem down further based on this? Is it possible that Yoroi at first imported a different account (even though I used the same Trezor and passphrase) because of the way it derives the address? (Don’t know the technical bit here so please bear with me).

Clearly the account I did use is derived from my Trezor and the passphrase that I used. So that in combination with some mechanism should be able to restore that same account, right? But how many ways of doing this are there even, and would Yoroi’s differ? There should be some way to narrow down the issue here.

Currently I can still see my account with funds in it but that’s only because it’s stored locally in Yoroi. And as mentioned, I can’t perform any action on it nor restore it anywhere else (not on different pc or browser). So I can see the address and what I was told by support is the checksum (4 letters and 4 numbers) and also the derivation path. Would sharing the derivation path (or anything else) be of use?

I see now that the derivation path is the same for the initial account with funds in it, and all the empty accounts that show up when I try to restore it with the correct passphrase / without passphrase / with a random passphrase. It is m/1852’/1815’/0’. No idea if that helps you.

Greatly appreciate your help and further suggestions. Thank you.

1 Like

If you have multiple coins, and are able to restore all of them correctly with the right seed and passphrase, it is overwhelmingly likely that this is a problem of Yoroi, not of Trezor. Again, we have automated tests confirming that derived addresses do not change between firmware versions. And the fact that other coins did appear indicates that the seed or passphrase is not the issue here.

In theory, yes.
It would be nice to know that you did originally verify your address on Trezor screen, it matched, and now when you try to do the same thing, it also matches (even if it is different from before). If that’s the case, we could be sure that the address is generated by Trezor.
If you originally didn’t do that, there is a distinct possibility that the addresses in your old Yoroi installation didn’t in fact come from Trezor.

Also keep in mind that there are multiple addresses tied to your account. If you go to Receive tab in Yoroi, you can click the “verify address” and see the full derivation path (m/1852'/1815'/0' is only a prefix, the full address should have something like /0/4 tacked on end).

How many receiving addresses with non-zero balance do you have? Check both the “External” and “Internal” tabs. What are their suffixes?
Can you see the same address indexes in the restored Yoroi? If not, try clicking “Generate new address” enough times so that you get to the right indexes. There is a small chance that the old Yoroi generated more addresses than the new one, and you can “generate” your way to the right ones. In any case, addresses with the same index should be the same. If they aren’t, we still haven’t hit the right problem.

Can you use the Export feature to see the old account on e.g. Yoroi Mobile?

Does the public key exported by the old Yoroi match what Adalite is showing? Perhaps not Shelley key but Byron key?


If none of this helps, I’m afraid that you’ll have to turn to Yoroi support again. As I said previously, a nice thing to do would be to get an older version of Yoroi and see if that doesn’t magically fix the problem.

Thank you very much for your comprehensive response and trying to help, I really appreciate it.

If you have multiple coins, and are able to restore all of them correctly with the right seed and passphrase, it is overwhelmingly likely that this is a problem of Yoroi, not of Trezor. Again, we have automated tests confirming that derived addresses do not change between firmware versions. And the fact that other coins did appear indicates that the seed or passphrase is not the issue here.

Yes. Well I am simply using my Trezor and passphrase as normal in e.g. Trezor Suite or Metamask and I can access all my other coins and use them as normal. I never actually had to restore the wallets using my seed, but that should be irrelevant in this case right.

It would be nice to know that you did originally verify your address on Trezor screen, it matched, and now when you try to do the same thing, it also matches (even if it is different from before). If that’s the case, we could be sure that the address is generated by Trezor.
If you originally didn’t do that, there is a distinct possibility that the addresses in your old Yoroi installation didn’t in fact come from Trezor.

When I connect my Trezor via Adalite or Yoroi there is no prompt on the physical Trezor to do anything. What happens is:

  1. Webpage opens up: TrezorConnect | Trezor Asking for permission to read public keys from Trezor device. I click “Allow once for this session”
  2. Export multiple Cardano public keys. I click “Export”
  3. Enter Trezor passphrase. I enter it on my physical device.

That’s it. Then the account is loaded into Yoroi/Adalite. Though when I tried pairing my Trezor with Daedalus I do have to verify the public key on the physical Trezor and click the green checkbox to proceed.

If the address didn’t come from the Trezor, then where could it have come from? Also in Yoroi it does say “Trezor Wallet” with an image of a Trezor next to it, up top, suggesting it is indeed derived from my Trezor.

How many receiving addresses with non-zero balance do you have? Check both the “External” and “Internal” tabs. What are their suffixes?

On the original account with funds on it (that I can’t restore or transact with) there are 2 external addresses with funds on them, and 2 internal. By suffix I assume you mean the end of the derivation path?
External:
m/1852’/1815’/0’/0/2
m/1852’/1815’/0’/0/1
Internal:
m/1852’/1815’/0’/1/1
m/1852’/1815’/0’/1/0

I should also note that when I click verify address to see this, I can see that all these addresses have a respective “Staking key hash” and “Spending key hash”. On the newly derived empty accounts each address only has “Staking key hash”. I don’t know if that is relevant.

Using the same Trezor and only passphrase in Yoroi / Adalite generates empty accounts, as said. I can generate more receive addresses to get more derivation paths. But the ones with the same paths (e.g. m/1852’/1815’/0’/0/2) are still empty and the addresses are different from those in the original account.

Can you use the Export feature to see the old account on e.g. Yoroi Mobile?

Yes, I can use the Export feature in Yoroi and it gives me a QR code which when I scan produces the same original wallet in Yoroi Mobile, with the correct amount of funds.

The public key on my original account (that I can see in Yoroi using Export) is not the same as any of the keys that I see in Adalite when connecting to what should be the same account (same Trezor, same passphrase) but is an empty unused one.

I’m not sure how I can find the Byron/Shelley extended public keys in Yoroi but I suppose this is enough to say that it’s not the same account?

If none of this helps, I’m afraid that you’ll have to turn to Yoroi support again. As I said previously, a nice thing to do would be to get an older version of Yoroi and see if that doesn’t magically fix the problem.

I’ll try to get my hands on an older version of Yoroi and give that a try.

Anyway, with several other users having the same problem with Yoroi and Trezor specifically, and some not even having used a passphrase (no risk of having misspelled something), there has to be a problem somewhere, and a solution too. I’ll see if Yoroi support responds with anything, last time they basically assumed it was a user error (which is not unreasonable to assume, I guess).

Again, thank you very much for your help.

1 Like

On the “verify address” screen, you can click a button to show the address on Trezor screen. You should actually always be doing this! Otherwise malware can simply modify the address on your PC screen. (It can still mess with you by showing “good” address on screen but using bad one under the hood, but it’s more difficult to implement and known existing malwares don’t bother)

This is definitely worth noting, and it might be a pointer to what the issue is.
(FWIW for me Yoroi shows both, for an account that is the same on Adalite)

Hey guys, I’m not sure if this is somehow helpful, but I can see my previous wallet is with the status Not Active, what does it mean? Stake Key d453277b32c6232e2455e3c29074347b745880bf0d85b66f565ce40b - Cardanoscan

Thanks in advance.

Thanks again for your continued support @matejcik

On the “verify address” screen, you can click a button to show the address on Trezor screen. You should actually always be doing this! Otherwise malware can simply modify the address on your PC screen. (It can still mess with you by showing “good” address on screen but using bad one under the hood, but it’s more difficult to implement and known existing malwares don’t bother)

Well that is certainly good to know. But during which stage of the process should this be done? When receiving coins and having the option inside Yoroi to verify the address it makes sense. But when you import the wallet in the first place you’re not given an option to do so in either Yoroi or Adalite. You simply get the two screens where you accept to export the public keys. Just like in this video (at included timestamp): How to Stake ADA with Yoroi using Trezor Model T - YouTube Never do you see your public key or have any option to interact with the physical Trezor. Is this not how it should be? (Though as mentioned, on Daedalus you are prompted to verify the public key on the physical Trezor).

This is definitely worth noting, and it might be a pointer to what the issue is.
(FWIW for me Yoroi shows both, for an account that is the same on Adalite)

Okay. I really don’t know how to progress from here. I’ve contacted Yoroi support again but they didn’t reply for since 4 days ago. Do you have any further ideas what I could try? And it seems quite certain that the problem is not with Trezor but with Yoroi?

You should be doing this whenever you want to give the receiving address to someone.
There’s no point in doing it when the wallet is imported – but if you originally did this when receiving your coins, we would at least be certain that the address that holds the coin is really generated by Trezor.


From where I’m standing, there’s two possibilities:

(a) You got the wrong passphrase. Again, this is by far the most common answer to a problem such as this one.
I believe you if you say that’s not the case :slight_smile: But please think hard and consider this option too. It is possible to use one passphrase for Yoroi and a different one for Suite (or any other wallet app). There is no cross-check, using multiple different passphrases is a supported scenario, so you wouldn’t even see any kind of warning.
If you have other coins on the same seed+passphrase, and you had them at the time that you got your ADA, and you’re entering the passphrase on device, and you’re sure that it’s always the same one, it’s a strong indication that it is the right passphrase. Still, please do consider this option. Upper/lowercase letters matter, etc.

(b) Something changed in the way Yoroi handles accounts, and/or your account was not actually generated from Trezor.

Although it’s not impossible, I currently don’t see any way a problem in Trezor could cause this.
At this point, without a way to reproduce the issue myself, I can’t help you further. Please let us know if you get anywhere with Yoroi support.

You should be doing this whenever you want to give the receiving address to someone.
There’s no point in doing it when the wallet is imported – but if you originally did this when receiving your coins, we would at least be certain that the address that holds the coin is really generated by Trezor.

Yes. A bit unfortunate that it’s not forced like when you request a receiving address in Trezor suite (have to verify it on physical Trezor before seeing the address).

(a) You got the wrong passphrase. Again, this is by far the most common answer to a problem such as this one.

Yes. Clearly this is most likely. Though I’m very sure I did get it right and all your points below are true (one phrase, all other coins are there, etc). The fact that other users that did not use a passphrase still have the same issue seems to support that there is indeed a problem with Yoroi, somehow. If you only use your one Trezor and no passphrase and don’t mistakenly create a standard wallet that you get a seed for, how could a user error even get it wrong?

(b) Something changed in the way Yoroi handles accounts, and/or your account was not actually generated from Trezor.
Although it’s not impossible, I currently don’t see any way a problem in Trezor could cause this.
At this point, without a way to reproduce the issue myself, I can’t help you further. Please let us know if you get anywhere with Yoroi support.

I do wonder how Yoroi could manage to create an account that is not derived from the Trezor, when even going through the Trezor page and importing it as called “Trezor wallet”. Do you have any idea how such a big error could occur?

In any case, thank you very much for your assistance thus far. At this point it seems to be in the hands of Yoroi support. Unfortunately they have been fairly slow to reply (6 days without reply as of now), but I can understand that they have lots to do. I’m just hoping they will acknowledge this issue and fully investigate it, and not write it off as a series of user errors.

@tiaguinhow When did you create your original wallet that you can no longer access? I did it in February. Maybe this is relevant in case something has changed in Yoroi since then.

Hey guys, I’m not sure if this is somehow helpful, but I can see my previous wallet is with the status Not Active , what does it mean?

I’m just guessing, but maybe it means you haven’t staked your ADA? On my address the ADA is staked and it does say “Active”.

This particular problem is, unfortunately, rather easy to hit:
When you restore your seed using Trezor Suite, the passphrase feature on Trezor is auto-enabled. Suite does the smart thing and presents you with Standard/Hidden wallet selector. This is currently missing from Connect (the popup thing that handles Yoroi integration), so out of nowhere Yoroi is asking you for a passphrase. A typical user will just “set a passphrase” without much thought. This creates a new Trezor wallet with zero funds.

You need to know that you’re supposed to leave the passphrase fields empty and just hit Enter. @tiaguinhow seems to know this, so it should not be the issue at hand. Still, you can see how this can happen.

2 Likes

Wow, unexpectedly your answer there solved the issue for me. Essentially I must have done exactly what you said. When first setting up my wallet and being prompted for the passphrase I had mistakenly interpreted it as “create a password for your wallet” and entered a password (twice, to confirm it). Unknowingly, I had then created a new hidden wallet on my Trezor. Entering that “password” now as passphrase does indeed restore the correct wallet.

Weird feeling how it goes from “I’m 99% sure I have done nothing wrong here” to that it was indeed a user error. This was one of the first few times I used my Trezor T and I must have been unfamiliar enough with the Trezor connect window to misinterpret it as related to the wallet and it simply asking for a password. (Had I seen it today it could never have happened). I saved the password, but in my memory I had only pre-created it and never used it as a Trezor connected wallet doesn’t require a spending password (“I made this password but I know I never used it”). And I knew I only had one single passphrase that I had knowingly used on my Trezor, so the idea of me having typed a wrong one was simply not there. But turns out it was indeed an inexperienced user error after all.

Well, that is a relief. Thank you very much for your help!

For anyone else with the same issue, try entering any password that you might have used when creating your wallet as your passphrase in Trezor, you might have created a new hidden wallet without knowing it.

2 Likes

I’ve seen similar issues talked about on here but I cannot get mine resolved so I’m sorry but I feel like a need to create a new topic.

I had my ADA on Exodus and was using Exodus until July when I got my Trezor. Then I linked my Trezor with Yoroi and sent my ADA out of exodus. I did a test transaction in and out and everything worked, so I transferred all my ADA into Trezor/Yoroi and staked it.

Between when I staked my ADA and now, I have only made additional transfers into my account; nothing outgoing. Also during this time, Trezor Suite was launched, taking me from web-based to software based Trezor. Also, a few weeks ago I decided to test the backup of my Trezor seed phrase and it did not work. I still had access to the Trezor software so I transferred out all my BTC to a second hardware wallet. Then there was a software update to Trezor and I no-longer had access without re-inputting my seed phrases. It took me some time but I found a typo in my seed phrase and I was able to access my Trezor again and my Yoroi wallet.

Fast forward to yesterday and I went to transfer out some of my ADA and suddenly I am being asked for a passphrase, but I never set up a passphrase as far as I can remember. I keep a crypto journal and I never wrote down a passphrase. I use a password keeper to keep and generate my passwords and have no record of one there either. If I had set up a passphrase, I would have had a record of it for when I transferred ADA out of my wallet during my initial test or when I staked it, right? Now I am stuck. I have tried every password option I know as a passphrase and nothing is working, so I see my ADA in my Yoroi wallet and have no ability to move it.

Was there any issue with the move of Trezor from web-based to software passed that could have caused an issue? How about in the latest Trezor software update? Are there any known issues with the integration of Trezor with Yoroi? I’m lost. Please help!

Thank you.

Hi @gordoman07,

If you’ve never used a Passphrase, just leave it blank when prompted and you’ll access your Standard wallet. This is the default operation when you connect your Trezor to any third party wallet (via Trezor Connect).

1 Like

I have done this, and it opens up my wallet in Trezor Suite (which is empty, as the only crypto of concern is ADA in Yoroi), but it does not work to access my funds in Yoroi.

If I turn off the passphrase setting in Trezor, and go to Yoroi to move my funds, it tells me “Change address staking rights do not match the current account.”

This leads me to believe that the Yoroi wallet is passphrase protected, but nothing I have tried as the passphrase has worked and I get the same message.

You should use the web with 3rd party wallets like Yoroi or ADAlite, not Trezor Suite. When you connect one of these 3rd party wallets to Trezor they bring you to the Trezor connect web page, where you connect your Trezor device, then you’re brought back to the 3rd party wallet.

If Yoroi asks you for a Passhrase on their site, it is not a Trezor Passphrase but a Passphrase to your Yoroi account.

About Yoroi, I’ve heard that they did some changes recently and that it affects Trezor, so you should consider using ADAlite instead.

1 Like

When I click to submit a transaction on Yoroi, it brings me to a a separate Trezor tab to input a passphrase, so it is due to the Trezor passphrase setting. When I turn the passphrase option off for the Trezor and I click to submit a transaction on Yoroi, I don’t get the passphrase pop-up anymore but I get instruction on my Trezor device saying “Change address staking rights do not match the current account” followed by a staking key hash and a change amount.

Do you think there is any chance this is a Trezor or Yoroi technical issue and not the case of me mistakenly setting a passphrase that I know nothing about?

I think that particular message about staking is a Yoroi issue. See the link to another post that I provided in my previous post.

If you didn’t use a Passphrase to create a Hidden wallet in Trezor, then you can skip it when prompted.

did you, at any point, verify the receiving address on Trezor?

It took me some time but I found a typo in my seed phrase and I was able to access my Trezor again and my Yoroi wallet.

Are you sure that you recovered your actual seed?
When you connect your Trezor to the Suite now, do you see the right transaction history, including your outgoing transactions that you made previously? Is this on an active account, i.e., can you display a receiving address for these accounts on your Trezor?

There is 1 in 8 chance for 12-word seed and a 1 in 256 chance for a 24-word seed, that you corrected a wrong typo, and got a valid but different seed phrase.
If that were the case, you could recover the seed into Trezor, but the recovered account would be a completely unused wallet.

Fast forward to yesterday and I went to transfer out some of my ADA and suddenly I am being asked for a passphrase

When recovering though Suite, passphrase gets enabled by default. As @Petosiris points out, you can simply not enter it (leave the fields blank and press Enter), or you can go to Suite settings and disable passphrase to get rid of the prompt.

If I had set up a passphrase, I would have had a record of it for when I transferred ADA out of my wallet during my initial test or when I staked it, right?

Maybe? Trezor remembers the passphrase until you disconnect, so if you did the test transfers, AND used a passphrase, you’d enter it once and then maybe not again.

Also, did you at the time of the test show the ADA address on your Trezor?

Was there any issue with the move of Trezor from web-based to software passed that could have caused an issue?

Passphrase gets enabled by default now. Otherwise, no.

How about in the latest Trezor software update? Are there any known issues with the integration of Trezor with Yoroi? I’m lost. Please help!

There aren’t. A lot of Yoroi users complain about a similar problem, but as far as we could determine, it is always something to do with wrong passphrase.

You say that you tried every possible passphrase. Now it’s maybe time to check that you got the right seed.