Skip to main content
Question

Virtual Currency balance after reinstall when using new App User ID and aliasing

  • March 29, 2026
  • 1 reply
  • 55 views

Forum|alt.badge.img+3

Hi,

I’m evaluating Virtual Currencies for my mobile apps. My apps do not have a login/account system for users, but I always assign my own UUID as the RevenueCat App User ID instead of using anonymous RevenueCat IDs.

My main question is about reinstall behavior.

Scenario:

  1. user installs app

  2. app is initialized with my own UUID-based App User ID

  3. user buys virtual currency and has remaining credits

  4. user deletes the app

  5. user reinstalls the app

  6. app may now generate/store a new UUID and use that as a new App User ID

  7. in this case in my other premium based apps, I see a message like “Created a new alias …” in the RevenueCat dashboard

From the docs, the balance endpoint is:

curl --location 'https://api.revenuecat.com/v2/projects/<YOUR_PROJECT_ID>/customers/<YOUR_CUSTOMER_ID>/virtual_currencies' \
--header 'Authorization: Bearer sk_***************************'

My questions are:

  1. If a new App User ID is used after reinstall, and RevenueCat creates an alias, will querying /customers/<NEW_ID>/virtual_currencies return the balances that were originally associated with the old ID?

  2. Once aliasing happens, do both the old and new IDs return the same virtual currency balance through this endpoint?

  3. When the docs say virtual currencies are “not transferable,” does that still apply in this alias case?

I want to understand whether aliasing is enough to preserve remaining virtual currency across reinstall when I do not have a login system.

Thanks.

This post has been closed for comments

1 reply

matt-heaney
RevenueCat Staff
Forum|alt.badge.img+4
  • RevenueCat Staff
  • March 31, 2026

Hey there,

 

Matt from RevenueCat here! Thank you so much for your question.

 

There are a few areas to dive into here, so let’s break them down together.

 

Firstly, it is possible for a user to retain access to their virtual currency across app installs, but this may require some changes to your current approach to user IDs.

 

To confirm, is your app currently generating a new user ID on each install? If so, once the app is uninstalled, that ID would be lost?

 

When using your own user IDs with RevenueCat, these should be stable, whether they are linked to an account that the user can log into across different app sessions, app installs, or even platforms, or persisted locally across installs. When a user logs in using the RevenueCat SDK, using the same user ID each time allows their data, including virtual currency, to persist.

 

If the app generates a new ID on each install, there’s no way to link those users. As a result, there would be no way to carry virtual currency across installs. In this current setup, aliasing alone would not be enough to preserve virtual currency across reinstalls.

 

Regarding the “Created a new alias…” log, this may be doing something slightly different than expected. On a fresh install, if the SDK is configured without an ID, a new anonymous ID is created. This ID is then aliased to your provided user ID. However, both of these would still be different from the ID used in a previous install, so the original user is not part of this alias chain.

 

Virtual currency can be impacted by aliasing, but aliasing is not the same as transferring. An alias links multiple IDs to the same RevenueCat account, whereas a transfer moves entitlements or purchases from one account to another.

 

To directly answer your questions:

  • If a new App User ID is used after reinstall, querying /customers/<NEW_ID>/virtual_currencies will not return the previous balance, unless that ID has been explicitly aliased with the original ID
  • After aliasing, both IDs will return the same balance, but only if they are part of the same alias group
  • “Not transferable” still applies here, but this is different from aliasing. Transferring refers to moving subscriptions or products from one account to a completely separate account, such as during a restore

 

I hope this helps! I’d be very happy to dig into any part of this further with you.

 

Please let me know if there’s anything else I can do to help!

 

Thanks!