Blog

Summary

In this article, we delve into the intricate relationship between STEPN, a mobile app incorporating NFTs, and Apple's App Store guidelines. We explore the evolving landscape of NFT usage, examining how STEPN has adapted its features and functionality to comply with Apple's policies.

From restrictions on NFT trading to the implementation of custom wallets and marketplaces, we analyze the implications of these changes for web3 developers. While STEPN's approach showcases potential opportunities for the industry, concerns around centralization and ownership persist.

Ultimately, this exploration sheds light on the evolving relationship between NFTs, mobile apps, and Apple's guidelines.

Introduction

One landmark achievement has recently taken place in the App Store with STEPN, the most notable decentralized application (dApp) on Solana, integrating payments through the native App Store gateway in its iOS app.

In Q1 2022, STEPN generated over $26 million in profit solely from commissions on the marketplace, executed with $SOL. While they already have an app available on the App Store, the significant change now is that they are exclusively allowing users to purchase NFTs through Apple's native payment gateway.

From a gaming perspective, there are both pros and cons. Nevertheless, the pros seem to outweigh the cons. In any case, it's important to note that STEPN is not an actual game, although it draws inspiration from idle games and AR-based titles.

The purpose of this article is not to suggest improvements, but rather to highlight the implications for other web3 games and apps. It's worth considering that the lack of success, in this case, could have a negative impact on the web3 space, as we will explore later. For now, let's focus on what this integration means for other web3 games and apps.

AppStore guidelines recap

First and foremost, let's examine Apple's stance on the usage of NFTs in apps and games. The primary document to reference is the following: Apple App Store Review Guidelines. After reading through it, the prevailing impression is that Apple only permits a limited number of use cases for incorporating NFTs, which can be disheartening for web3 developers. However, we should delve into a series of updates introduced in their guidelines in October 2022: Apple Developer News.

These changes can be summarized into three key points concerning NFTs:

  • Apple now allows for publishing games where NFTs can be sold. Developers have the ability to integrate a marketplace for trading assets, among other features.
  • Apple imposes a fee on all transactions involving goods in the store, regardless of whether they are NFTs or not. Redirecting users to make payments through alternative methods is strictly prohibited. While this is not a new policy, it alludes to cryptocurrencies in exchanges (it could change in the near future considering the Steam vs Apple trial resolutions).
  • We can utilize NFTs obtained either within the game or from external sources, but they cannot be used to unlock features as a replacement for in-app purchases.

Now, let's analyze how STEPN is navigating these guidelines.

Evolution of the marketplace in STEPN

The STEPN app has been available on the App Store since February 2022. Since its initial release, the app has undergone significant changes, coinciding with the evolving state of the crypto market. Previously, the mandatory NFT to use the app, known as a "sneaker," could fetch prices in the thousands of dollars. However, the current floor price for sneakers has decreased to around $40.

In late 2022, several functionalities within the app were disabled, the most notable being removing the marketplace button. As a result, users were no longer able to purchase or trade sneakers with SOL, which was the sole available payment option at the time.

(Old marketplace in SOL)

The exact reason for this change is unclear, but it coincided with the aforementioned update of policies in the App Store. It appears that the alteration was prompted by a review conducted by Apple editors, who compelled the developers to remove the marketplace feature. In hindsight, this decision seems logical, as Apple was not benefiting from transactions conducted solely in cryptocurrency.

Another change implemented in late 2022 involved the requirement that all sneakers be purchased using Green Metaverse Token (GMT), while the other currencies were reserved solely for fees. Players can acquire GMT through in-game actions or by replenishing their "spending" wallet with actual GMT currency (more information on wallets will be provided shortly). It's important to note that GMT and other currencies in the spending wallet are in-game currencies paired in value with a matching cryptocurrency.

Similarly, when an item is sold within the app, the payment is made in GMT. Although other cryptocurrencies such as SOL and GST exist within the app, with SOL being used for fees and GST for actions like repairing sneakers, in practice, GMT became the de facto currency within the app.

However, more was needed, as NFTs were not subject to taxation through Apple's payment gateway (I could purchase them with GMT by topping up my spending wallet). They required an additional change.

