Skip to main content
Question

Virtual Currency restore behavior

  • January 28, 2026
  • 1 reply
  • 53 views

Forum|alt.badge.img+2

Hi!

 

I’m currently evaluating the Virtual Currency feature for our iOS+Backend app. At the moment, I’m intentionally not using an authentication system to reduce user friction and churn. Instead, I rely on RevenueCat’s default anonymous app user IDs and Apple’s restore mechanism. This worked well so far for entitlements: when a user deletes and reinstalls the app, RevenueCat correctly restores purchases and migrates entitlements to the new anonymous user ID after a restore.

 

However, I’m struggling to understand how this is supposed to work with virtual currencies. From reading the docs, it seems that virtual currency balances are strictly tied to the RevenueCat app user ID and are not migrated or restored when the user reinstalls the app and a new anonymous ID is generated. 

 

My questions are:

  1. When RevenueCat checks historical App Store transactions and restores entitlements via Apple’s restore mechanism, is the virtual currency balance expected to be restored automatically as well, or does restoring virtual currency require retaining the original app user ID (for example, via login or other user identification)?
  2. In the absence of explicit user authentication, is there any supported or recommended approach to restore or migrate virtual currency balances when entitlements are migrated during a restore on iOS side?
  3. If not, is it correct to assume that use of virtual currencies inherently requires a stable, authenticated app user ID to be viable in production?
This post has been closed for comments

1 reply

alejandra-wetsch
RevenueCat Staff
Forum|alt.badge.img+6

Hey ​@mur-jmov-7b6559

Thank you for reaching out and for providing a detailed explanation of what you’re experiencing!

When RevenueCat checks historical App Store transactions and restores entitlements via Apple’s restore mechanism, is the virtual currency balance expected to be restored automatically as well, or does restoring virtual currency require retaining the original app user ID (for example, via login or other user identification)?

What you read in the documentation link you shared is correct. When anonymous IDs are used to identify customers who use Virtual Currencies, their balances cannot be restored or transferred to the user who initially made the purchase.

This is because, while RevenueCat can fetch receipts associated with the Apple ID configured on the device, we do not save the Apple ID when a purchase is made (due to Apple’s privacy rules). Therefore, when you restore the purchase under the newly created Anonymous ID, we have no way of knowing which Anonymous ID was the original one that made the purchase, so the virtual currency balance is lost.

In the absence of explicit user authentication, is there any supported or recommended approach to restore or migrate virtual currency balances when entitlements are migrated during a restore on iOS side?

As mentioned in the question above, RevenueCat cannot identify the previous user, so, unfortunately, I can't provide a workaround right now.

If not, is it correct to assume that use of virtual currencies inherently requires a stable, authenticated app user ID to be viable in production?

That is correct, for optimal use of Virtual Currencies, a stable and authenticated App User ID is required. 

Please let me know if you have additional questions!