Fees on Immutable X

Immutable
14 min readMay 30, 2022

--

This week, we are activating Immutable X’s “protocol fee” in preparation for the upcoming release of $IMX staking in June. The protocol fee isn’t a gas fee, nor do you need to pay it in $IMX directly — it’s a simple exchange fee on transactions, paid in the currency of the trade. Part of this fee is allocated to Immutable, and part to the $IMX staking rewards pool.

Funds earned by the rewards pool before staking is available will be used to boost rewards in the initial staking epochs. To learn more about the planned staking mechanism for $IMX, consult the Tokenomics Portal.

To prepare for the impending launch of staking, and to celebrate the launch of some amazing content (including Illuvium and EmberSword), the protocol fee will be set at a flat 1% for the month of June, before returning to its regular 2%.

Alongside this launch, we want to use this opportunity to share our overall fee strategy with our community. Immutable X, as a one-stop-shop platform for web3 games and marketplaces, has a unique full-stack view of the problems faced by the next generation of NFT projects. But before we dive into the details of our pricing, I want to start from the beginning — how should NFT projects decide their approach to platforms and fees?

How should I think about fees as an NFT project?

We speak to many pre-launch NFT projects and games, and fees are often a key priority. Usually, they’re wary of high Ethereum fees, and are looking to choose a lower cost option for their project — either due to a high ongoing cost of minting assets, or wanting their users to be able to trade economically. This is actually great for us, as a key part of our marketing is that Layer 2 is a way to access a more scalable, cheaper Ethereum.

However, our advice to these projects is always that their main objective shouldn’t just be reducing fees — it should be maximising their chance of creating a large and sustainable economy. If a platform or tool had a fee of 50%, but was likely to create a 10x larger pie for your community vs. the next best option, that would be a good decision for your project. This applies not just to the blockchain layer, but also to up-the-stack tooling like launchpads.

Ethereum projects pay the most fees and have the most volume, while Tezos projects pay almost no fees and have almost no volume. If you’re building a well-hyped collection of 1000 NFTs, it’s clearly worthwhile to pay Ethereum fees. The key to choosing a platform is identifying the right tradeoffs between functionality, cost and liquidity for the long-term future of your project. Low fees are great, and we regularly celebrate our low fees at Immutable — but blockchains which just advertise themselves as “the cheapest”, without any information about liquidity or their ecosystem, are probably not the right place to build your project.

Our second principle is that incentive alignment is crucial to web3 success. Ideally users, developers and marketplaces are all incentivized to create a healthy economy with strong prices, high turnover and deep liquidity. Fee structures which make your success irrelevant to your platform, or which let your platform extract value from your project when you’re not doing well, are much less likely to create long term success.

OK, so that’s our framework — how does Immutable go about achieving that goal? Before we dive into Immutable’s fee structure, we need to go back to the beginning of blockchain fees.

Gas Fees

Gas fees on Ethereum (the most popular smart contract blockchain) have been the bane of many NFT project launches, and in the last year alone Ethereum users have spent billions of dollars on these fees.

Gas fees are crucial because blockchains are a heavily resource constrained environment. Every transaction must be executed by every node (in Ethereum’s case, 5000+), so transactions require orders of magnitude more computing power than simply executing that program off-chain. Gas fees ensure transacting users pay fees proportionate to their consumption, and defend against denial-of-service attacks like the one which caused a 17 hour Solana outage last September.

The gas mechanism works by assigning every operation (e.g. add, subtract, store data) a cost, and then summing every operation performed in a transaction to reach the total gas consumed:

From the Ethereum Yellow Paper: a list of operations and their costs

Each block has a gas “limit” — the total gas which can be used by all transactions in that block. As there is a roughly fixed amount of time between blocks, this means the total capacity of the protocol is capped. We decide who gets to use this fixed capacity with a simple mechanism: who’s willing to pay the most fees per unit of gas they consume? Many blockchains simply multiply the amount of gas used by each transaction by a “gas price” value to determine the fee, though some have adopted more slightly more complex calculations (most famously Ethereum’s EIP-1559).

Gas fees are paid in the “native token” of a blockchain — ETH for Ethereum, MATIC for Polygon, SOL for Solana. As the usage of a blockchain increases, so does the demand for that native token. Along with the adoption of the native token as a currency, these fees are the primary monetization mechanism of blockchains, though only Ethereum currently has close to proportionate revenue relative to its market cap.

In future, low fee blockchains will be forced to contend with the fact that the value accrual mechanism of their native token may need to be substantially altered to justify the token’s market cap — potential resulting in increased fees, or other rent-extracting tokenomics.

Immutable X: NFTs Without Gas

Immutable X has no gas fees, and we’ve made this a core part of our branding. Users commonly associate this with the fact that we’re a rollup — but actually, most rollups have gas or gas-like mechanisms, as the following table shows clearly, with fees increasing based on operation complexity:

