Expo EAS Update Pricing: Cost, Bandwidth & What It Really Costs at Scale

EAS Update can look inexpensive when you're starting out. The included plan allowances can cover smaller apps, and the economics become more important as your user base and release frequency grow. Users are downloading updates. Releases add up. And suddenly the billing gets confusing—MAUs, bandwidth overages, and usage-based charges.

This page explains how Expo bills for EAS Update, how update traffic affects the economics as your app grows, and what the numbers look like at different scales. The goal is simple: understand the billing model before release frequency and user count turn OTA delivery into a meaningful line item.

How Expo EAS Update Pricing Works

Expo EAS Update pricing is based on monthly active users (MAUs) together with included bandwidth and storage. Paid plans can incur additional usage-based charges when included allowances are exceeded.

A MAU is an installation that downloads at least one OTA update during the billing period. Actual bandwidth usage depends on factors such as update size, caching, compression, assets, and available differential updates.

Expo EAS Update plan limits

  • Free ($0/mo): 1,000 MAUs, 100 GiB global edge bandwidth, 20 GiB storage
  • Starter ($19/mo + usage): 3,000 MAUs, 100 GiB bandwidth, 20 GiB storage — then usage-based pricing
  • Production ($199/mo + usage): 50,000 MAUs, 1 TiB bandwidth, 1 TiB storage — then usage-based pricing
  • Enterprise (custom pricing): 1,000,000+ MAUs, 40 TiB bandwidth, 10 TiB storage — then usage-based pricing

Overage rates (Starter and above): $0.10 per GiB of global edge bandwidth, $0.05 per GiB of storage. MAU overages are usage-based. Source: expo.dev/pricing (verified August 2026).

Once usage moves beyond the included plan allowances, additional MAUs, bandwidth, or storage can contribute to usage-based charges. Additional MAUs also increase the amount of included bandwidth available to the account, so the exact bill depends on both MAU volume and the update traffic those installations generate.

What Are We Actually Calculating?

There are two different questions when estimating OTA cost at scale:

  1. What would bandwidth look like if the full update artifact had to be delivered to everyone?
  2. How much could that transfer fall when caching, asset optimization, and differential patches reduce what each device downloads?

The scenarios below intentionally start with full-bundle delivery so the bandwidth exposure is easy to understand. They are not predictions of an EAS bill.

Real-World Cost Math

Let's look at three scenarios. These are simplified full-bundle scenarios designed to show how bandwidth exposure can grow as an app scales. Actual EAS Update transfer can be lower because of caching, compression, asset selection, and available differential patches. For simplicity, these examples assume all listed users receive the update.

Small App

  • • 10 MB bundle
  • • 10,000 users
  • • 4 releases/month

Bandwidth per release: 10,000 users × 10 MB = 100 GB

Monthly bandwidth: 100 GB × 4 releases = 400 GB

In a simplified full-bundle scenario, that represents 400 GB of transfer before accounting for compression, cached assets, asset selection, or differential patches. That is roughly 40% of the Production plan's included 1 TiB bandwidth.

Growing App

  • • 12 MB bundle
  • • 100,000 users
  • • 4 releases/month

Bandwidth per release: 100,000 users × 12 MB = 1.2 TB

Monthly bandwidth: 1.2 TB × 4 releases = 4.8 TB

That full-bundle scenario is well above the Production plan's base 1 TiB bandwidth allocation. However, EAS also adds 40 MiB of included bandwidth for each MAU above the plan's included MAU allocation, so the actual usage calculation is more nuanced than comparing 4.8 TB directly against 1 TiB. This example is intended to show bandwidth exposure, not predict the exact EAS overage bill.

Large App

  • • 15 MB bundle
  • • 500,000 users
  • • 6 releases/month

Bandwidth per release: 500,000 users × 15 MB = 7.5 TB

Monthly bandwidth: 7.5 TB × 6 releases = 45 TB

