Understanding WAX Accounts

EOS Amsterdam
Coinmonks
Published in
8 min readDec 23, 2019

--

WAX accounts function very similar to EOS accounts, but they have some key differences and additional features. In this article, we will explain everything, from the account structure of a default WAX account, to the rewards you can (possibly) earn. In the end, we will provide you with various useful resources as well.

Different kinds of WAX accounts

There are two kinds of WAX accounts, namely default WAX accounts and WAX Cloud Wallet accounts. The default accounts are very versatile and customizable, and allow you to use your WAX account to it’s full potential. But they can be difficult to understand and use, for regular users. A WAX Cloud Wallet account is much easier to use and understand, but has more limited functionalities compared to a default account. It is great for regular use, though, and can be accessed using mainstream social media accounts, instead of (confusing) keypairs. In this article, we will explain default WAX accounts. If you’d like to learn more about WAX Cloud Wallet accounts, we have written a comprehensive guide here.

Account structure

Let’s start with the structure of a default WAX account. Every user has one or more accounts on the WAX blockchain. WAX accounts are human-readable identifiers that are stored on the blockchain, and they are required to push or transfer any (valid) transaction to the WAX blockchain. These accounts can also be owned by multiple people depending on the permissions configuration.

WAX accounts are either 12 characters long and can contain the letters a-z and the digits 1–5, or they are shorter and end in .waa (or .wam for WAX Cloud Wallet accounts). These account names replace the long and clumsy wallet addresses that are used in most cryptocurrencies.

Furthermore, every WAX account has permissions. Permissions can be seen as requirements which need to be fulfilled in order for a transaction to go through. A WAX account has 2 native permissions by default:

  • Owner: shows ownership of the account and is needed to make any changes to the ownership the account. This key(s) for this permission is/are best kept (safely) offline, as they are not needed to do most things on the WAX network.
  • Active: used for transferring funds, voting for producers, claiming rewards and making other high-level account changes.

Besides these 2 native permissions you can create new, custom, permissions that fit your needs.

Each permission has one or multiple keys and/or account name(s) associated with it. Each key or account name associated with a permission has a certain weight, and each permission has a certain weight threshold which needs to be met before a transaction requiring that permission is accepted.

Visualization of a default permissions structure. (Source: EOSIO Developer Portal)

To help you understand all of this information we have included the above image, which visualizes the permissions structure of a default WAX account. As you can see, the owner permission has a default threshold of 1, and 1 key with a weight of 1 associated with it. The same goes for the active permission which has a default threshold of 1, and 1 key with a weight of 1 associated with it.
This means that only the (private) key associated with the owner or active permission is required to perform any transaction requiring the owner or active permission.

Account resources

Now you are familiar with the structure of a WAX account, it’s time to learn about account resources. Each WAX account has 3 resources: CPU, NET and RAM, which all allow users to do different things. We will explain each resource individually below using a metaphor by EOS Asia.

How resources in a WAX account (can) look

If the WAX blockchain was a train, CPU, RAM, and NET could be explained in the following way:

NET would be the available seats in each train leaving and entering the blockchain. Your chair will always be reserved, and if u need it, it will be yours. BUT, if no one is on the train, you could lay across a bunch of chairs because they are free! So network is a way to make sure you have somewhere to sit when the train leaves.

CPU is how often you can ride the train, and works much like network as far as allocation goes. You may have a train ticket, but of course the ticket is only usable on certain days and times.

Now, the WAX train is pretty laid back, so any unused space is free to use re: CPU and NET, until the people that paid for the space need to use the space.

CPU and NET are joint resources that together are called BANDWIDTH.

RAM is your storage space on the train. If you need to bring a ton of luggage, you need to pay per bag to check your bags onto the train. If you do not need to bring a lot of luggage, you can sell your storage space to others that are riding on the train.

CPU and NET can be obtained by staking WAX, which is essentially locking your tokens for a certain time, essentially making transactions free.. When the user wants to move their WAX, they can unstake their tokens. RAM can not be obtained through staking, but can instead be bought and sold and is used to hold other tokens for example.

A default WAX account (created by the WAX team) already has 1 WAX staked for CPU, 1 WAX staked for NET, and has a small amount of RAM.

