# Guideline 3.1.5 - Crypto: On-Device Cryptocurrency Mining

**Guideline:** 3.1.5 · **Store:** Apple App Store · **Severity:** high · **Fix difficulty:** medium · **Typical turnaround:** 2-8 hours

Canonical URL: https://appstorereject.com/rejections/apple/3/guideline-315-crypto-on-device-cryptocurrency-mining

## Description

Apple is rejecting your app because it performs cryptocurrency mining on the device. Apple explicitly prohibits apps from mining cryptocurrency using the device's hardware (CPU, GPU, battery, etc.) because it degrades device performance, drains battery, and generates excessive heat -- all of which harm the user experience. This ban is absolute and covers any form of on-device mining: proof-of-work mining, background mining, mining that runs only while charging, mining with user consent, and mining as a reward mechanism. Even if the user explicitly opts in and the mining is transparent, it is not permitted on iOS. Apps may facilitate cloud mining (where the mining happens on external servers, not the device) or display mining dashboards and statistics for mining operations running elsewhere. The prohibition is specifically about using the iOS device's own hardware for mining operations.

## Common variations

- App mines cryptocurrency using device CPU or GPU
- App performs background cryptocurrency mining
- App uses device hardware for proof-of-work mining
- Mining functionality detected in app regardless of user consent

## Example rejection email

```
Guideline 3.1.5(b) - Business - Payments - Cryptocurrencies

We found that your app mines cryptocurrency on the device. Specifically, the app uses the device's CPU to mine cryptocurrency in the background.

Apps may not mine for cryptocurrencies unless the processing is performed off device (e.g., cloud-based mining).

Next Steps:
Please remove all on-device cryptocurrency mining functionality from the app.
```

## Resolution steps

## Quick Assessment
- **Risk level:** High
- **Resolution path:** Fix & Resubmit (remove mining code)
- **Typical turnaround:** 2-8 hours

## The Fix

1. **Remove all on-device mining code** -- Delete any code that performs hash computations, proof-of-work calculations, or other mining operations using the device's processor.

2. **Remove mining libraries** -- If you imported a mining library or SDK (e.g., CryptoNight, XMRig bindings), remove it from your project entirely.

3. **Move mining to cloud** -- If mining is core to your product, move it to server-side infrastructure. Users can monitor and manage their cloud mining operations from the app without the device doing any computation.

4. **Reframe the app** -- If the app was primarily a mining app, consider pivoting to a mining pool dashboard, portfolio tracker, or cloud mining management interface.

5. **Audit for residual code** -- Apple may detect mining-related code even if it is not actively used. Remove all traces, including commented-out mining code and unused mining dependencies.

## Prevention
- Never implement on-device mining on iOS, regardless of user consent or device state
- If your product involves mining, architect it as a cloud service with an iOS dashboard from the start

## Before / after examples

**Before:** App includes a 'Start Mining' button that initiates CPU-based cryptocurrency mining on the user's iPhone, with a real-time hashrate display
**After:** App connects to the user's cloud mining account and displays a dashboard of hashrate, earnings, and pool statistics for their remote mining operations
**Why it works:** On-device mining is prohibited. Cloud mining dashboards are permitted as long as no mining computation occurs on the iOS device.

## Common questions

**How long does this typically take to fix?**

Typical turnaround is 2-8 hours (difficulty: medium). After resubmission, most re-reviews complete within 24-48 hours.

---
*Machine-readable source: https://api.appstorereject.com/api/rejections/detail?slug=guideline-315-crypto-on-device-cryptocurrency-mining*