How to calculate the Market Cap of ERC1155 NFTs?
Market capitalization is an important concept in the cryptocurrency space to measure the total value of a project. It is an accurate indicator of project size and provides a new perspective for comparison between different cryptocurrencies. It is commonly seen on cryptocurrency rankings.
However, the market cap is rarely found when it comes to NFTs. Why?
Before we dig deeper, we must grasp two key concepts that are closely related to the calculation of market cap.
•Unit price ©
•Total quantity (N)
These concepts are inseparable in the calculation of market cap. In the crypto world, market cap=C*N. But does it apply in the NFT world?
Before all the brainstorming takes place, let’s look at something interesting that happened on NFTGO last week which might help to clarify the reason to reflect on the market cap once again.
What had happened?
On August 26, a project named Parallel Alpha topped the NFT market cap ranking, outdoing CryptoPunks by four times. Simultaneously, the 0x74db address also hit first in the NFT whale ranking with a holding value a hundred times more than the second place holder. This anomaly quickly caught out attention.
Parallel (project link: https://nftgo.io/collection/ parallel-alpha/overview) is a TCG (trading card game) built on Ethereum. Users need to collect a minimum set of cards to compose a playable deck of cards that is associated with one of the five Parallels. Alpha is the first card collection of Parallel. It includes five units: Earthen, Marcolian, Augencore, Kathari, and Shroud.
The “culprit” behind this anomaly was the Archivist’s Pride card under the Kathari unit. By the time the incident happened, it was traded for 10.5 ETH (about $32614.49). On August 26, the 0x74db address issued a large number of additional in-project NFTs, including 29,936 Archivist’s Pride decks that have generated a high volume of transactions, which has directly led to a spike in the total value of its account holdings and the market cap of the project.
Here, we’d like to add two concepts regarding NFT standards: ERC721 and ERC1155. Simply put,
•ERC721: Only one NFT can be issued under one token ID, and each additional NFT issued/traded is subject to one additional gas fee.
•ERC1155: There can be unlimited NFTs under one token ID, and only one gas fee is charged for batch processing of multiple NFTs under the same ID.
Parallel Alpha falls under ERC1155, which means it can increase and trade in a large quantity of NFTs at a very low cost. How should we deal with the market cap escalation after the increase? Does such a high market cap reflect the actual size of the project? Does it really live up to its ranking?
Like what we said at the beginning, the unit price © and the total quantity (N) are inextricable with the market cap. C is easier to determine — through transactions — where the price is the best quantified expression of value. Take the price of the latest transaction of an NFT as the unit price © of all (1 or n) NFTs under this ID to represents the latest contribution of this NFT to the project’s market cap.
“N” is harder to determine when it comes to the ERC1155 standard. When an address holds the vast majority of NFTs under the same ID, it can jack up the market cap of all NFTs by boosting the price of one NFT (or through insider trading).
Similar problems are prevalent such as the once-popular NFT fragmentation protocol: an NFT by itself costs $50,000, and after being divided into 10 billion fragments, its single fragment price becomes $5, driving its total price to $50 billion. Another example is the cryptocurrency market in the early years: a dealer who holds (or indirectly controls through a large number of addresses) 99% of Tokens can pump up the price of a coin all by himself, thus bringing about a sudden increase in the overall market cap of the project.
This led us to reflect on current market cap calculation methods.
To get the market cap of a project, the simple summation method ignores the ERC721 and ERC1155 standards and sums up similarly to the crypto market cap using this formula: ∑ (unit price © of an ID * the number (N) of NFTs under that ID).
For example, a project named “Zoo” under the ERC1155 standard has two NFTs — Monkey and Piglet. 10 Monkeys are issued and have a last traded price of 1 ETH, whereas 20 Piglets are issued and have a last traded price of 2 ETH. We can simply calculate the market value of the NFT project “Zoo” as 10*1+20*2=50 ETH.
This is the method used by NFTGO in the past. It is simple, straightforward, and easy to understand. However, this method also has obvious weaknesses.
As mentioned above, if 20,000 additional Piglets are issued, the overall market cap of the project will soar to 10*1 + 20,000*2 = 40,000 ETH, which is unreasonable, as not all of the 20,000 Piglets will take part in the transaction (as in the case of Parallel Alpha).
If all of the 20 Piglet NFTs are owned by one person and he uses one of his new addresses to buy 1 of his own Piglets at 200 ETH, the market cap of the project will shoot up to 10*1 + 20*200 = 4010 ETH, its ranking will rise, and the total holding value within this user’s wallet will also skyrocket. This is clearly unreasonable because the high price set by insider trading is amplified by the traded quantity. Profits brought by such an amplification far outweigh the costs (ERC1155 has a very low cost of batch operation compared to ERC721). This will stimulate NFT project creators or whales to conduct similar transactions, giving rise to an unreasonable market cap (as in the case of insider trading).
It is important to find ways to avoid the impact of low-cost additions and insider trading on the market cap of the project.
Anomaly processing method
The anomaly processing method is a method in which we mark (star) or temporarily remove from the ranking projects that show an abrupt increase in market cap as calculated by the summation method until their market cap returns to normal.
For example, an ERC1155 compliant NFT project named “Zoo” hit the circuit breaker by having its market capitalization multiply 10 times under one minute for some reason. It immediately got flagged in the upper right corner of its market cap indicator and was removed from all rankings.
The advantage of this method is that it maintains the objectivity of the market cap while using the simplest and most objective method of calculating the market cap, without imposing any subjective adjustments to it. However, its disadvantage is just as evident.
ERC1155 and ERC721 are suitable for different scenarios. As the NFT field grows in the future, the number of projects will eventually increase and so will projects that fall under the ERC1155 standard. In this case, there will be more cases of a sudden increase in market cap due to subjective or objective reasons.
Imagine a scenario where every project comes with a star marker that points to a dysfunctional metric. In addition, in the ERC1155 standard, an instantaneous market cap upswing can be achieved by using only a few addresses. It would be unreasonable for the entire project to bear the consequences of such behaviors.
ERC1155 will be the future norm while starring or delisting points to anomalies. These anomalies need to be resolved rather than just flagged.
Deployer removing method
The deployer removing method means that in the market cap calculation of each project, the NFT in the account of the corresponding contract deployer (which can be understood as the project manager) of that project is not included.
This method was derived from tracing the Parallel Alpha incident. The “culprit” address 0x74db was traced and identified as a contract deployer for the Parallel project. The initial issuance of NFTs within a project is often performed by these contract deployers as the issuer of NFTs. Therefore, contract deployers often have a large number of unissued NFTs in their accounts.
Under the ERC1155 standard, if a user holds the power to issue unlimited additional NFTs, there is no doubt that the project is structurally flawed as the scarcity of NFTs cannot be guaranteed, and thus the instability of NFT price. Based on such considerations, we can totally remove projects that show a sudden surge in market value.
However, if the contract deployer holds the address to issue additional NFTs, it will be completely different.
Think “deployer removing” sounds like a cure? In fact, it’s not. There is a critical flaw in this approach: we cannot distinguish between contract deployers and regular users with current technology. They share the exact same technical underpinning but are only subjectively assigned different responsibilities. Speaking from a probability point of view, the genesis address of a project is often its contract deployer, but it is not guaranteed that a project has only one contract deployer, nor is it necessarily the case that the genesis address of a project is the contract deployer.
Simply put: there is no way to precisely “remove the deployer” from the project statistics.
Furthermore, this is not the solution to problems incurred by insider trading.
Classification and discussion method
The classification and discussion method refers to the approach where projects that fall under different standards are ranked separately.
Since there are so many problems with the market cap under ERC1155, can we just consider them individually?
Unfortunately, this will not work. What about projects like Sandbox and Decentraland that have both ERC721 compliant NFTs and ERC1155 compliant NFTs? If all are ranked separately, we would have three sets of market cap rankings. Ultimately, however, the comparison should be focused on projects — on their category rather than standard.
The standard adopted by a project does not directly affect their performance and should not be the basis for project ranking. Hence, this option was also dismissed.
Concentration classification method
When determining an NFT total, the concentration classification method means to omit the Token ID that shows a high concentration of NFT. For instance, in the NFT project “Zoo” mentioned above, the following situation occurred:
•If 100 fungible Piglet NFTs are issued under the same ID where 99 (99%) are held at a single address, the NFT will be delisted.
It may seem sensible, but if the numbers are scaled up:
•If 10000 fungible Piglet NFTs are issued under the same ID where 9900 are held at a single address, the NFT will be delisted.
This rule is strongly unfavorable to projects that issue a large number of ERC1155 compliant NFTs. These projects tend to trade a lower NFT unit price for high liquidity within the same NFT (similar to FT). The actual traded volume tends to be small, and address concentration is low. If such a filtering method is applied, a considerable amount of ERC1155 compliant projects will see a significant plunge in their market cap.
Therefore, we introduced “volume issued” and set different standards for NFTs with different volume issued to construct an extended version of concentration classification.
The extended concentration classification method means that when calculating the total number of NFTs, if it appears that a large sum of NFTs under the same Token ID are concentrated in one address, this NFT under that address is not counted. For example, in the “Zoo” NFT project, the following four cases are seen:
•A total of 1000 fungible Piglet NFTs are issued under the same ID, of which 995 are owned by address A and the other 5 are scattered in only 5 addresses. This token ID should be considered invalid.
•A total of 1000 fungible Piglet NFTs are issued under the same ID, of which 950 are owned by address A and the other 50 are scattered in 20 addresses. This token ID should be deemed valid.
•A total of 1000 fungible Piglet NFTs are issued under the same ID, of which 800 are owned by address A and the other 200 are owned by address B. This token ID should be considered invalid.
•A total of 10 fungible Piglet NFTs are issued under the same ID, of which 9 are owned by address A and the other one is owned by address B. This token ID should be deemed valid.
If you feel confused by this method, it doesn’t matter because this is not the one we adopted. Here is our verdict:
•The advantage of this solution lies in its complexity: NFTs of different scales are tailored with their own “concentration circuit breaker” that maintains the low unit price and high liquidity of ERC1155 while eliminating NFT monopoly to a certain extent.
•The downside of this solution also lies in its complexity: different standards are tailored to different projects, but standards by themselves are highly subjective. The more standards there are, the further the indicators will deviate from objectivity, and more explanations will have to be made. This is certainly unhelpful to the popularization of indicators. Besides, how should we customize the standards? How do we define “large number” and “concentration”? There is no data and example to follow.
With all that said, however, “concentration” is definitely an interesting concept. This mindset has led us to our final solution: the single-address processing method.
Single-address processing method
The single-address processing method is a method that calculates the market cap by replacing the total number of NFTs under a certain ID (N) with the total number of addresses that own NFTs under that ID (N1). Again, using the NFT project “Zoo” as an example:
Under “Zoo”, there is only the Piglet NFT — 10,000 of them. These Piglet NFTs have the same ID (ERC1155) and are scattered in 10 addresses. The last traded price was 1 ETH. The market cap of “Zoo” is C*N1 = 1*10 = 10 ETH instead of C*N = 1*10000 = 10000 ETH.
The idea is based on a plain and conservative assumption: no matter how many identical NFTs an address has, each address can only sell one NFT under the same Token ID at a time, creating a total market value of one NFT for the project. Meanwhile, the liquidity risk of other NFTs under that token ID tends to be infinite.
This solution is able to solve problems such as Parallel Alpha’s unlimited additional issuance and also mitigate insider trading to a certain extent.
There is an additional advantage to this approach: when calculating the total holding value of a single address (which we skipped on previously), the results are still promising when we treat it with the same assumptions. Regardless of whether 10,000 piggy NFTs or 1 Piglet NFT are held within an address under the same ID, we would only determine the total holding value using 1 Piglet NFT, since we assume that the remaining 9,999 Piglet NFTs are unsaleable at this point.
If this address is lucky enough to sell 2 Piglet NFTs, then its total holding value remains unchanged (still assuming the remaining 9,997 Piglet NFTs are unsold), and the total profit increases by the total traded price of two Piglet NFTs.
The single-address processing method is our best solution by far.
We have come to the end of NFTGO’s discussion on the ERC1155 market cap calculation method. Perhaps it seems redundant to list the specifics of each failed method, but we’re trying to convey an important point here: the ERC1155 market capitalization calculation is an extremely complex proposition and one for which there is no standard answer. It involves a great deal of deliberation about the value of NFT, its liquidity, and other aspects. It is admittedly a completely different world from FT.
We encourage you to share your thoughts in our official community (Discord, Medium, Telegram, etc.). Your input and opinion are always welcome. You may also share your ideas by leaving a message to our Twitter official account. Rewards will be given to those whose ideas are adopted.
We look forward to seeing your comments.
Disclaimer: This article is for research purposes only. Individuals and corporations are solely responsible for any venture they decide to take on.