Chromia
Start Building

10 / 11Beginner

Revenue streams and running costs

Every web application, whether a centralized web app or a dapp, needs hosting, and someone has to pay for it. Web2 keeps this straightforward: a company operates servers and rents them to other companies or developers, charging either a fixed subscription or a usage-based rate. You pay that provider in ordinary fiat currency.

Web3 platforms are decentralized, so no single company owns all the servers. Instead, many companies and individuals run servers (nodes), contribute their resources to the network, and receive cryptocurrency in return. Because payments are handled in code by the system itself, no central legal entity is needed to collect and distribute funds.

The problem with gas fees

On early Web3 platforms such as Ethereum, users pay for hosting each time they send a transaction. Ethereum calls this a gas fee. It works as a bid: the user offers an amount to have the transaction placed in the next block, and a high enough bid gets it included. The fee depends on how much computation the transaction needs and how busy the network is at that moment.

As a result, users pay a small charge for every action that changes the dapp's on-chain state. Picture a social network that bills you for each post, or a collaboration tool that charges you to update a task. That makes for a poor user experience.

Chromia's flexible fee model

Chromia gives control over fees back to you, the developer. Your dapp runs in a container on the network, and you pay a predictable fee for it. As with a traditional cloud provider, you know what your dapp costs and which resources it gets. You pay hosting fees by sending cryptocurrency to a dedicated address in the system, which then distributes the funds automatically to the providers running nodes.

You decide how, or whether, to charge your users. You can mimic gas fees by billing a small amount per action, or you can choose a subscription model, a freemium model, or fund the dapp with money collected off-chain. As in Web2, you can design whatever model fits your dapp best and put user experience first.

Web2 app economy

Revenue models

  • Advertising is a frequent source of income, with user data being monetized.
  • Subscriptions and one-time purchases are also widespread.
  • E-commerce platforms commonly rely on direct sales and affiliate marketing.

Operational costs

  • Continuous spending on server maintenance, data storage, and infrastructure.
  • License fees for some software or platforms.

Web3 dapp economy

Revenue models

  • Tokens open up distinct revenue streams such as token sales, and Initial Coin Offerings (ICOs) can be used to raise capital.
  • Users can earn income by taking part in network validation or staking.
  • Decentralized finance (DeFi) provides interest earnings, lending, and other financial instruments.
  • On Chromia, you can still choose a subscription model, a freemium model, pay-per-feature, or off-chain payment collection, the same as in Web2.

Operational costs

  • Early Web3 platforms such as Ethereum charge gas fees, which are unpredictable and put the cost of every action on the end user.
  • Chromia charges a predictable hosting fee: a recurring subscription for a fixed unit of resources, similar to current cloud services.

Simple example of a revenue model on Chromia

Because fees on Chromia are flexible, you can build revenue models that are hard to build on many other Web3 platforms. One option is a freemium dapp: most users use it for free, while some pay a subscription in cryptocurrency to unlock premium features. A portion of the collected fees can go automatically toward your Chromia hosting costs, and the remainder can be sent to an account you control to pay for developing and maintaining the dapp.

In short:

  • User 1 and User 2 pay a subscription and can use the premium features.
  • User 3 has a free account and can use the free features.
  • The subscriptions from User 1 and User 2 pay the operating costs, and part of them can become income for the dapp developer.
Written for this site from Chromia’s public course. Code samples are the course’s own.