Account rewards

WAX rewards are another aspect of WAX accounts. There are 2 main ways people with a WAX account can earn rewards, both of which will be explained below. Rewards are not automatically added to the account, though. Instead, account holders have the ability to claim the rewards every 24 hours.

Staking rewards

The first kind of WAX reward is the staking reward, which can be earned by staking your tokens and voting for at least 16 Guilds or a proxy, and it is meant to encourage token holders to become active and engaged voters.

Staking rewards (Source: WAX blog)

A fixed number of WAX Tokens is set aside each day for WAX staking rewards. The number of tokens that each token holder receives daily depends on their current stake weight, relative to other stakers. For example, if your stake weight amounts to 0.5% of the aggregate stake weight on any given day, you will receive 0.5% of the WAX staking rewards amount.

Calculating the stake weight (Source: WAX blog)

Your stake weight can be calculated using the above formula. It is your current amount of staked tokens multiplied by your vote strength. Your vote strength is a number anywhere between 0 and 1, with 1 being full vote strength. If you vote weekly, you maintain the highest possible vote strength. If you do not vote weekly, your vote strength will slowly decay. Your stake weight will be 0 until you vote (for the first time), at which point it will increase to 1.

The staking rewards are automatically staked 50/50 for CPU and NET after claiming them, and count as Genesis WAX Protocol Tokens, which we will explain below.

Genesis Block Member (GBM) rewards

The second kind of WAX reward, is the Genesis Block Member (GBM) reward, which is designed to encourage civic engagement and reward long-term WAX community members.

GBM rewards can be earned by Genesis WAX Protocol Tokens, which can be earned in the following 2 ways:

  • The first way to get Genesis WAX tokens would have been during the token swap. If you held your own tokens during the token swap and have performed the token swap yourself (and have not unstaked these tokens yet), you have an amount of Genesis WAX tokens equal to the amount of tokens you swapped during the token swap. Performing the swap is no longer possible, though.
  • The second way to get Genesis WAX tokens is from staking rewards. As said above, the staking rewards are automatically staked 50/50 for CPU and NET after claiming them, and count as Genesis WAX tokens. This is the only way to get new Genesis WAX tokens at this moment.
Genesis WAX tokens compared to regular WAX tokens (Source: WAX blog)

Genesis WAX tokens are equal to regular WAX tokens, the only difference is that regular WAX tokens do not earn GBM rewards. Once a Genesis WAX token is unstaked, it permanently becomes a regular WAX token, which means it can never become a Genesis WAX token again (also meaning it is never able to earn GBM rewards again).

Each staked Genesis WAX token will produce one regular WAX token over the course of 3 years, meaning that one Genesis WAX token will produce 1/1096 part of a regular WAX token each day, for 1096 days. The produced tokens are called GBM rewards and are regular, liquid, WAX tokens.

Putting it all together

Now you understand the main aspects of WAX accounts, it’s time to put everything together, in order to understand how all of these aspects work together in order to make WAX accounts work. We have created an image which shows the relationships between all of these different aspects.

WAX accounts and permissions visualized

In the above image you can see how the account structure is related to the account resources. The light blue lines indicate CPU & NET are needed to perform any action requiring that permission, whereas the red line indicates RAM is needed to hold other tokens. This should give you a solid understanding of how a WAX account operates.

Useful resources

For the final part of this article, we have listed various useful articles, which allow you to gain an even deeper understanding of WAX accounts and the features they offer.

About us

Founding block producer for the EOS mainnet. Block producer for the BOS mainnet. Active top WAX Guild. Partner in the Europechain sister chain. Investor in blockchain projects. Governance, intercultural cooperation, and security specialist. You can find us here:
EOS and Europechain Block Producer name: eosamsterdam
BOS Block Producer name: amsterdambos
WAX Guild name: amsterdamwax
Website|Twitter|Telegram|Wechat

Written by Yannick Slenter for EOS Amsterdam

Get Best Software Deals Directly In Your Inbox

--

--

EOS Amsterdam
Coinmonks

Founding block producer for the EOS Mainnet. WAX Guild. Partner in Europechain. Investor in blockchain projects.