At this scale, bandwidth becomes a major part of the usage calculation. The actual bill depends on the plan, MAU allocation, included bandwidth, update size, cached assets, and whether differential patches are available. With full-bundle delivery, bandwidth scales directly with users × bundle size × release frequency. Differential delivery can materially reduce that transfer volume when patches are available.

The 45 TB figure should not be read as a prediction of an EAS bill. It represents a full-bundle transfer scenario. Actual EAS traffic can be substantially lower when cached assets, compression, asset selection, and bundle diffs reduce what each device downloads.

What Can Increase OTA Costs?

Release Frequency

More frequent releases can increase monthly transfer volume.

Update Size

Larger bundles and changed assets can increase the amount downloaded.

MAUs

More users receiving updates increases potential transfer volume and can affect usage-based pricing.

Hotfixes

Frequent hotfixes can increase release frequency. Differential delivery can reduce the amount transferred when an appropriate patch is available.

Expo EAS vs Stallion: Plan & Cost Comparison

Scale / PlanExpo EAS UpdateReact Native Stallion
Free tier1,000 MAUs + 100 GiB global edge bandwidth10,000 MAUs + 50 GB download bandwidth
Entry paid plan$19/mo Starter → 3,000 MAUs + 100 GiB bandwidth$51/mo Pro → 100,000 MAUs + 2 TB download bandwidth
Around 50K MAU$199/mo Production → 50,000 MAUs + 1 TiB bandwidthCovered by the Pro plan
Around 100K MAUProduction plan + usage-based MAUsPro plan includes 100,000 MAUs
1M+ MAUEnterprise → custom pricing; 1,000,000+ MAUs + 40 TiB bandwidthEnterprise → Custom pricing; 1,000,000+ MAUs + 30 TB download bandwidth

Expo publishes its bandwidth allowances in GiB/TiB; Stallion publishes its in GB/TB. Figures are shown as officially published rather than converted, so compare plan structure rather than treating the units as directly equivalent. Verify current figures on each provider's pricing page before making a decision.

The difference is especially noticeable in the lower tiers: Stallion's Free plan includes 10K MAUs versus 1K on Expo Free, while Stallion Pro includes 100K MAUs and 2 TB of download bandwidth at its published list price.

As MAUs and release frequency increase, bandwidth and usage-based pricing become increasingly important when evaluating an OTA platform. Teams should estimate their expected update traffic before choosing a plan.

Frequently Asked Questions

Does Expo charge for every update?

EAS Update is not billed as a flat fee for each update. Usage depends on plan allowances and usage-based metrics such as MAUs, global edge bandwidth, and storage. The amount of update data users download contributes to bandwidth usage.

What counts as a MAU?

A monthly active user is a unique app installation that downloads at least one update during the billing period. If the same installation downloads multiple updates during that period, it still counts as one MAU, although the downloads contribute to bandwidth usage.

Why does bandwidth grow so fast?

Bandwidth grows with the amount of update data downloaded across your users and releases. Larger update artifacts and frequent releases can increase usage, while caching, compression, asset selection, and bundle diffing can reduce the amount transferred.

Can Expo apps use another OTA system?

Yes. Expo apps can use other OTA systems, provided the integration is configured correctly. It works with both managed and bare React Native workflows. Teams may evaluate alternatives when they need different patching, infrastructure, release-management, hosting, or cost-control options.

Are patch updates allowed by Apple and Google?

OTA updates can deliver JavaScript and other supported non-native assets without an app-store release. Changes to native code or other app-store-controlled components still require the appropriate native release. Patch updates follow the same rules as full-bundle updates—they just move less data.

Ready to Compare Your OTA Costs?

Estimate your MAUs, release frequency, and expected update traffic, then see what Stallion includes at each scale.

View React Native Stallion Pricing →

Found this useful?

No App Store review needed. Just a ⭐ on GitHub.

⭐ Star on GitHub

Related Resources