There’s a simple reason for this: although rollups make state and computation cheaper, cheaper doesn’t mean infinite! Consider the case of a high-throughput sidechain like Polygon: players of a play-to-earn game, Sunflower, realized that the low cost of the network made it viable to send hundreds of thousands of transactions, which effectively rendered the network useless for everyone else. In response, Polygon increased its minimum gas fee 30x — a necessary concession to handle this increased throughput. Both blockchains and rollups need an anti-spam mechanism — after all, even rollups still have to pay costs for both proofs and data availability, despite the fact that the incremental cost of each transaction decreases over time.

Hang on, if gas costs are crucial to preventing network spam, how can Immutable avoid charging gas fees? Won’t we also just be making ourselves and our games vulnerable to spam attacks? To answer this question, let’s go back to the origins of Immutable X.

Too often, blockchain projects start with a technology and work backwards to define the best experience that solution can provide. When designing Immutable X, we asked “what do high quality gaming projects need to be successful”, then set out to deliver that from first principles. Our core belief is that a base transaction cost in a native token needlessly adds friction for both users and developers. If you’re building a game for mass adoption, this friction might be insurmountable.

To use Flow, you need FLOW. To use Polygon, you need MATIC. Every time you mint or trade an asset, you need to pay a fee in the network’s base currency. Sure, that fee might be small — but the greatest friction is getting users and developers to go from $0 → >$0 in your chain’s native currency. There are some workarounds (like metatransactions), but they add complexity, and someone still needs to pay! Additionally, blockchains like Solana even require you to continually pay “state rent” in the native token to prevent your assets being deleted from the chain over time.

On Immutable X, we wanted to remove the requirement for users or developers to own any native token at all. To facilitate this, we needed a strategy:

  1. Take fees on transactions where value flows (e.g. primary and secondary sales), and from the value itself rather than in an additional native token
  2. Don’t take fees on transactions where no value flows (e.g. mints, transfers)
  3. Use anti-spam techniques to prevent abuse of these free transactions
  4. Subsidize the free transactions with the fees from value-generating transactions

The first two points tie directly to our principle of incentive alignment — if you’re not having successful sales, or creating thriving user-to-user economies, Immutable isn’t making money. But don’t we still need a defense against spam — what’s to stop someone minting a billion assets and clogging the network for everyone else? This is our key advantage — because we worked backwards from our goal, we were able to choose the technology which best fit our purpose.

Immutable’s role as a single zk-rollup “sequencer” gives us many tools that aren’t available to L1 blockchains. Because all transactions are linearized by us, we can implement all the standard web2 protections from spam transactions — we issue API keys to partners, enforce tailored rate limits, take advantage of commercial protection products, etc. and are thereby able to mitigate the risk of spam directly.

Hang on, if Immutable is able to enforce limits, does that mean the network is centralized? The important distinction we’d make is that users always have the option of trustlessly withdrawing their assets to Ethereum L1, and completing their trades there. By contrast, during a recent period of high NFT volume some Solana validators proposed blocking transactions to Magic Eden, which would have left users with nowhere to go (though validators fortunately did not proceed with the proposal). For games, accepting a single sequencer for the best possible UX in the happy case, but being able to rely on Ethereum consensus in the worst case, offers the best of both worlds.

OK, so that’s the high-level philosophy — but you mentioned trading fees?

User-to-User Trading Fees

We believe that the future of gaming NFTs includes assets at all price points, similar to the asset economies of existing games like CS:GO and World of Warcraft. Many assets will be priced in the luxury bracket common for existing NFT trading, but we believe that over the long term the vast majority of NFTs will be low-to-medium value utility goods. We have built our pricing strategy around supporting the growth of this segment. Immutable takes a 2% “protocol fee” on all secondary trades, with no flat fee on each trade. This allows us to support trading which is uneconomical on platforms with higher fixed-cost gas fees.

For instance, many Gods Unchained cards are priced at around $1.00. On Ethereum, a standard NFT trade on OpenSea costs around $40 with the gas price at 100 gwei, dwarfing the value of that asset. On Immutable X, trading that asset would only incur a fee of $0.02. The protocol may not make huge margins on the smallest of these trades — but supporting a thriving game requires an economy filled with assets of all values. Immutable’s goal is to make that entire economy as liquid as possible. Additionally, knowing the exact fee in advance (as is possible without gas fees) allows you to create more reliable trading strategies and market make more efficiently.

Platforms which monetize based on the number of transactions have one goal and one goal only: increase the number of trades. By contrast, Immutable has a clear incentive to have assets be traded as frequently as possible, for the highest possible price. If Immutable intends to make more money, we should build products which create that high-value turnover like new trading types, or an improved trading experience. This creates fantastic long-term alignment with our projects and builders.

Hang on, but won’t an uncapped percentage create very large fees for high value assets? This is of course the standard in the NFT ecosystem, and all major NFT marketplaces e.g. OpenSea, LooksRare and Fractal use uncapped percentage fees — but we want Immutable X to be clearly superior to other platforms in terms of fees, so this is an important consideration. At the same time, our core principle of incentive alignment is also at work here — we want to be incentivized to make these assets more valuable, and for the protocol to capture some of the value it’s creating at the top end!

We are actively exploring several options on this front, including a sliding scale percentage fee, a fee cap, and no alterations, and will keep the community updated. We are also introducing a minimum trade amount — initially $0.001 (or the equivalent in an alternative exchange currency). We haven’t seen a lot of NFT trades below this point, and we intend to adjust this number in future based on demand and our proving cost.

