A couple of years ago I used the Iota Python SDK in order to generate some addresses.

api =  Iota(uri, seed)
api_response = api.get_new_addresses(index=index, count=30, security_level=3)

From there I chose one at a specific index, let's say 25, to which I transferred a certain amount from an exchange.

While now trying to migrate that wallet over to Chrysalis, after entering the seed in the Firefly app, it tells me that it can't find the balance.

I have two suspects for this cause:

  • A non-zero index (maybe the app only checks the first address for the seed), or
  • the higher security_level. I think security_level=2 would be the default.

I think the non-zero index shouldn't really be an issue, but it may be, because the app is telling me pretty fast that the seed is incorrect, and I think it would take some more time to come up with the address at index 25.

How do I deal with this issue?

1 Answer 1


I am bundling the information I have seen on Discord:

Firefly only supports security level 2, so you have to send the funds to an address with security level 2 first and then do the migration with Firefly or you generate a migration address yourself and send the funds directly to it with whatever you used until now Or you compile Firefly yourself with security level 3

The migration address has no security level I mean a normal address to which you transfer your funds before the actual migration

Q: Ak, ok I thought security_level 2 was the default. A "normal" address

Yes that's the default for the wallets With the python lib you can generate a chrysalis address, but then you still need to convert it to a migration address and send it there, which is not possible with the new lib

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.