I used to love gaming, probably still do, but won’t go anywhere near a game nowadays, as I get too addicted. Playing World of Warcraft is about building up a character and equipping it with rare items that have to be collected via quests, dungeon raids and player vs. player competitions. The collected items end up in the inventory of the character, but the player does not really own the items. The player and his character have them for the time the gaming subscription is paid for or as long as the game exists, but keep nothing beyond that. The items usually cannot be traded or even sold for real money outside of the game.
Digital asset ownership has the potential to change this and give any player ownership of the items collected and built ingame. The ownership is recorded on a blockchain and the technology to do so is called NFT. A non fungible token is a unique token of an image, a video or an ingame item, that can be owned by someone via a wallet. It enables users to take these digital ingame assets outside of a game, potentially use them in other games and trade them on marketplaces for real money. Non fungible means the tokens are not interchangeable (fungible) between each other. If you change one non fungible token for another you don’t end up with the same thing. It’s like trading houses. Each one of them is unique.
This technology has been all the hype in the last couple of months, including Bored Ape Yacht Club, Crypto Punks and Axie Infinity. NFTs go beyond just jpegs for digital bragging rights and expensive twitter profile pictures. They can form communities among owners or find use within games like Axie Infinity. Axie’s are little creatures with unique features that duel each other in a game. Axie’s can also be bred to create new unique creatures and of course, because they are NFTs on a blockchain, they can be sold by the owner.
Games like these have gained popularity and Ethereum quickly came to its limits. The Axie Infinity Studio built its own sidechain to support minting and trading a much larger amount of Axie’s and reduce transaction fees so that users would actually enjoy playing the game.
But not every gaming project would be willing to build the infrastructure on their own and this is exactly where Immutable X steps in. It builds the first layer 2 solution for NFTs on Ethereum and this at a scale ready for gaming. From their docs:
The network currently supports approximately 150,000 non-fungible token transactions per day at 30% network usage. Our plan is for Immutable X to support more than 200 million trades per day while consuming less than 30% of Ethereum’s capacity.
Layer 2 means running a bunch of transactions outside of layer 1, in this case the Ethereum blockchain, and then summarizing them back onto layer 1 at a later stage. This means a lot of transactions can be executed with low transaction fees, but can keep the security of the main chain. Immutable X uses rollups to achieve this.
Layer 2 and ZK Rollups
Below is a great video generally explaining rollups, the technology summarizing the transaction that happened off-chain:
Layer 2 enables the best of both worlds, security of the layer 1 blockchain and high scalability of an auxiliary system.
Immutable X makes use of zero knowledge rollups or ZK-Rollups. The rollup uses cryptography to generate a cryptographic proof of all transaction data when rolling up back to layer 1. This is also called a validity proof since the math involved in this process proves that all transactions that occurred on layer 2 are valid and once they are accepted onto the layer 1 blockchain they become immutable like all other layer 1 transactions.
In comparison to other rollup technologies, ZK-Rollups require a lot of computation power, but enable – via validity proofs – immediate withdrawal back to layer 1, creating a seamless user experience.
Immutable X is built using StarkEx technology by Starkware. The diagram below gives an idea of how StarkEx enables transactions to be executed outside of the blockchain, on layer 2, and then updated and proven back onto the layer 1, main chain (here is a great little clip walking through the high level process).
Now if Starkware offers all this, what does immutable actually do?
Immutable X adjusts the StarkEx technology to NFT specific requirements, allowing users to mint, deposit, transfer and withdraw NFTs. Additionally, the team offers a bunch of features making life for developers really easy by abstracting most of the complex smart contract and blockchain logic. This is part of why the project is so interesting. Very few developers know how to use web3 technology, develop a smart contract and build applications connecting to them, so an easy to use APIs to enable minting of NFTs for ingame items could allow any game to tap into this new area.
On Immutable X, every interaction, from minting to trading to transferring, is performed via simple API calls. The Immutable X APIs contain both the Read and the Write functionality required to build applications without ever building a backend, meaning Immutable X abstracts the complexity of the blockchain to function as a backend.
A bunch of interesting projects have recently launched on Immutable X.
Gods unchained is a popular card game where rare cards are NFTs built by Immutable.
Illuvium, an open world RPG is planned to launch on Immutable X.
Various NFT projects including TikTok Top Moments.
Ember Sword is building a free to play MMORPG enabling players and community to shape the game.
The gaming league ESL is partnering with Immutable X to offer CS:GO NFTs.
The diagram below is a mixture of tokenomics and the high level architecture in place to run the service. An interactive version of the diagram can be found here.
Ethereum (layer 1)
This is where the protocol uses a smart contract on Ethereum to hold funds that are to be bridged to layer 2. The contract maps wallets of layer 1 and layer 2.
A user will need to deposit funds into the contract on layer 1 to have them available in his wallet on layer 2.
The verifier will verify proofs received from layer 2 after a rollup to ensure the correct network state is on layer 1.
Immutable X Infrastructure
APIs allow games / applications to mint, transfer, burn or update metadata of NFTs. The idea is that most games won’t need a lot of web3 logic so the access to these services via an API simplifies development.
LINK connects users to Immutable X by linking their layer 1 wallet to a layer 2 wallet. Users can continue to use their layer 1 Ethereum wallet.
All orders submitted to Immutable X are available through a shared orderbook, giving developers a fast start when building out their own marketplaces. Immutable X comes with its own marketplace implementation, where NFTs can be traded and which has an unfiltered view of the complete orderbook.
The rollup service keeps track of state on layer 2 in a giant merkle tree (great explanation of how they work here) which is batched to calculate proof of its validity. This is a compute intensive step but allows storing of the state in a compressed form on-chain.
Immutable X Protocol
The protocol gets us to the tokenomics of Immutable X. The project comes with a utility token, IMX, that is used for governance, payment of protocol fees and staking. It has a total supply of 2,000,000,000. The distribution can be seen in the image below and will be supplied over the course of up to 4.5 years (details here).
A portion of the large Ecosystem development funds is paid out to users as daily rewards based on their usage. The other part is granted to support development projects using Immutable X.
The payout process of grants involves a voting system using snapshot, where IMX token holders can vote on grant proposals.
Token holders receive as staking reward if they fulfil the following criteria:
have voted on governance in the last 30 days.
hold an NFT OR have traded in the last 30 days.
The reward is paid out as a proportion of the amount a user has staked to the total amount staked.
Staking is funded by a fee on sales and NFT trades where Immutable X takes 2% of. 20% of the 2% are traded into IMX and deposited into the staking reward pool. The IMX is bought on the open market in case the transaction was in a currency other than IMX (mainly ETH will be used).
The 80% portion of the 2% transaction fee is the main income stream of the Immutable X protocol.
The IMX token certainly doesn’t have as important of a role as other tokens, but it can be seen as a value capture of the Immutable X protocol. The more Immutable X is used, the more transaction fees are paid. These fees are partially paid out, like a dividend to IMX holders.
Games / Apps
Games and applications interact with Immutable X via APIs or the SDK giving game studios a simple way to add NFTs into their games. A smart contract needs to exist on layer 1, but all interaction happens via API.
Immutable X is all about NFTs, so it’s worthwhile giving a closer look to how they work within the protocol.
Connection between layer 1 and layer 2: A new game will need to go through a few steps before minting NFTs on Immutable X. This involves creating a smart contract for the NFTs to be used on layer 2. The smart contract will then need to be linked in Immutable X. Once that has happened, NFTs can be created on both layer 1 and layer 2 and can be bridged between the two using the deposit and withdrawal functionality of Immutable X.
Royalty fees: A fixed percentage fee from every purchase of the NFT goes to the creator. It’s a great way for creators to earn money after their piece is sold the first time.
Metadata: Specific details of an NFT that are not directly stored within the NFT. The NFT has a pointer to a document describing these features (IPFS is just one of the places where such a document and the actual jpeg can be stored). This great image from Opensea explains the concept:
Immutable X additionally supports mutable metadata which is not stored on-chain and instead fully controlled by the application allowing the application to better describe NFTs for marketplaces.
I quite like where this is going. Creating NFTs becomes cheap, scalable and easily accessible by any game development studio without hiring a whole team of web3 developers. Immutable X tears down the barrier of entry by making it so easy to use this technology.
Add to this the demand from gamers and users to shift to this new play to earn model. I simply can’t imagine games not offering in-game items as NFTs so that players can own them. It’s what the gamers want and ultimately it’s the players driving demand for new changes by choosing the games they want to play.
Gaming companies might have to rethink their business models again in this next step of this evolution. Free to play was a big shift in the last couple of years, where companies offered games for free and turned to revenue from sales of in-game items. While they will continue to sell NFTs, new revenue streams are sure to follow. Gods Unchained plans to earn the majority of their revenue from NFT royalty when the ingame cards change hands on exchanges.
Immutable X as the foundation for all this is an exciting piece of infrastructure bringing us as step closer to mainstream web3 usage.
Interested in collaborating on tokenomics and discovering new protocols? Join our tokenomics discord channel.
This post does not contain financial advice, only educational information. By reading this article, you agree and affirm the above, as well as that you are not being solicited to make a financial decision, and that you in no way are receiving any fiduciary projection, promise, or tacit inference of your ability to achieve financial gains.