Guidance on App Features Unlocked via Holding Cryptocurrency in a connected Wallet

Hi,

I am currently building a multi-platform app which supports a tiered subscription to additional features for customers which hold a specific amount of tokens in their Ethereum wallet. The core product is free and any additional features are optional.

My question would be how to set this up such that it follows App Store purchase guidelines? I see in the dev guidelines (https://developer.apple.com/app-store/review/guidelines/#multiplatform-services) that if we wanted to support any features that are "unlocked", we must also set up a route for in-app purchase with Apple. The subscription tokens are not tied to a specific USD amount, so the total price of each subscription tier is variable.

Does anyone have any guidance on if this business model could work? What about setting up an in-app purchase with a price that is tied to a non-USD asset?

Thanks in advance!

Replies

It's not clear, sorry, do you intend that app as a means of crypto purchase, either directly or indirectly?

the total price of each subscription tier is variable. 

App Store pricing cannot be arbitrary, and must adhere to a given tier.
@KMT

Ideally, we would not like to incorporate any means of crypto purchase into the mobile app.

Our users will gain access to certain additional features on the desktop web app based on the amount of crypto they hold in their connected wallets, specifically just the balance of our token. Since these additional features are available on the web app, we would like to include them in the mobile app as well.

The web app doesn't facilitate any sales of crypto, the token can only be acquired through an external exchange. We simply read the balance of the token from the connected wallet and flag the features based on that. The web app itself does not do any transfers or exchanges of crypto, so we'd like to keep it that way for mobile.

The intended use case in our mobile app would follow like such:
1 - Connect to user wallet
2 - Read balances of user wallet
3 - If balance of token X > Y: then enable some additional features

Does this info help for any further advising?