# Expo EAS Update Pricing: What Growth Actually Costs

> Calculate Expo EAS Update costs as your app grows. Compare MAU and bandwidth charges with Bundle Drop’s unlimited MAU plans.

Canonical: https://bundledrop.app/resources/expo-eas-update-pricing

Published: 2026-11-07

Updated: 2026-11-07

Category: Comparisons

Topics: Expo, OTA Operations, Delivery

At one million updated installations, Expo Update's published Production subscription and graduated MAU charges total **$3,774 per month before bandwidth overages**. Smaller patches can reduce transferred bytes. They do not remove the charge for an installation that downloaded an update.

That is the pricing decision worth examining: whether your OTA subscription should grow with the number of installations receiving a release, even when the release is small.

This article is published by Bundle Drop. Prices were checked on **November 7, 2026**. It explains Expo Update pricing, formerly EAS Update, through one million updated installations; it is not a comparison of the entire Expo platform or a negotiated Enterprise quote.

## An active app user is not necessarily a billable updated user

Expo's [billing documentation](https://docs.expo.dev/billing/usage-based-pricing/) defines an updated user as a unique app installation that downloads at least one update during the billing period. That installation counts once even if it downloads several releases. An installation that opens the app without downloading an update does not enter this count.

An app with a million active installations therefore does not automatically incur a million updated-user charges. But when a release reaches all million during that period, it does. Model the audience that actually receives updates, rather than copying your analytics MAU count into a spreadsheet without checking the definition.

## The subscription is the start of the calculation

Expo's [current public pricing](https://expo.dev/pricing) includes these allowances:

| Plan | Monthly subscription | Included updated installations | Base update transfer |
| --- | --- | --- | --- |
| Free | $0 | 1,000 | 100 GiB |
| Starter | $19 | 3,000 | 100 GiB |
| Production | $199 | 50,000 | 1 TiB |
| Enterprise | Custom | Contract-dependent | See current offer |

Free has no updated-user overage pricing. Paid self-service plans add graduated charges beyond their included users. Through one million installations, the marginal rates are $0.005 up to 200,000, $0.00375 from 200,001 to 500,000, and $0.0034 from 500,001 to 1,000,000. Each rate applies only to its band, rather than retroactively to every installation.

Expo subscriptions include other services and build credits. A team already paying for Production should separate its existing subscription from the incremental cost of Update usage. Moving OTA delivery does not automatically remove a subscription still needed for builds or other services.

## See the audience meter separately from transfer

The calculator chooses the lowest public Free, Starter, or Production subtotal for the entered Update scenario. Bundle Drop automatically uses the lowest current plan that fits the project and retained-storage sliders, with **monthly billing** on both sides. It does not quietly compare an annual Bundle Drop discount against a monthly Expo bill. This compares Update costs only, so a lower-priced Expo plan may not include other features your team needs.

The transfer control is the total MiB downloaded per updated installation across the entire month. For example, four downloads averaging 5 MiB produce 20 MiB. Use measured compressed transfers, including patch and asset-reuse behavior; source bundle size is not the same as network traffic.

## Large audiences can reach thousands without a bandwidth overage

Assume every listed installation downloads an update and averages 20 MiB of total update transfer during the period:

| Updated installations | Production subscription | Additional updated-user charges | Transfer overage | Modeled monthly subtotal |
| --- | --- | --- | --- | --- |
| 200,000 | $199 | $750 | $0 | **$949** |
| 500,000 | $199 | $1,875 | $0 | **$2,074** |
| 1,000,000 | $199 | $3,575 | $0 | **$3,774** |

These are public self-service examples, not claims about every customer's invoice. Expo advertises Enterprise volume pricing and publishes an Enterprise MAU schedule; an actual contract can change the comparison. Ask for that offer before treating the self-service figure as your inevitable cost.

## The 40 MiB allowance changes the bandwidth calculation

For each updated installation above a paid plan's included MAU allowance, Expo includes another **40 MiB** of transfer. Chargeable transfer is what remains after subtracting both the plan's base allowance and this additional allocation. The excess costs $0.10/GiB. [Expo's bandwidth guide](https://docs.expo.dev/eas-update/estimate-bandwidth/) explains the units and the role of compressed assets.

At one million updated installations on Production, the allowance is 1,024 GiB plus 950,000 × 40 MiB: **38,133.375 GiB**. At 20 MiB per installation, total transfer is 19,531.25 GiB, so the example has no transfer overage. At 100 MiB, transfer becomes 97,656.25 GiB and adds approximately **$5,952.29**, bringing the modeled Production subtotal to **$9,726.29**. The calculator can select Starter instead: at that transfer level, its larger allocation from additional paid users produces a slightly lower modeled total of **$9,690.09**. Plan labels alone do not determine the cheapest Update subtotal.

Expo supports [bundle diffing](https://docs.expo.dev/eas-update/bundle-diffing/) and asset reuse. Those optimizations deserve credit: use their actual effect in the transfer input. Neither means an updated installation stops counting toward the audience meter.

## Bundle Drop removes the MAU meter, not every capacity decision

Every Bundle Drop plan includes unlimited monthly active users. Capacity follows projects, teammates, channels, and shared OTA storage. The calculator assumes one organization, one member, and two channels, then finds the lowest monthly plan for your projects and retained storage. Free stays free while that capacity fits, even as updated installations grow; increasing the updated-install slider does not add a Bundle Drop MAU charge.

That is a different commercial model, not a claim that the products have identical entitlements or that infrastructure has no limits. Choose enough capacity for your retained releases and organization. Transfer and retained storage are different quantities: delivering the same bundle repeatedly does not mean storing a new copy for each installation. [Why we do not price by MAU](/resources/why-we-dont-price-by-monthly-active-users) explains the decision; [pricing](/pricing) lists current limits.

You can keep Expo development and EAS Build while using Bundle Drop for OTA delivery. Switching the runtime update layer still requires reviewed integration and a new native release; follow the [Expo integration guide](/docs/expo). Existing binaries do not switch providers through a JavaScript upload alone.

Budget for updated installations, actual transfer, retained storage, and services you already buy. If Expo's integrated workflow justifies the resulting bill, keep it. If audience growth is the part making OTA expensive, compare a capacity-priced update service before assuming that meter is unavoidable.

## Common questions

### Does EAS Update charge for every active app user?

EAS Update counts unique installations that download at least one update during the billing period. An active installation that downloads no update does not count toward that update usage meter. Multiple updates on one installation count once for MAU, while their transferred bytes still contribute to bandwidth usage.

### Can smaller patches eliminate EAS Update MAU charges?

Smaller downloads can reduce transferred bytes. They do not remove a unique installation from the updated-installation meter when it downloads an update. Model MAU charges and bandwidth separately.

### Does unlimited MAU mean every Bundle Drop capacity is unlimited?

No. Every Bundle Drop plan includes unlimited monthly active users, while projects, teammates, channels, and shared OTA storage depend on the selected plan. Choose the capacity your team needs; audience growth alone does not move you to another MAU tier.