This protocol fee on user-to-user trades is the fee we’re enabling this week — but there are other types of fees in the Immutable X ecosystem.

Royalties

Immutable X allows minters to set royalties on assets which persist protocol-wide. Unlike many platforms, Immutable supports custom royalties and recipients on a per-asset basis. This means that different assets in the same collection can have different fees — and those fees will be respected on every protocol marketplace and distributed automatically to up to 10 recipients. This is a major upgrade compared to most L1 ecosystems, where royalties are often not respected across marketplaces, even after the creation of standards like EIP-2981. Again, our royalty system is based on the feedback we hear from game developers — to support a thriving UGC ecosystem, or to satisfy complex licensing obligations, game developers need this flexibility with their assets. At Immutable, we love royalties because we love incentive alignment — we want games to be motivated to create mechanics which encourage asset turnover.

Currently, we only support lowering royalties after the initial mint, to prevent projects raising them retrospectively to the detriment of their users.

Marketplace Fees

The final piece of Immutable’s fee strategy is unique to Immutable. Through our Protocol Orderbook, any marketplace can attach fees to any order they create. When these orders are filled on any marketplace on the protocol, the originating marketplace will still receive fees. This incentivises marketplaces to share liquidity with each other — your orders are much more likely to be filled on 100+ other marketplaces than they are exclusively on your own. There are no restrictions on these fees — marketplaces should set the fees they believe their product can justify!

Immutable runs our own marketplace as a customer for the protocol, and we are therefore also a participant in this market. We see ourselves as a case study for a successful IMX marketplace — don’t undercut fees, just focus on adding value to a particular target customer. The global orderbook ensures marketplaces can offer a more relevant user experience without having to worry about liquidity.

We’ve now listed a number of different fee types — won’t all these fees lead to higher prices for customers? Well, not necessarily. We believe that all these participants can only charge the fees they can justify — if they’re adding value, users will pay. If they’re not, users will switch to other marketplaces or projects until those fees are lowered.

Primary Sales

Of course, many NFT projects also derive value (and the majority of their early revenue) from primary sales. We think it’s important to align our incentives with games in this area, but we again want to solve the specific challenges faced by games. Games mint assets in all sorts of complex ways, including through land sales, lootbox-style mechanics, or just direct sales. On other blockchains, you pay a gas fee proportional to the complexity of this sale mechanism, regardless of the price of the sale or the quantity of the asset. Immutable’s strategy is different.

Rather than charging this per-mint fee like other blockchains, we take a similar flat 2% cut of primary sales, and allow unlimited free minting (with the spam protection discussed earlier). This way, games can implement whatever game design they choose, and (assuming they are successful), we’ll both make money. This generally results in lower costs for low-value, high-volume mints, and a higher fee for high-value, low-volume mints. Immutable also provides a number of tools to help make primary sales more successful, including a minting API, metadata storage and synchronous batch minting. On other blockchains, this is handled by additional tools (e.g. NFT Port), which all charge their own fees. It’s difficult to directly compare all these tools, and — they solve different problems, and are priced differently. This is exactly the point we’re making — you need to make a holistic call on what will help your project be successful — if Immutable increases your sales by 2% more than the next best platform, then using Immutable and paying the 2% fee will be a net-profitable decision.

StarkNet

We’ve just announced that we’re going to be rolling out support for Immutable X on StarkNet to allow projects which need EVM compatibility/smart contract support to join our ecosystem. On StarkNet, things will look a little different: every transaction will require a gas fee, as Immutable will no longer be the single sequencer in the system. Immutable’s fee will then be applied on top when you use our trading contracts or platform (similar to Metaplex on Solana or 0x on L1).

We have also created a royalties standard for NFTs, as we shared with the community last week. Unfortunately, as StarkNet supports custom smart contracts, it is possible for advanced users to avoid these fees. Still, by defining an early standard for royalties, and working with marketplaces directly, our goal is to ensure that the StarkNet ecosystem respects creator royalties from the outset.

We’re confident we can make trading through Immutable X the clear choice for all the best games and marketplaces. The deep vertical integration of Immutable’s products will ensure that the best trading experience for games and marketplaces is always through our protocol, even as we help games launch on different rollups.

Summary

Our goal with Immutable X has been the same since day 1: allow teams to build world-class web3 games without technical limitations compromising their vision. Cheap gas is definitely an improvement — but eliminating gas altogether is a massive UX and developer experience advantage unique to Immutable X.

Immutable’s unique positioning and focus allows us to solve the core problems of high-quality, high-scale NFT projects like games much more effectively. Our aim with our pricing and fees across the board is to align our incentives with those projects and their users, and then to use the revenue we earn through our fees to re-invest in making them even more successful.

We’re incredibly excited to launch the protocol fee and staking this month. We’ll keep experimenting with fee structures in future to maximize the long term trading volume of the protocol and the size of the staking rewards pool.If you’re keen to build your next NFT project or marketplace on Immutable X, please reach out or start building immediately!

--

--