Optimize your chance of getting NFTs in the limited WAX Sales

Anders Björk
6 min readJan 13, 2021

So, Multiple times in the past we have had people that has been missing out on sales for a number of reasons. Some are based on the Fiat system, and those I will leave out of this article. In this I will focus on the optimizations you can do to increase the likelihood of your transactions reaching the blockchain as fast as possible without any knowledge of coding. In other words, what you as a user can do to minimize the hurdles and optimize your chances of getting those NFTs that are sold under limited supply with high demand.

First, let’s go through what is happening with the cloud wallet

The most used wallet on WAX is the cloud wallet. This is a very convenient and nice wallet for interacting with games and applications utilizing the WAX blockchain. I would argue one of the biggest strengths of the WAX blockchain. But this comes with a few limitations. One of them being that it’s a custodial wallet (mentioned more here), and the second is that it is one entity that signs all transactions, which slows down the process if a lot of people are doing it at the same time.

What happens at these rushed sales, where the demand is higher than the supply, is that those sales are done in less than 30 seconds. So imagine now that all cloud wallet users sends a request to the cloud wallet servers at the same time that their transaction needs to be pushed to the blockchain. If that is hard to visualize, compare that to the Black Friday crazes in the US.

Everyone is trying to get the same items, at the same time, and the store is not built for it.

When this happens, even as the store prepares lanes and isles for more people, we will reach that bottle neck at some point where the crowds are to tight and you have to queue for your turn.

This is what is happening with the cloud wallets infrastructure at some of these sales. Few weeks ago we had a sale from Bitcoin Origins where the WAX cloud wallet was scaled up, but the usage was about 30x as high as normal usage, and only for a second. That means that 30x as many people tried to enter the door at the exact same time, which resulted in a latency for users that was resolved on average in 10 seconds.

10 second queue is usually not a problem, but when demand is so much higher than supply, that is the difference of you getting your NFTs and missing out on the sale.

So for next time, what can you do? Can you do anything? Or are you doomed?
The short answer is, of course you can do better, doesn’t mean you can guarantee your spot, but you can increase your chances big time.

Use a self managed wallet

Since this is all about optimizing, I will only focus on Desktop wallets. Because they will always be the choice for speed. For WAX we have two real options, Scatter and Anchor. Scatter is no longer developed, but the old releases works. Anchor is still getting new releases and fixes which makes this the optimal solution for now, and will be what I recommend below.

The advantage of using a self managed wallet is that your computer will be the one signing the transaction and broadcasting it to the API server which in turn broadcast it to the block producers which put the TX in a block and signs it.

The difference between signing it on your device and using the cloud wallet would be equal to having multiple stores available for Black Friday instead of just one. Which results in less customers per store and less queuing.

There is a potential bottle neck that can occur here as well, and that is if all the users try to send their data to the same API node. Because then the crowd at the door would be at this stage instead of the earlier one. This can however easily be solved by making sure you assign an API in your wallet that can take the load, E.g. our API. We have nodes behind our API which sole purpose is to take transactions from the user and relaying them to the block producers. These push-api’s run on very fast infrastructure to minimize these issues.

So how can you use a self managed wallet?

Here is the catch, you need another account. The cloud wallet account is limited to be used inside the cloud wallet, this is the custodial part. You do not control the keys, so you are limited to their service, for good and bad.

However in the Cloud wallet, you can easily create a self managed account.

Create self-managed account in cloud wallet

Then you need to enter your public keys, and the account name you want. You also want to make sure you stake enough resources for your account, a few WAX for CPU and a few for NET is enough. If you plan to have a lot of NFTs, I would increase the RAM a bit as well. This can all be done later if you want.

Setting your account details

If you do not have a public/private key pair before, you can generate one inside the anchor wallet (Download link).

Navigate to Manage Keys
Click Generate Key Pairs
SAVE YOUR PRIVATE KEYS!!!

NOTICE — MAKE SURE YOU SAVE YOUR PRIVATE KEYS
The thing about self managed accounts is that you have to manage your own private key. The private key is the only way to access your account in the future, there are no account recovery or customer support you can call.

So copy the key-pairs and store in a secure location, plus save them directly to your anchor wallet. Read this Private Key Management for Dummies if you need help.

Now you can login with Anchor for sales, and skip the potential clogging of the WAX cloud wallet that occurs in some sales. For limited sales, and when we rush for low mints, having the fastest option available is key.

To find available API endpoints you can look at this list:

https://validate.eosnation.io/wax/reports/endpoints.html

If you need help setting up your wallet and understanding all these aspects, you can look at these guides:

Anchor: https://youtu.be/o401Tr893uw

Using Ledger: https://youtu.be/3xgPsx_Sf3s

Encrypt your keys: https://waxsweden.org/how-to-encrypt-wax-private-keys-and-passwords/

Manage your keys: https://medium.com/r?url=https%3A%2F%2Fwaxsweden.org%2Fprivate-key-management-for-dummies%2F

Peace!

--

--