- 1 How much does it cost to develop a dApp?
- 2 Risk factors when creating a dApp — and how to avoid them
- 3 How do dApps make money?
- 4 How to develop a dApp — follow these 6 steps
- 5 Step 4: Develop a Back-End
Crypto space still has a lot of money. Top-10 tokens have a combined value of over $900 billion USD. And all of this money, ultimately, can be used by dApps — decentralized applications built on top of blockchains. They create a rich ecosystem by providing services and generating value to people. And quite a few dApps earn their developers millions or even billions of dollars.
Decentralized applications can be much more profitable than regular apps. They are integrated with blockchains, making it inherently easier to transfer funds. Popular Steam game Slay the Spire sold 1.5 million copies at $25 and so had a revenue of $37.5 million, which is very respectable. However a dApp game Axie Infinity, with similar graphics and player count, had a revenue of $1.3 billion — because of its inherent economic model. The creator, Sky Mavis, now has a $3 billion valuation, despite having released only one game. It’s more than CD Projekt Red, Rovio and a dozen other gaming studios combined.
Is it a one-off? Or can we repeat this success? To find out, we’ll have to develop a dApp.
How much does it cost to develop a dApp?
In our experience, creating a dApp costs between $80,000 and $1.5 million — depending on feature set. This includes developer salaries, frontend, backend, UI/UX design, deployment, testing, deploying your smart contracts, etc. A very simple application may cost as low as $50,000. There are also instruments that allow for development of dApps for free (for example, Bunzz), if you have enough time and some coding experience.
Meanwhile, top dApps can earn billions of dollars. The biggest one, NFT marketplace OpenSea, is close to breaking $3 billion in revenue.
Risk factors when creating a dApp — and how to avoid them
- Highly Competitive Environment. In some fields there can be too many startups, so it is difficult to stand out and attract attention. Therefore, at the planning stage of your project, you need to analyze the market, find out who your competitors are, and establish how you will differ from them. Developing a tenth DeFi that is no different from its neighbors may not be the best idea.
- Infrastructure. You are dependent on the blockchain you choose, so choose carefully! Some of them will have high gas fees, some can have extremely volatile (or always downtrending) tokens. Some of them just plain don’t work well. Solana, for example, is constantly suffering outages, sometimes a few times a month.
- Tokenomics. An improperly designed tokenomics (token issuance strategy) can kill the economy of the project and rapidly destroy the trust of the community. To avoid failure, do proper math first. Use a token ROI calculator to calculate your emission. You need to define the token use case, schedule the vesting and not be too hungry with the distribution, leaving more than 50% for the public sale + ecosystem. Otherwise, if no one is using the token, the project could be DOA.
- Regulators. They can introduce new legislations that will affect the space you are working in and can hinder the success of the application. It is difficult to circumvent this, but fortunately the market is not heavily regulated as of yet. If this is a concern for you, you should choose a jurisdiction outside the EU and US.
- Gas Fees. If your system has a lot of small transactions, how much will it cost to use a dApp in one day? 10,000 actions on the blockchain at 5 cents each is $50 for a client each day. Will he pay that much? Maybe it’s worth recording actions in blocks of 1000, doing some of the transactions in your own backend, or developing your own chain? High gas fees make a project much less attractive — nobody wants to pay hundreds of dollars for each operation. This is why many projects are moving to more scalable chains or layer 2 protocols, such as Polygon or Arbitrum for Ethereum.
- Quality of the Product. These are such features as technology, code, security, UI/UX, backend, etc. A low-quality product rarely finds success (although there have been exceptions!). With dApps it is very important to test everything first, especially smart contracts. You won’t be able to modify them after the code is published on the blockchain. It can be hard and costly to make changes, you will have to redeploy them and start from scratch if a serious bug is identified.
- Finding a Community. You need to build up a critical mass of users so that your project becomes sustainable. But it can be difficult to find a target audience: the community is not very large and it is hard to please. Social media is flooded with advertisements of crypto scams with huge marketing budgets; it’s hard to compete with them. The solution here could be launchpads. They help good and honest projects find their community. Choose the best one for your blockchain and project type (Gaming, DeFi, Social Network, Service, Media, etc). The most successful launchpads for dApps can be found on Cryptorank.
How do dApps make money?
Cryptocurrency offers many more opportunities to earn money and create a successful economy. This is why decentralized applications, despite having fewer players than conventional mobile or web applications, often earn hundreds or thousands of times more.
These are some of the ways to monetize your dApps:
- Transaction Fees. The most popular option. You can charge a small percentage on certain operations in the form of a transaction fee. For example, some NFT marketplaces charge you 2.5% for minting a new token. Most DeFi apps take a fee of 0.2-0.3% from every completed trade. This strategy is employed by PancakeSwap, Ronin, Trader Joe, Raydium, 1inch Network and many others. It’s popular and widely seen as fair: you only gain crypto if people are using your product long-term.
- Premium Functionality. In general, charging for premium features works in situations where there is a strong demand for your app, you have a solid brand, can establish trust, and there is not a lot of competition that can drive the price down. However, the premium model and “pay gating” can significantly reduce your reach and hurt other monetization options, which is why it is rarely used in the worlds of both regular apps and dApps.
- Crowdsale and Token Launch. You can always bootstrap your project through a crowdsale backed by a token. It is especially easy nowadays, with a lot of IDOs and IEOs backed by larger platforms. Note that in this case you need to be careful with regulations and KYC compliance depending on if your token is considered a security or not. There are certain launchpads that can help with your launch.
- Subscription. You can easily add a subscription element in the smart contract to allow only certain whitelisted accounts (subscribers or premium members) access to certain functions. Subscription can be usage-based (i.e. users will only be able to call this function X times) or time-based (users will be able to access this function until X time passes).
- Advertisements. Relatively new and less used blockchain monetization model, however, employed by specific projects. ThousandEtherHomepage, for example, has a smart contract that charges you 0.001 ETH per pixel to display your message. Decentraland, Cryptovoxels and Somnium Space, three biggest blockchain virtual worlds, have advertisement billboards and installations that are paid for in crypto.
- Donations. If your dApp project has a mission, if it solves some world problem or helps the social cause, it’s completely understandable to ask for donations. The easiest way to do this is to add the eth-button or something similar to your website or app. It’s a simple line of code allowing for Metamask integration.
- Created Digital Goods. This has exploded in 2021 with NFTs, but you could create other digital goods as well. One of the biggest examples of how Ethereum apps make money using this monetization model can be seen in CryptoKitties. You develop digital collectible goods that are unique, functional and attractive to users. And then release them, earning a fresh penny.
- Referral Marketing. Referral marketing is not something to be ashamed of. It’s employed by the likes of Dropbox, Uber, Airbnb, Evernote. It has proven to be successful in regular apps, and can also be taken into consideration for monetizing dApps as well. In fact, there are a number of blockchain powered platforms today that give you a link to their website and pay you to promote it (IOST, for example). If this is how things are progressing, regular ad revenue should also be on the way.
How to develop a dApp — follow these 6 steps
Step 1: Design a Token Economy
No matter how genius your idea is, if it’s not connected to a blockchain, you’ve designed a regular app.
Now, sure, a dApp can work without a token. Even blockchain can work without a cryptocurrency, there are certain cases like that. But if you want to make money, the easiest way is to have a certain token economy working inside your dApp.
It can be a token of the chain you are connected to, or you can build a native token, if you are feeling ambitious (like CAKE for PancakeSwap, despite it working on the BNB chain). Second option gives you more freedom and control, but requires more resources.
Designing tokenomics is tricky as everything depends on goals you set for yourself. Usually it involves 4 stages:
- Establish what token is used for in your dApp. Why does a customer need to acquire or spend it? Does it grant a governance action, is it used to pay for something, is it required to join a network? Does holding it provide any benefits?
- Build token mechanics. Will there be a cap? What is the emission rate? Think about inflation and burn rate, transferability, divisibility. You need to control some aspects of token circulation to be able to balance the unpredictable nature of the market.
- Set policies. Will there be rails or forks? What is your token sale structure? How many tokens will go to the team (usually 10-20%), how many will be minted for your private token sale (15-30%), how many will be left for external users (40-60%).
- Work on the technical aspects. Ensure everything is correct with regards to your smart contracts structure and other features. Test your economic model depending on the number of users. Consult experts that have done similar launches in the past.
Once the tokenomics is ready and you understand how it all should work, it’s time to move on to the next step.
Step 2: Create a Smart Contract
A smart contract is a code that resides on a blockchain and is executed automatically when predetermined conditions are met. Think of it as a kind of a back-end for your dApp. You choose what actions your dApp will automatically perform based on its internal logic and blockchain consensus. These can be specific transactions or calculations, or something else, depending on the nature of your project. All participants in the chain will be immediately aware of the result, without the participation of intermediaries and loss of time.
Smart contracts exist on a blockchain, so first and foremost you will need to choose which chain you will want to reside on. You can also pick several chains if you envision a cross-chain dApp. But keep in mind that deploying smart contracts requires a gas fee. If your contract has a lot of code and takes up a lot of so-called “block space”, the gas fee to put it on Ethereum can be as high as $40,000. The usual price for deploying a small smart contract starts from $400. Fees for contracts deployed on one of the sidechains like Polygon are about two times cheaper.
You can check the amount of gas your deployment consumes through testnets (Rinkeby, for example), and multiply it by current gas price — which is monitored at https://etherscan.io/gastracker for Ethereum or at https://polygonscan.com/gastracker for Polygon.
Ethereum is currently the most popular chain supporting smart contracts, it has the prestige and it has many users with existing crypto wallets so onboarding can be easier. However, fees can be very costly, and if you want to create your own wallet, most users will not even know which chain your dApp operates on.
Step 3: Establish Client-Side
This is a regular interface: windows, buttons and drop-down menus. It is how your users will interact with smart contracts. You need to create a mobile or web app that will occasionally send requests to the chain. It needs to have an intuitive interface, and look sort of similar to current apps users are familiar with (unless you want to go for shock value).
Invest in front-end and UI/UX. Start with developing a prototype, a minimum viable product that has basic functions. Collect user feedback and change UI based on recommendations. Plan seamless integration with WalletConnect, MetaMask or other similar services to make connecting wallets and onboarding easier.
There are also some features specific to dApps. For example, since the validation of an action on the blockchain is not immediate, it’s recommended to have a built-in animation to show users their request is still in progress.
Step 4: Develop a Back-End
You need a back-end system to be able to manage your dApp. It will be connected to the smart contract via API and oracles and will be able to collect analytics. The back-end is important to you as a business owner as it allows you to understand and control what internally happens to the dApp and its users.
Some dApps strive to be fully Web3, and have all of their server functions work on blockchain. But in reality now it is rarely feasible. Sometimes as much as 90% of the code is Web2. In practice, if you want to work with a large amount of data, it’s cheaper to create a web-based solution and host it on a regular server.
Step 5: Test Thoroughly!
Once you’ve deployed a smart contract to Ethereum chain or any other mainnet, you can no longer modify it. This means any bugs that made it to the blockchain will remain there forever. That’s why you need to heavily invest in QA and make sure to catch everything before the project goes live.
Otherwise you may end up like Wolf Game. This dApp minted NFT tokens for $52 million in just a few days, making it the third most-popular crypto game after Axie Infinity and The Sandbox. But a bug was found in its smart contracts: players were able to claim excess tokens, disrupting the game’s mechanics. Due to the immutability of the blockchain, the company was forced to redeploy smart contracts and reissue NFTs to its users. This cost the developers millions of dollars in gas fees and undermined the credibility of the project. Wolf Game developers promptly offered a $50,000 bounty for any new bugs found, but it was too late. Right now Wolf Game is on life support, while both other popular games are worth billion dollars.
Like with any development project, you need to start testing your dApp as soon as possible. Every new stage has to go through a rigorous QA process. Front-end and back-end testing is more or less a standardized procedure. However, testing smart contracts is a bit unique in that you need to use a testnet to check their functionality. For the Ethereum chain the most popular testnets are Kovan, Görli, Ropsten and Rinkeby.
Step 6: Deploy and Maintain
After validating your tokenomics, marketing your product, raising money with a launchpad, developing your long-term post-launch strategy and rigorously checking everything works as intended, it’s finally time for release. The last step is to deploy your dApp. This includes launching your website, uploading your mobile apps to Google Play and App Store, and adding your smart contracts to the mainnet blockchain.
Services like Infura and Zeeve can help you reduce the DevOps effort required to deploy a decentralized application.
Maintenance for dApps is, perhaps, somewhat easier than for regular applications. Smart contracts will permanently remain in the chain, and they cannot be changed or damaged. But you will need to monitor potential threats, work on the interface, manage funds and react to customer feedback.
Congratulations! Now you’re ready to release your project, see how it changes the world, and reap all the benefits.
If you want to launch on promising Polkadot or Kusama multichain networks, or one of their parachains, we can help you. More about it here: How To Collaborate With Us.