> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.


# Expo pricing vs Cresc for React Native OTA

Short answer: **do not compare Expo MAUs directly with Cresc daily queries**. They are different meters. Compare the monthly scenario instead: base price, included capacity, and whether extra usage can create a surprise bill after that capacity is used.

> Pricing snapshot checked against Expo official pricing and billing docs on **April 17, 2026**.

## What is being compared?

| Service         | Meter                               | What counts                                                                                                                |
| --------------- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Expo EAS Update | Update MAUs + global edge bandwidth | A unique installation counts as an update MAU only if it downloads at least one update during the billing period.          |
| Cresc           | Daily update checks                 | A client request counts when the app asks Cresc whether an update is available, regardless of whether a new update exists. |

That means the two products do not share one universal quota unit. A readable comparison has to use monthly scenarios, not raw tier names.

## Expo pricing snapshot

| Plan            | Monthly price   | Included EAS Update capacity                                     |
| --------------- | --------------- | ---------------------------------------------------------------- |
| Expo Free       | $0/mo           | 1K update MAUs                                                   |
| Expo Starter    | $19/mo + usage  | 3K update MAUs, 100 GiB bandwidth                                |
| Expo Production | $199/mo + usage | 50K update MAUs, 1 TiB bandwidth                                 |
| Expo Enterprise | Custom          | Public pricing page does not publish a comparable monthly number |

Expo's official usage-based pricing for EAS Update adds:

- `$0.005` per additional updated user
- `$0.10` per additional GiB of global edge bandwidth

## Cresc pricing snapshot

| Plan           | Monthly price | Included delivery scale |
| -------------- | ------------- | ----------------------- |
| Cresc Standard | $19/mo        | 10K daily queries       |
| Cresc Premium  | $39/mo        | 100K daily queries      |
| Cresc Pro      | $99/mo        | 1M daily queries        |
| Cresc Max      | $399/mo       | 10M daily queries       |
| Cresc Ultra    | $1,699/mo     | 100M daily queries      |

## Scenario comparison

| Scenario              | Expo                                                                                                | Cresc                                                                                                      |
| --------------------- | --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| First paid tier       | Starter is `$19/mo`, then usage-based billing after 3K update MAUs and 100 GiB.                     | Standard is `$19/mo` with 10K update checks per day, CDN delivery included, and no automatic overage bill. |
| Production traffic    | Production is `$199/mo`, then usage-based billing after 50K update MAUs and 1 TiB.                  | Pro is `$99/mo` (half the price!) with 1M update checks per day and included CDN bandwidth.                |
| Real-world 100K users | Expo Production ($199) + 50K overage MAUs ($250) + bandwidth overage (~~$50+) = \*\*~~$500+/mo\*\*. | Pro is **$99/mo flat** (or Premium at $39/mo), delivering **80%+ savings** with zero surprise bills.       |
| High volume           | Enterprise pricing is custom with high sales minimums.                                              | Max and Ultra are fixed public tiers at `$399/mo` and `$1,699/mo`, so capacity planning stays explicit.    |

The useful takeaway is predictability and massive savings. Cresc gives fixed public tiers and does not turn a traffic spike into an automatic overage invoice. Expo can add usage charges when either update MAUs ($0.005/user) or edge bandwidth ($0.10/GiB) cross the included limit.

When a Cresc tier is no longer enough, upgrading does not make the buyer forfeit the unused portion of the current plan. The higher tier takes effect after payment, the old subscription is cancelled, and the current plan's remaining value is converted into extra days on the new tier.

## Migrating from CodePush? Avoid the Expo pricing trap

Teams moving off discontinued Microsoft CodePush often evaluate Expo EAS Update as the default successor. However, many engineering teams encounter severe bill shock: what used to be zero-cost on CodePush turns into recurring per-user monthly bills ($0.005/user) and edge bandwidth bills ($0.10/GiB) that compound as the app grows.

