NFT marketplace on Ethereum maintaining cost breakdown
TLDRThe total cost of the infrastructure is roughly $2,500 per month. The operating team is also costing $20,000 every month. To run an NFT market, you need at least $22,500 per month when you add both costs together. More than 70% of total expenses are paid to the operation team.
The NFT market is booming at the beginning of 2022. In January 2022, NFT trading volume peaked at $5 billion. NFT trading volume is less than $300 million in November 2022, a 95% decrease from the previous all-time high. Additionally, the NFT marketplace industry is extremely monopoly. Opensea on Ethereum is taking more than 80% share in the trading volume of an entire industry. Although Opensea has expanded to Polygon, trading volume is less than 10% of Opensea on Ethereum.
Operating an NFT marketplace comes with costs, mostly infrastructure and operation teams. Most NFT marketplaces have an insufficient trading volume, so they struggle to pay these costs with their revenue. Even the leading NFT marketplace on Optimism, Quix, decided to stop operating their NFT marketplace due to these costs even though the future may be bright.
The founding team must either have its own money or raise money from venture capital firms to survive this bear market. These funds must be budgeted appropriately to meet all expenses until the next bull market (4 years runway). Additionally, ensuring that your NFT marketplace is in the lead throughout this bear market would be best.
This blog will show how much it costs to operate a fully functional NFT marketplace on the Ethereum mainnet.
Infrastructure costs
The indexer and database represent a significant portion of an NFT marketplace’s infrastructure costs. Even if you can develop numerous unique techniques to optimize these costs, we only highlight the conventional best practice approach in this blog.
You can find our AWS calculator estimated cost here.
The indexer
The conventional way to develop an indexer is to use an indexing tool such as The Graph. You must develop your subgraph to specify how to index and what event topics to listen to. You have two choices for deploying your subgraph, hosted or self-hosted. At the time of writing, November 2022, the direction on hosted subgraph isn’t clear, so we only focus on the self-hosted one.
The Graph requires not only an indexing node but also an archive node. To host your own archive node on the Ethereum mainnet, you should use Erigon, which requires a machine with at least 4 TB SSD and 16 GB of ram.
To save cost, you can go for a monolithic solution by hosting both the graph indexing node and archive node in the same machine.
The Graph recommended spec is at least 30 GB ram with 8 CPUs. The minimum spec is 8 GB ram with 4 CPUs. At least 1 TB of SSD is required.
An a1.metal instance would be sufficient for both the archive and the graph node. It has 32 GB ram and 16 vCPUs, plus the advantage of the metal instance is that you can run your node with full performance. You must reserve at least 6 TB of SSD for hosting both archive and graph node.
Moreover, you must account for the bandwidth cost of peer-to-peer syncing. Assume it uses 1 TB of bandwidth each month. An extra $100/month is added to your bill.
In summary, it will cost you approximately $800 per month if you use the 1-year EC2 Instance Savings Plans.
However, more than a subgraph alone is required for an NFT marketplace. You must have your cron job to poll recently indexed raw data from your subgraph deployment and organize it into a format that covers all requirements. We will discuss this in the coming backend section.
The backend
You need to host your backend instance with auto-scaling and load balancer. If you host it using a bare EC2 instance, your website will likely go down on peak, or you will need to reserve unnecessary high-spec servers to prevent the server from going down on the peak.
You can host your backend server on multiple a1.xlarge instances controlled by a load balancer and auto-scaling group. Your backend will lazily fetch the required data from the graph node on-demand to reduce the workload required to index collections without any demand. Backend server costs approximately $200 per month.
Moreover, the backend also needs a database server. We usually use Amazon RDS for this purpose, costing approximately $400 per month if you don’t have high traffic.
The standby cost of the backend service should be, approximately, $600 per month.
The image storage
The last piece of an NFT marketplace infrastructure is image storage. We usually use Amazon S3 for this purpose. According to CryptoPotato, in April 2022, Ethereum had approximately 80000 NFT collections. Assuming each collection takes an average of 0.5 GB of storage, 80000 collections take 40 TB.
Amazon S3 costs approximately 1000$/month for storing image excluding initial cost to upload images to the Amazon S3.
Moreover, you must host at least one IPFS gateway node, which requires at least t4g.micro instance. Since IPFS is not reliable and slow, we need to host a lot of nodes without load balancing since we can balance them manually, as this service is only accessible by our backend service. In this example, we host 10 IPFS gateway nodes. Each cost up to $10/month, summed up to $100/month.
Calculations above do not include bandwidth costs. However, IPFS gateway could use more bandwidth, affecting your costs. You can utilize an alternative cloud provider with cheaper bandwidth, like Hetzner, to avoid these costs.
Infrastructure costs summary
- Indexer: $800/month
- Backend: $600/month
- Image storage: $1100/month
Total infrastructure costs: $2500/month
Operation team costs
A skeleton team for operating an NFT marketplace consists of a full stack and smart contract developer and a business development person. Each person must work a lot, so they should have a salary of at least $10,000 per month (2022 US salary).
The burn rate for operating an NFT marketplace in the US is at least $20,000 per month. Another option is to hire people in emerging market countries, which may cut costs up to 50% to $10,000 per month in exchange for less skilled workers, and finding skilled ones is much more challenging.
Summary
The infrastructure and operation staff make up the majority of the expense of running an NFT marketplace. The total cost of the infrastructure is roughly $2,500 per month. The operating team is also costing $20,000 every month. To run an NFT market, you need at least $22,500 per month when you add both costs together. More than 70% of total expenses are paid to the operation team.
However, if you hire people in emerging market countries, you can run an NFT marketplace with $12,500 per month.
In an extreme case, if you work on yourself without paying salary to yourself, you need $2,500 per month to operate an NFT marketplace on Ethereum mainnet.
Note: The infrastructure expense calculation excluded the bandwidth cost of IPFS gateways.