Problems unlocking zksync for storj


For the past few days I’ve been trying to unlock storj on zksync and I get an error saying “invalid jump destination” when I click the unlock button.

  1. I’m using metamask to interact with zksync. I’ve tried with both mobile and Firefox extension and I get the same error.
  2. I tried unlocking with different storj amounts like 81 or 200 and I get the same error.
  3. Added some more ETH to the wallet, up to 150$ worth and get the same error.
  4. I’ve asked for some support on zksync telegram and they’re not really sure what’s going on…

Anybody have a clue?
Also, I configured my nodes for zksync - what happens with the payment if I can’t get zksync unlocked ? And when will the payout happen?

Update 03 Apr:

  • tried unlocking with metamask mobile connected through wallet connect - same invalid jump destination error
  • tried unlocking with trust wallet - another, worse uncaught exception:

    Looks like software companies are not doing QA properly (if at all) nowadays…

Don’t know what is happening but did you try with the same amount of STORJ on the zksync testnet?

No, I didn’t try the testnet because I don’t have test storj tokens.
Thing is there’s a 13$ validation transaction that seems it got through although the unlock button is still there. It shows up in my transaction history.

I’m starting to have second thoughts on this zksync platform. Their software and UX are pretty underdeveloped with errors popping everywhere, lack of documentation, bad support. And I’m supposed to trust them with my money… :disappointed_relieved:
I’ve already spent about 60$ trying to move funds to their platform and I’ll probably miss the next storj payment because I can’t get the damn zksync account to unlock.

But you dont need to unlock it to get storj, only if you want to withdraw later to L1 or am I wrong? @Alexey

The minimalistic documentation on states that this is needed for registration:

Interestingly in my case the UI looks a bit different:

You need to unlock only in case, if you want to deposit STORJ to the address on zkSync, to send them via zkSync for example.
For withdrawal you need only register your address on zkSync with 11000 gas. This fee should be eliminated with their new release. But if you don’t want to wait, you can do it now and pay a registration fee in STORJ tokens. Then you will be able to withdraw your tokens to any address on L1. The fee can be paid in STORJ tokens too.

Thanks for the answer but I think it is very clear what I want - I want to be able to receive payments from storj labs in this wallet via zksync.
From your statement and the documentation I understand that unlocking storj on zksync is a requirement for getting the payments from storj labs, after opting in your nodes to zksync wallet option.
Is this true?
If this is a requirement that is not met because of zksync unlock issues, and the nodes are configured with the wallet option zksync, what will happen to the money on payout day?
Also, issues with unlocking storj token on zksync are not well supported, as it seems, by the zksync company. Can storj labs provide some support, since it’s storj labs that suggested this change?

There are two operations with different purposes:

  • unlocking the balance on your L1 address to be able to deposit to your address on zkSync. It’s needed only if you want to deposit your funds from the L1 address to L2 address with purpose to send them via L2 to other address. We do so for our address, when sends tokens to you.
  • register you address on zkSync (once) to be able to withdraw tokens from L2 to L1, when you receive them.

You need only second, until they deploy a new version of zkSync protocol. In this case the registration fee would not be taken (at least they promise to do so).
Until you did not receive STORJ, you only need to specify the zkSync option in the config file of the storagenode. You don’t need to change a wallet (unless you used the deposit of the exchange) and don’t need to unlock anything.
You will receive payout to your address via zkSync in the first two weeks of the next month for a previous. In this case - until April 15, if you opted-in in March.


What I did on my side:

  • Created a new L1 address and moved all my storj to it. Added some ETH for future fees.
  • configured all nodes to use this new address on 30 March
  • added operator.wallet-features: [“zksync”] to the config file of all nodes on 31 march at 19:00 PM GMT+3
  • connected this new wallet to zksync via metamask
  • tried unlocking it for storj token but without success

Is this enough to be able to receive storj tokens for march? Will I receive them in the April payout considering that I performed these changes at the end of March?

This was not needed at all, unless you lost access to your previous wallet.
You also do not need to have ETH on this address, if you opted-in for zkSync - you can pay the withdrawal fee in STORJ tokens.

I still have a feeling, that you want to send your tokens via L2 to someone. If so - then yes, you would need to unlock your L1 address for zkSync to be able to deposit your STORJ to your address on zkSync.
Then you can send your tokens via zkSync to any other address for 1/100 of regular fee on Ethereum and this fee can be paid in STORJ tokens

To receive your payout in April via zkSync you was need only:

This one:

will be needed, if you decide to withdraw your tokens from L2 to any address on L1, include current one.

1 Like

I can send you a testSTORJ tokens via zkSync on Rinkeby to help you to understand the technology.
You can post any your address here and I’ll send them. Then you can test it.

To test you need to switch your wallet to Rinkeby network instead of mainnet and connect it to to be able to see a balance and be able to withdraw them to L1.

When you would feel yourself comfortable with the technology, you can switch back to mainnet and use

Thanks @Alexey for the detailed answers. I’m starting to understand the process a little better now. I think it would be useful to other people as well if these answers or use cases would be included in the documentation.

It would be great if you could send me some test storj!

My wallet address is: 0x53A6CA629f8315C0574d1b343a8f01a5da6607b7

Received the 15 test storj! Ty.

1 Like

You’re welcome!
You can try to withdraw them to your (or other) L1 address

Regarding the unlocking issue. I might have stumbled on a bug in the zksync software. That’s what they say on the support channel on telegram:

Yes, their contract request an unlimited access to the balance on your L1 address, they promised to fix the issue.
However, the unlocking is needed only if you want to deposit STORJ tokens to the address on zkSync, not withdraw (i.e. you want to move your tokens from L1 to your address on L2).