March 2023: what is easiest and cheapest way to exchange STORJ tokens at ZKSync wallet

You may also withdraw from zkSync directly to the centralized exchange’s address (transfer from zkSync to Ethereum: Tutorials | zkSync Documentation) and pay TX fee once. Just make sure it’s a STORJ deposit (they have a separate deposit address for every token).

right but in that case I’m going to be paying the ethereum gas transfer each time, right? which is kind of terrible.

The fee will be paid in STORJ tokens unlike transfers between two Ethereum addresses.

But the value is based on the eth gas prices, right? So it’s the same as if it was L1->L1 transfer.

Is this correct:
Getting paid to L2 means you pay small (L2) fee when you receive payment and then regular (L1) when you withdraw. As opposed to only regular fee when receiving directly on L1. If you want to maximize earnings, then maybe getting on L2 and holding till L1 fees get lower is better, but then you gamble on fees, price of the STORJ token and ETH (when you want to withdraw to fiat).

no, you never pay fee when you receive tokens, the sender is paying it.

that’s correct. In this case you are the sender. The main difference between L2->L1 and L1->L1 transfers, that you may pay fee in ERC20 tokens in case of L2->L1, unlike L1->L1 where you can pay only with ETH. However, the L2->L1 fee could be greater than L1->L1 fee. It depends on several factors: did you register your address on L2 before (actual only for zkSync Lite, it requires a one time registration fee in ERC20 tokens), did you send something before to the destination address, price of the token (zkSync uses Uniswap pools) and so on. In many cases the L2->L1 fee is close to L1->L1 fee for ERC20 tokens.

Yes I feel your pain, it is complicated - let me give you some more information (Opinions are my own, I’m not affiliated to any provider, Token prices are volatile and this isn’t financial opinions, tokens are NOT $$$, others will disagree - I don’t care :stuck_out_tongue: , never share your private key, never leave ANY tokens in an exchange)

Doing anything in this reply, is done at you own risk, acting on random person notes is not good - I do this to give you idea, only use small amounts to play, others will have varying opinions.

TL;DR; I never fiat :rofl:

Sounds like you picked an OK wallet, MetaMask will let you work on many chains :fox_face:

Yes, go to and make sure you can open you MetaMask Wallet - The Address you use on Zksync is the same as L1 - this address is the one you use on you nodes to get Storj Token on plus 10% bonus (current April 2023)

On Zksync lite, you need to activate your L2 address - this doesn’t stop you getting the Storj token, but will prevent you sending or swapping. This is costly, the easy way is to use the L2 ZKsync wallet and send 1 Storj to your own Storj L2 address - this will show a cost estimate, it varies from $0.30 to $4+, when it at a good level send the Storj - this will activate you L2 address. (you can do this other ways, but this method allow you to pick best rate, time of month and hour of day impact this :eyes: )

Storj token is volatile, and is only a utility token - for stability and wider coverage you are better of converting to USDC when the rate of Storj is at a level you happy with. Again this has to be done at L2 else you pay lots of $$$$ - From the wallet, select “Swap” - this will take you to the ZigZag exchange - make sure you on the Zksync Lite chain, top right and then connect you metamask wallet to ZigZag :fox_face: From the token pairs drop down your need to search on STORJ, then find the matching USDC pair to trade. I can’t tell you how to trade on exchange, there are many online guides - but use small amounts to start with, the fee will be low < $0.50. When you finished the exchange, you should see some USDC in the L2 wallet from ZKsync Wallet (You will not see these on L1 explorer or L1 wallet MetaMask view, don’t panic this normal only L2 dapps can see L2 tokens)

Tip : Always hold at least $1 - $2 in USDC on L2 wallet - Storj Token is utility token, which CAN and HAS (in past) become unavailable for paying L2 fees - this means that if you only hold Storj on L2 you could find that you can’t move the tokens without paying lots of $$$$ based on L1 gas fee’s to fund L2 with a valid token i.e USDC / USDT from L1 - this is bad, don’t be that person :thinking:

Another Tip : ZigZag is a decentralized exchange, this mean that they not hold all the tokens, they use real people like you to run money makers bots to allow the Token Pairs to appear - that means that at time of bad tokens, the people can switch bots of meaning no pairs, meaning you can’t sell you Storj token on L2, mean you need to send to L1 mean lots of $$$ means loosing token value - make sure you have plan, that why I help you a bit more.