Now, the marketplace has been reintroduced, but with a game-changing feature: the only way to purchase sneakers within the app is through a regular in-app purchase using the in-game currency called Spark. It is evident that the developer has incorporated Apple's commission (in fact, more than 30%) into the prices displayed within the app. In contrast to the external marketplace (m.stepn.com), where this additional charge does not apply, users can only acquire NFTs through the in-app purchase option using Spark packs. It's important to note that when sneakers are sold in the marketplace (ie, between users), instead of receiving Spark, sellers receive GMT as their payment.

In this way, the app aligns with the guidelines by shifting the existing cryptocurrency for secondary purposes, such as sneaker restoration or upgrades. As we will explore, they have implemented an intermediate wallet known as the spending wallet to facilitate operations within the game. Consequently, the in-game currency utilized while playing is not an actual crypto token, but rather an abstraction created by the developers.

The bottom line is that users send cryptocurrency from the regular wallet to the spending wallet. After that, the cryptocurrency is not crypto anymore, even having the same name, because now it has turned into in-game currency. And there is the possibility of transferring the balance back from the spending wallet to the regular one, so the user can operate with it again in a DEX, for instance.

Unlocking functionality by using NFTs

One of the most controversial and ambiguous conditions pertains to the utilization of NFTs for unlocking functionality. While it is true that you can use STEPN without purchasing any sneakers, the app's usage becomes quite limited, if not entirely negligible, when you have no tokens in your wallet. This particular aspect treads closest to the no-trespassing line. However, let's consider it from a different perspective: when you download a banking app for iOS, it serves no purpose if you don't have an account. To unlock its functionality, you need to physically visit a branch and become a client (although not all banks follow this exact process, but you get the idea). Similarly, in the case of STEPN, the app remains functional even without a token.

Here, we can observe a more lenient interpretation of the guidelines. It is widely known that STEPN engages in direct conversations with Apple, so it's possible that they had some back-and-forth discussions regarding this matter. Nonetheless, this opens up numerous new use cases. For example, an NFT obtained from another source that represents a Battle Pass could unlock specific levels or rewards within the app.

There may be concerns if this NFT is acquired at a significantly lower price on platforms like OpenSea compared to its counterpart in the app. However, in this case, we are observing comparable prices (plus a 30% fee) in both the app and the private market. It is plausible that Apple may not be overly concerned about sales on platforms like Magic Eden, considering they are relatively limited (with only 320 items listed there) and they are not included in the private marketplace. Furthermore, it's possible that Apple has a special arrangement with STEPN, although the specifics remain uncertain.

Operating with wallets. Centralizing the experience

Utilizing a spending wallet is also an innovative aspect of STEPN. The approach they have implemented to use their own wallet is very clever.

On one hand, there is a regular web3 wallet, which can be effortlessly created by signing up within the app or imported using the seed phrase. This process is straightforward, and I was able to quickly use wallets like Phantom (Solana) and Metamask (if importing via seed phrases falls under the “straightforward” category).

On the other hand, there is a "spending wallet" and the capability to transfer funds between wallets. The spending wallet is the primary wallet utilized within the app. This approach is smart for several reasons:

  • Using a spending wallet enables off-chain crypto operations, eliminating the need for users to sign each transaction, and allowing the app to use balances permissionlessly.
  • To top up the spending wallet, players need to pay fees. Although it's only a fraction of SOL, it is not free. This is understandable as it involves an actual crypto payment.
  • In order to transfer the crypto balance out of the app, users are required to pay fees. However, these fees are not in the form of gas fees or $SOL but rather GST (Green Satoshi Token), which can be obtained within the app. This means that you must use the app to redeem your balance. It's important to note that STEPN acts as custodian for everything stored in the spending wallet. Additionally, all operations within the spending wallet occur off-chain, as we will explore in the next section.

Off-chain vs on-chain mechanics

The STEPN marketplace serves as a private venue where players can trade their assets. However, surprisingly, the marketplace is entirely managed by the developers, and a significant portion of the trading occurs off-chain. Let's examine an example.