Cresc provides the true spiritual and operational successor to CodePush:

- **Transparent flat pricing**: starting at $19/mo (Standard) or $99/mo (Pro covering 1M checks/day), with zero per-user overage charges.
- **Micro delta updates (3.4 KB for a one-line fix)**: Hermes-optimized differential patches cut data transfer by 90%+ compared to Expo's full multi-megabyte bundles.
- **Global CDN included**: Worldwide edge delivery is included in the plan price.

## Expo's own usage example

Expo's official billing documentation gives this example for the Starter plan:

- 20 updates
- 5 MiB each
- 10,000 updated users

Their documented **extra usage** comes to **$95.31** for that month. Adding the Starter subscription itself means the all-in monthly cost would be **$114.31**. That total is an inference from the official example plus the public Starter plan fee. On Cresc, that same workload is handled smoothly on the **$19/mo Standard** or **$39/mo Premium** tier with vastly smaller delta payloads (3.4 KB to \~98 KB each in our [reproducible Hermes benchmark](https://github.com/sunnylqm/hbc-diff-benchmark), instead of 5 MiB).

## How Cresc scales

Cresc is not metered as a continuously discounted usage product. Plans only move upward. Start with the tier that covers current release traffic. When a plan ceiling is no longer enough, upgrade to the next fixed tier with a larger daily update-check allowance:

| Cresc plan | Monthly price | Included delivery scale |
| ---------- | ------------- | ----------------------- |
| Standard   | $19/mo        | 10K daily queries       |
| Premium    | $39/mo        | 100K daily queries      |
| Pro        | $99/mo        | 1M daily queries        |
| Max        | $399/mo       | 10M daily queries       |
| Ultra      | $1,699/mo     | 100M daily queries      |

Upgrading changes the allowance, not the app integration or release flow. The unused value is preserved with this conversion:

```text
extraDays = floor(currentRemainingDays * currentPlanMonthlyPrice / newPlanMonthlyPrice)
newExpiry = now + 30 days + extraDays
```

That is the economic story worth emphasizing: **fixed public ceilings, intentional upgrades, massive cost savings, and preserved unused value instead of a usage bill that can grow across multiple meters**.

## Which pricing model is easier to budget?

- Choose **Expo** if you are already locked into Expo services and are comfortable budgeting around fluctuating update MAU plus bandwidth overages.
- Choose **Cresc** if you want to slash OTA costs by up to 80%+, keep OTA pricing as a fixed predictable infrastructure cost, and eliminate surprise overage bills.

## Related pages

- [Expo Updates vs Cresc](/expo-updates-vs-cresc.md)
- [CodePush & Expo Updates alternative](/codepush-alternative.md)
- [CodePush & Expo Updates migration checklist](/codepush-migration-checklist.md)
- [Pricing](/pricing.md)


### Contact Us

- [Email hi@cresc.dev](mailto:hi@cresc.dev)
- [GitHub Discussions](https://github.com/reactnativecn/react-native-update/discussions)

### Terms & Policies

- [User Agreement](https://cresc.dev/policy/)
- [Privacy Policy](https://cresc.dev/policy/#privacy)

### Help & Support

- [FAQ](/docs/faq)
- [CodePush & Expo Updates Alternative](/codepush-alternative)
- [CodePush & Expo Migration](/codepush-migration-checklist)
- [CodePush API Migration](/codepush-api-migration)
- [Expo Updates vs Cresc](/expo-updates-vs-cresc)
- [GitHub Issues](https://github.com/reactnativecn/react-native-update/issues)

### Links

- [React Native OTA Guide](/react-native-ota-updates)
- [Expo Pricing vs Cresc](/expo-pricing-vs-cresc)
- [llms.txt](/llms.txt)
- [llms-full.txt](/llms-full.txt)
- [React Native](https://reactnative.dev/)
- [ReactJS](https://react.dev/)

© 2026 CHARMLOT PTE. LTD.

