Join for a Community Meetup Lunch on Friday, April 19th

Book a your spot!

In-App Purchases (IAP) and Web3 Games

Joan Alavedra
IAP-web3.svg

In-app purchases (IAP) in Web3 games involve transactions for digital assets like non-fungible tokens (NFTs) and tokens within mobile applications. The policies of Apple's App Store and Google Play Store significantly influence how these transactions are conducted.

Here's a guide to navigating IAP in Web3 games based on the most recent policies from both platforms.

Undersanding Platform Policies

Apple's App Store IAP Policies for Web3 Games

  • NFT Sales and Transactions: Permits listing, minting, transferring, and viewing NFTs without unlocking additional app features.
  • In-App Purchase System: Mandates the use of Apple's in-app payment system for NFT transactions, subjecting them to a commission.
  • Verification Process: Requires detailed information about the NFTs (origin, ownership, provenance) for App Store listing.
  • External Links: Prohibits external links or calls to action for purchasing NFTs outside the in-app system.

Google Play Store IAP Policies for Web3 Games

  • Integration of Digital Assets: Allows NFT integration while demanding transparency regarding tokenized digital assets.
  • Transparency Requirements: Requires clear user communication regarding tokenized digital assets and prohibits promoting potential earnings.
  • Compliance with Gambling Policy: Enforces compliance with Google Play’s Real-Money Gambling, Games, and Contests policy.

Fee Structure

  • Apple: Apple enforces a 30% commission on the sale of NFTs through in-app purchases, regardless of the developer's revenue.
  • Google: Google Play applies its existing Web2 monetization structure, taking a 30% cut from app developers who make over $1 million annually, and 15% from those making less.

Success Case: STEPN mobile app

IAP-diagram-web3games.svg

With STEPN, there are two primary in-game currencies, which are both ERC-20 tokens. If you’re using STEPN on iOS, there’s a third currency.

  1. “Sparks” - soft currency only, can only be purchased with Apple Pay
  2. $GMT - the primary token to unlock and level up
  3. $GST - the secondary token to speed up unlocks

They also support SOL and USDC as well, primarily because of where their liquidity pools are. Here’s the user flow (this example is with iOS):

  1. Buy Sparks with Apple Pay
  2. Use Sparks to buy sneaker NFT. When priced in Sparks, the cost is actually 30% higher than market prices to cover the Apple Pay tax). The primary marketplace is on Magic Eden, and items are priced in SOL.
  3. (Optional) send $GMT, $GST, SOL or USDC into the in-app wallet to use for unlocks/leveling-up
  4. List your sneaker NFT for sale
  5. (assume someone buys the NFT, with Sparks or $GMT)
  6. You receive $GMT
  7. (Optional) swap in the app to a different currency
  8. Send to an external wallet

The first thing worth noting is that they’re clearly handling not just the conversion between Sparks and $GMT for your purchase, but also for your sale. If someone buys on Magic Eden with SOL, or in the app with Sparks, you still receive $GMT. This is almost identical to how we want to handle swaps behind the scenes to make it easier for developers and gamers alike.

The second thing worth noting is that there are actually two in-app wallets at player here. There’s your “wallet” and then your “spending wallet.” The funds used in-app to buy unlocks and upgrades all come from the spending wallet. The “wallet” tab is actually a non-custodial wallet that needs a recovery phrase saved for it. That means it’s in the user’s ownership. It’s a conscious decision for that user to move tokens from their in-app “wallet” into the “spending wallet” and back out again.

Even more important to point out is that STEPN has this in their Terms of Use and yet seems to be skirting around any app store issues by limiting it's libiaility with users coming from United States.

Integrate a Compliant Unity IAP with your Web3 Game

Apple_IAP_Unity_Sample_4a667ba30f.png

At Openfort we've built two different samples to help you get started with Android and Apple.

_Please note that Apple and Google are constantly shapping their policies and we try to adapt to those as quick as possible. Feel free to ping us if you have any questions around this. _

Share this article