I purchased a sneaker within the marketplace, either within the app itself or through m.stepn.com. Although I can see that the sneaker belongs to me within the app, there is no way to verify this information on SolScan. If I attempt to view the blockchain transactions associated with my sneaker, I only encounter a series of transactions, but none of them contains my wallet address (mine starts with EbsCgQ…):

In fact, the last transaction recorded is from before I made the purchase. Moreover, it's quite peculiar that the same address appears in the majority of these transactions. Let's investigate further to see if we can uncover anything unusual:

Bingo! This account appears to be a significant holder of sneakers. I suspect that this account belongs to STEPN and serves as a gateway for moving tokens in and out of the game (SolanaFM names the account "STEPN Treasury's Account"). In the screenshot provided, you can observe transactions highlighted in blue that depict movements from the game to outside of it. Conversely, transactions highlighted in red represent movements from external sources into the game. Now, you might be wondering about the transactions highlighted in green. These transactions occur within platforms like OpenSea or Magic Eden and involve retail users trading with each other.

To confirm my theory, I attempted to transfer my sneaker from the game to my wallet. This process proved to be quite cumbersome, involving repair operations, in-game fees, and 2FA checks. It's understandable that this is not a straightforward process, as the app maintains control over the entire economy within its realm, whereas, in a generic marketplace, such control may not exist. However, there is still a possibility of moving the NFT out of the game.

Now, let's verify if the sneaker is visible on SolScan:

Now, the first row in the list confirms that the transfer of ownership from the STEPN holder wallet to my wallet (remember, the one starting with EbsCgQ...) has taken place. This provides us with valuable information. Firstly, it verifies that STEPN manages the assets while they are active. Secondly, it suggests that ownership is not the primary concern for most users. Although there may be some concerns expressed in certain Reddit channels, as long as users can withdraw the value of a sneaker, they seem to be satisfied. In essence, it appears that trading features hold more importance than actual ownership within this app. Thirdly, it indicates that OpenSea, Magic Eden, and generic marketplaces may not be as attractive to users for trading, compared to private marketplaces. In fact, the built-in marketplace within STEPN is highly dynamic, with sneakers appearing and disappearing rapidly. Lastly, the legal standpoint of STEPN is not entirely clear, as they seem to be the owners of the assets for the most part.

Overall, it seems that STEPN is not so concerned about following the Web3 principles of decentralization and security, as most of the mechanics occur within the app itself, including ownership updates. Our opinion is that they value the gamified and instant user experience more than applying a string Web3 approach.

Final thoughts

In unofficial discussions, various studios are eagerly anticipating the next breakthrough title in the AppStore to determine what is permissible on the platform. STEPN could be the game that sets the stage for the industry to enter the mobile scene.

While not without its flaws, STEPN's implementation to comply with Apple's policies can serve as a guiding example for future games. I am confident that as new games are released and revenue becomes more significant for Apple, the restrictions will likely be eased. Everything suggests that the company recognizes the growing importance of blockchain and digital assets. This, in turn, will lead to less complex implementations and ultimately improve the overall user experience.

On a slightly less optimistic note, my primary concern is whether STEPN can establish a sustainable economy given its game design. Detractors of cryptocurrency may seize upon any failure and attribute it solely to the blockchain feature, rather than considering the importance of an appropriate monetization strategy. Time will reveal the outcome, but even in the worst-case scenario, one significant doubt has been dispelled: NFTs are indeed allowed in the AppStore.

Everybody expected a stringent interpretation of the guidelines. However, it is evident that Apple is not prohibiting the most crucial practices: having a marketplace, utilizing an in-game wallet, and enabling profit withdrawal. Granted, there are trade-offs such as centralization and shifting the additional 30% tax burden onto the end user. Nevertheless, STEPN stands as one of the pioneering examples. The future now appears brighter for mobile developers!

In retrospect, using existing platforms like [Living Assets™] could have eased the implementation of STEPN, while keeping the Web3 spirit (especially decentralization) and streamlining the usage of the app. Also, trading with fiat could have been the killer feature of STEPN to reach the masses (supported as well by the Living Assets solution), so we expect these enhancements in future versions of the application.