Guideline 3.1.1
Guideline 3.1.1 - In-App Purchase: Loot Boxes Without Disclosed Odds
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
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.
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.
Display odds before purchase
Add a clearly visible disclosure of drop rates that users can access before completing the purchase. Common approaches:
- A dedicated 'Drop Rates' screen accessible from the shop
- Odds displayed directly on the loot box purchase UI
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%').
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
Example Rejection Email
Before & After
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
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
- Guideline 3.0 - Business: Irrationally High Pricing
- Guideline 3.1.1 - In-App Purchase: Expiring Virtual Currency
- Guideline 3.1.1 - In-App Purchase: External Link for Digital Content in Reader App Without Entitlement
- Guideline 3.1.1 - In-App Purchase: License Key or Serial Number Unlocks
- Guideline 3.1.1 - In-App Purchase: Missing Restore Purchases Button
- Guideline 3.1.1 - In-App Purchase: NFT Ownership Unlocking App Features