so now, you should have some L2 USDC in you ZKsync Wallet linked to MetaMask :fox_face: with a few STORJ left over.

You now have options - you could send the USDC to L1, again the default ZKsync L2 to L1 bridge is expensive ! It’s all you ever see talk about on this community, it must be sad :thinking: You could use any L2 bridge, as example the ZigZag exchange at top has “Bridge” option, you can use this to send L2 token to L1 - you need to use “fast” option, not normal - it should be allot less $$$$ then zkSync Bridge :wink:

Another option Is to Bridge Chain - yes this more advanced, but ERC-20 tokens on ETH chain is very expensive $$$$ - even if you get any token to ETH L1, the gas fees to do anything with that are hard on SNO’s - Storj can’t / won’t talk about this and to be fair token economics isn’t something they can talk about, but SNO’s have choices.

As example, my favourite chain today for fees and support is Polygon - As example, once you have USDC on L2 Zksync, you can use a Polygon Bridge to send the USDC to the Polygon Chain - Orbitier Finance is one (I’m not affiliated, there are others, please do you own research, I not recommending them just including to show options) MetaMask needs to have the Polygon Chain manually added, there are guides on how to add it.

Once you have USDC on polygon, then buy vouchers on BitRefill for things you want to buy, they natively support USDC on Polygon, costs you about $0.20 in transaction fees :laughing: they also pay top up bonus on purchases :laughing:

As Example:-

Scene 1;

L2 Storj to L1 using Zksync native bridge ~ $16
L1 Transfer to Exchange ~ $12
Exchange fees to Fiat (assuming no minimum! There’s always a minimum :stuck_out_tongue: ) ~ $2

Scene 1 rough costs to Fiat =~ $30
(Yes you could put L1 Exchange address in Storj node, this risky if anything happen on exchange between 1st of month and SNO payments, but from payout addresses many do this, but I say bad as no control if things go wrong)

Scene 2;

L2 Storj to L2 USDC ~ $0.40
L2 USDC to Polygon USDC ~ $2
Polygon USDC to BitRefill ~ $0.20

Scene 2 rough costs to Bitrefill =~ $2.60

I hope that help a bit, The above is not a recommendation on how to do things, it is an example that you requested which give you one option, there are many ways to do this with own risks and good things, it up to you to find a way that you happy with.

CP :heart:

Oh sorry, so much ! just forgot to mention that on Polygon, you need GAS which is MATIC token - when you use the Polygon Wallet connected to MetaMask, when you have USDC on Polygon there is FREE USDC to MATIC faucet - this will convert up to value of 10 MATIC from USDC with NO GAS FEE ! You need MATIC to send the USDC anywhere on Polygon.


Uh, I thought that our earnings cover the payment fee. That’s why I wrote
you pay small (L2) fee when you receive payment, by which I actually meant they pay fee when sending payment and it's covered from your earnings. But… it’s not the case?

Binance does’t support top up by smart contracts. So you need to send STORJ to L1 wallet (like trustwallet or metamask) and after it send it to Binance. So you pay fees for gas twice.

Perhaps you can still use a polygon wallet feature in your node.
But be aware of:

You can use L1 address of Exchange in L2 → L1 and it will cost you in 1.5 times less, than own L2 → own L1 → Exchange L1

We do pay transaction fee from our own pocket, you will receive exactly what your node have earned, in case of zkSync you will also receive 10% on top.

I did not know, that Binance deposits does not support top-up from a smart contract.
Looks like only Binance US has this limitation, otherwise I did not find this information on Binance Global.

Just try to top up your Binance STORJ wallet and you will see warning message. (It’s about Binance global).

Seems I did not use Binance for a very long time :slight_smile:
It’s news for me.

And what is happen if you ignore?

Interesting, I send from ZKsynk to l1 directly to binance every month and working ok.

@Vadim that is… on Binance, you send directly from zsynck L2 to Binance L1??? Without paying fees to go from L2 to L1?

yes i payd 8$ last time but I got around 60-80$ in 10% addition on ZKsynk payment, so I am in big profit even


you will lose tokens

i also directly put binance Storj address at config.yaml…working just fine

Do you use ZKSync for payout?

nope…just use storj binance spot wallet for recieve storj payouts…