Guideline 3.1.1

Guideline 3.1.1 - In-App Purchase: Loot Boxes Without Disclosed Odds

Medium SeverityMedium FixTypical Fix: 2-8 hours0 Reports
Also known as:App offers loot boxes without disclosing odds of receiving each item typeGacha mechanic does not show pull rates before purchaseRandomized virtual item purchase lacks probability disclosureMystery box purchase does not display odds prior to transaction

Our Take

Apple is rejecting your app because it offers loot boxes, gacha mechanics, or other randomized virtual item purchases without disclosing the odds of receiving each type of item. Since 2017, Apple requires that any app offering paid random rewards must clearly tell users the probability of obtaining each item before purchase. This applies to any mechanism where the user pays (via IAP or in-game currency purchased with IAP) and receives a randomized reward -- loot boxes, card packs, character summons, mystery boxes, prize wheels, and similar mechanics. The odds must be disclosed before the purchase, not after. The rejection typically hits games, but it can also affect non-game apps with mystery/surprise box commerce models. Apple does not prescribe the exact format for disclosing odds, but they must be accessible, understandable, and shown before the transaction.

Resolution Guide

01

Identify all randomized purchase mechanics

Audit your app for any feature where a user pays and receives a random result: loot boxes, card packs, gacha pulls, mystery crates, prize wheels, etc.

02

Calculate and document the odds

For each randomized mechanic, determine the exact probability of receiving each reward tier or item category. Work with your game design team to get the actual drop tables.

03

Display odds before purchase

Add a clearly visible disclosure of drop rates that users can access before completing the purchase. Common approaches:

  • An info button or 'View Rates' link next to the purchase button
  • - A dedicated 'Drop Rates' screen accessible from the shop

    - Odds displayed directly on the loot box purchase UI

    04

    Format odds clearly

    Use percentages that are easy to understand. Group by rarity tier if applicable (e.g., 'Common: 60%, Rare: 25%, Epic: 10%, Legendary: 5%').

    05

    Keep odds accurate and updated

    If you change drop rates in a server update, the displayed odds must be updated simultaneously. Discrepancies between displayed and actual rates are a serious compliance issue.

    Prevention

  • Build odds disclosure into the loot box UI from initial design
  • Maintain a single source of truth for drop rates that feeds both the game logic and the disclosure UI
  • Consider regulatory requirements beyond Apple (China, Belgium, Netherlands have additional loot box laws)
  • Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 3.1.1 - In-App Purchase: Loot Boxes Without Disc
    Guideline 3.1.1 - Business - Payments - In-App Purchase We noticed that your app offers randomized virtual items for purchase but does not disclose the odds of receiving each type of item to the user prior to purchase. Apps offering loot boxes, gacha mechanics, or other mechanisms that provide randomized virtual items for purchase must disclose the odds of receiving each type of item to the user prior to purchase. Next Steps: Please revise your app to clearly disclose the probability of receiving each type of item from randomized purchases before the user completes the transaction.

    Before & After

    Before — Rejected

    Shop screen shows 'Mystery Chest - 100 Gems' with a 'Buy' button and no indication of what the chest contains or the odds of each reward

    After — Approved

    Shop screen shows 'Mystery Chest - 100 Gems' with an 'i' info button that opens a panel displaying: 'Common Item: 60%, Rare Item: 25%, Epic Item: 10%, Legendary Item: 5%'

    What changed: Drop rates must be visible and accessible before the user commits to the purchase.

    Community Solutions · 0

    Sign in to share your solution.

    More Guideline 3 (Business) rejections

    View all Guideline 3 rejections